https://wiki.archlinux.org/api.php?action=feedcontributions&user=Xtraroot&feedformat=atomArchWiki - User contributions [en]2024-03-29T10:25:27ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=VMware&diff=292245VMware2014-01-10T20:01:53Z<p>Xtraroot: /* 1) Using Git */ .git is not included in the filename from the repo specified</p>
<hr />
<div>[[Category:Virtualization]]<br />
[[it:VMware]]<br />
[[ru:VMware]]<br />
[[uk:VMware]]<br />
[[zh-CN:VMware]]<br />
{{Related articles start}}<br />
{{Related|Installing Arch Linux in VMware}}<br />
{{Related|VirtualBox}}<br />
{{Related|KVM}}<br />
{{Related|QEMU}}<br />
{{Related|Xen}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[Installing Arch Linux in VMware]].<br />
{{Note|This article supports '''only''' the latest major VMware versions, meaning VMware Workstation 10 and VMware Player (Plus) 6.}}<br />
<br />
== Installation ==<br />
<br />
{{Note|VMware Workstation/Player (Plus) will '''not''' be manageable with pacman as the files are not installed with it.}}<br />
<br />
'''1.''' Download the latest [http://www.vmware.com/products/workstation VMware Workstation] or [https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0 VMware Player (Plus)] (you may also try the [https://communities.vmware.com/community/vmtn/beta testing (Beta/RC) versions]).<br />
<br />
'''2.''' Start the installation ({{Ic|--console}} uses terminal instead of the GUI):<br />
$ chmod +x VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
# ./VMware-''edition''-''version''.''release''.''architecture''.bundle --console<br />
<br />
{{Note|To ignore fatal errors use {{ic|--ignore-errors}} or {{ic|-I}}.}}<br />
<br />
'''3.''' Read and accept the main application and the [https://www.vmware.com/support/developer/ovf/ OVF Tool component] EULAs to continue.<br />
<br />
'''4.''' (optional) Enter license key.<br />
<br />
'''5.''' During the install you will get an error about {{ic|"No rc*.d style init script directories"}} being given to the installer. This can, however, be safely ignored since Arch now uses [[systemd]].<br />
<br />
== Configuration ==<br />
<br />
{{Tip|There is also a package called {{AUR|vmware-patch}} in the [[Arch User Repository|AUR]] with the intention of trying to automate this section (it also supports older VMware versions).}}<br />
<br />
{{Note|Ensure you have installed the correct headers required for building the modules ({{Pkg|linux}} from {{ic|[core]}} uses {{Pkg|linux-headers}}).}}<br />
<br />
=== VMware module patches and installation ===<br />
<br />
VMware Workstation 10.0.1 and Player (Plus) 6.0.1 support kernels up to 3.12.<br />
<br />
=== Systemd service ===<br />
<br />
'''6.''' (Optional) Instead of using {{ic|<nowiki># /etc/init.d/vmware {start|stop|status|restart}</nowiki>}} directly to manage the services you may also create a {{ic|.service}} file (or [http://communities.vmware.com/docs/DOC-20855 files]):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
TimeoutSec=0<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
To start the [[daemon]] on boot, enable the [[systemd]] service {{ic|vmware}}.<br />
<br />
== Launching the application ==<br />
<br />
'''7.''' Now, open your VMware Workstation ({{Ic|vmware}} in the console) or VMware Player (Plus) ({{Ic|vmplayer}} in the console) to configure & use!<br />
<br />
{{Tip|To (re)build the modules from terminal, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation License Key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above doesn't work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual machine name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual machine name''/<br />
<br />
then adding the name to the {{ic|''Virtual machine name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual machine name''/''Virtual machine name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Copy-On-Write (CoW) ===<br />
<br />
CoW comes with some advantages, but can negatively affect performance with large files that have small random writes (e.g. database files and virtual machine images):<br />
<br />
$ chattr +C ~/vmware/''Virtual machine name''/''Virtual machine name''.vmx<br />
<br />
{{Note|1=From the [http://www.linuxhowtos.org/manpages/1/chattr.htm?print=-51 chattr man page]: ''"For btrfs, the {{ic|C}} flag should be set only on new or empty files. If set on a file which already has data blocks, it is undefined when the blocks assigned to the file will be fully stable. If set on a directory, only new files will be affected."''}}<br />
<br />
=== Using DKMS to manage the modules ===<br />
<br />
The Dynamic Kernel Module Support (DKMS) can be used to manage Workstation modules and to void from re-running {{ic|vmware-modconfig}} each time the kernel changes. The following example uses a custom {{ic|Makefile}} to compile and install the modules through {{ic|vmware-modconfig}}. Afterwards they are removed from the current kernel tree.<br />
<br />
==== Preparation ====<br />
<br />
First install {{Pkg|dkms}} from the [[official repositories]].<br />
<br />
Then create a source directory for the {{ic|Makefile}} and the {{ic|dkms.conf}}:<br />
# mkdir /usr/src/vmware-modules-9/<br />
<br />
==== Build configuration ====<br />
<br />
Fetch the files from Git or use the ones below.<br />
<br />
===== 1) Using Git =====<br />
<br />
$ cd /tmp<br />
$ git clone git://github.com/djod4556/dkms-workstation.git<br />
# cp /tmp/dkms-workstation/Makefile /tmp/dkms-workstation/dkms.conf /usr/src/vmware-modules-9/<br />
<br />
===== 2) Manual setup =====<br />
<br />
The {{ic|dkms.conf}} describes the module names and the compilation/installation procedure. {{ic|1=AUTOINSTALL="yes"}} tells the modules to be recompiled/installed automatically each time:<br />
<br />
{{hc|/usr/src/vmware-modules-9/dkms.conf|<br />
2=PACKAGE_NAME="vmware-modules"<br />
PACKAGE_VERSION="9"<br />
<br />
MAKE[0]="make all"<br />
CLEAN="make clean"<br />
<br />
BUILT_MODULE_NAME[0]="vmmon"<br />
BUILT_MODULE_LOCATION[0]="modules"<br />
<br />
BUILT_MODULE_NAME[1]="vmnet"<br />
BUILT_MODULE_LOCATION[1]="modules"<br />
<br />
BUILT_MODULE_NAME[2]="vmblock"<br />
BUILT_MODULE_LOCATION[2]="modules"<br />
<br />
BUILT_MODULE_NAME[3]="vmci"<br />
BUILT_MODULE_LOCATION[3]="modules"<br />
<br />
BUILT_MODULE_NAME[4]="vsock"<br />
BUILT_MODULE_LOCATION[4]="modules"<br />
<br />
DEST_MODULE_LOCATION[0]="/extra/vmware"<br />
DEST_MODULE_LOCATION[1]="/extra/vmware"<br />
DEST_MODULE_LOCATION[2]="/extra/vmware"<br />
DEST_MODULE_LOCATION[3]="/extra/vmware"<br />
DEST_MODULE_LOCATION[4]="/extra/vmware"<br />
<br />
AUTOINSTALL="yes"<br />
}}<br />
<br />
and now the {{ic|Makefile}}:<br />
<br />
{{hc|/usr/src/vmware-modules-9/Makefile|<br />
2=KERNEL := $(KERNELRELEASE)<br />
HEADERS := /usr/src/linux-$(KERNEL)/include<br />
GCC := $(shell vmware-modconfig --console --get-gcc)<br />
DEST := /lib/modules/$(KERNEL)/vmware<br />
<br />
TARGETS := vmmon vmnet vmblock vmci vsock<br />
<br />
LOCAL_MODULES := $(addsuffix .ko, $(TARGETS))<br />
<br />
all: $(LOCAL_MODULES)<br />
mkdir -p modules/<br />
mv *.ko modules/<br />
rm -rf $(DEST)<br />
depmod<br />
<br />
/usr/src/linux-$(KERNEL)/include/linux/version.h:<br />
ln -s /usr/src/linux-$(KERNEL)/include/generated/uapi/linux/version.h /usr/src/linux-$(KERNEL)/include/linux/<br />
<br />
%.ko: /usr/src/linux-$(KERNEL)/include/linux/version.h<br />
vmware-modconfig --console --build-mod -k $(KERNEL) $* $(GCC) $(HEADERS) vmware/<br />
cp -f $(DEST)/$*.ko .<br />
<br />
clean:<br />
rm -rf modules/<br />
<br />
<br />
}}<br />
<br />
==== Installation ====<br />
<br />
The modules can then be registered:<br />
<br />
# dkms -m vmware-modules -v 9 -k $(uname -r) add<br />
<br />
built:<br />
<br />
# dkms -m vmware-modules -v 9 -k $(uname -r) build<br />
<br />
and installed:<br />
<br />
# dkms -m vmware-modules -v 9 -k $(uname -r) install<br />
<br />
If everything went well, the modules will now be recompiled automatically the next time the kernel changes.<br />
<br />
== Troubleshooting ==<br />
<br />
=== vmci/vsock modules not loading automatically === <br />
<br />
This problem is caused by an issue in the {{ic|/etc/init.d/vmware}} script:<br />
<br />
Starting VMware services:<br />
Virtual machine monitor done<br />
Virtual machine communication interface failed<br />
VM communication interface socket family failed<br />
Blocking file system done<br />
Virtual ethernet done<br />
VMware Authentication Daemon done<br />
<br />
A workaround that was posted by "haagch" is that in vmwareStartVmci() you change vmwareLoadModule "$mod" to vmwareLoadModule "$vmci" and in vmwareStartVsock() vmwareLoadModule "$mod" to vmwareLoadModule "$vsock" and the same for vmwareStopVsock() and vmwareStopVmci().<br />
<br />
See also [https://bbs.archlinux.org/viewtopic.php?id=169472 this].<br />
<br />
=== Could not open /dev/vmmon: No such file or directory. ===<br />
<br />
The full error is:<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module `vmmon' is loaded.<br />
<br />
This means that at least the {{Ic|vmmon}} VMware service is not running. If using the [[systemd]] service from [[#Systemd_service|step 8.]] it should be restarted.<br />
<br />
=== Kernel headers for version 3.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
For some reason, some installations are missing the {{ic|vmware-USBArbitrator}} script. To readd it manually see [https://bbs.archlinux.org/viewtopic.php?pid=1003117#p1003117 this forum post].<br />
<br />
You may also manually extract the VMware bundle and copy the {{ic|vmware-USBArbitrator}} script from {{ic|''destination folder''/vmware-usbarbitrator/etc/init.d/}} to {{ic|/etc/init.d/}}:<br />
$ ./VMware-''edition''-''version''.''release''.''architecture''.bundle --extract /tmp/vmware-bundle<br />
# cp /tmp/vmware-bundle/vmware-usbarbitrator/etc/init.d/vmware-USBArbitrator /etc/init.d/<br />
<br />
=== The installer fails to start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and you should remove it (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation 10 provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect PAM configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
The following instructions from [http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html Bankim Bhavsar's wiki] show how to manually adjust the [[ALSA]] output device in a VMware {{ic|.vmx}} file. This might help with quality issues or with enabling proper HD audio output:<br />
<br />
# Suspend/Power off the VM.<br />
# Run {{ic|aplay -L}}<br />
# If you are interested in playing 5.1 surround sound from the guest, look for {{ic|1=surround51:CARD=vendor-name,DEV=num}}. If you are experiencing quality issues, look out for a line starting with front. <br />
# Open the {{ic|''Virtual machine name''.vmx}} config file of the VM in a text editor, located under {{ic|~/vmware/''Virtual machine name''/}}, and edit the {{ic|sound.fileName}} field, e.g.: {{ic|1=sound.fileName="surround51:CARD=Live,DEV=0"}}. Ensure that it also reads {{ic|1=sound.autodetect="FALSE"}}.<br />
# Resume/Power on the VM.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with:<br />
# vmware-installer -u ''vmware-product''<br />
<br />
Remember to also disable and remove the {{ic|vmware}} service:<br />
# systemctl disable vmware<br />
# rm /etc/systemd/system/vmware.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''[kernel name]''/misc/}} for any leftovers.</div>Xtraroothttps://wiki.archlinux.org/index.php?title=Oracle_Database&diff=292168Oracle Database2014-01-10T00:43:54Z<p>Xtraroot: /* Known issues */</p>
<hr />
<div>[[Category:Database management systems]]<br />
{{out of date|Installation: Packages and AUR reference too old, Dutch version is up-to-date}}<br />
[[nl:Oracle]]<br />
[[zh-CN:Oracle]]<br />
This document will help you install Oracle Database 11gR1 on Arch Linux. If you only want to connect to Oracle databases running elsewhere, see the instructions for installing the [[Oracle client]].<br />
<br />
By using the install method 2 you will be able to finalize the long installation process with only a few steps.<br />
<br />
== Install method 1 - manual ==<br />
<br />
This section will guide you through installing Oracle onto a fresh installation of archlinux. This is a general approach that has been tested with kernel 2.6.28.ARCH x86_64 and Oracle 11g R1 64-bit. '''''This should in principle work with other versions of Oracle'''''.<br />
<br />
=== Pre installation ===<br />
<br />
=== AUR helper ===<br />
<br />
To ease the installation process you may find useful to install an AUR helper:<br />
# pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
==== Required packages for Oracle database installation ====<br />
<br />
[[pacman|Install]] packages {{Pkg|unzip}} {{Pkg|sudo}} {{Grp|base-devel}} {{Pkg|icu}} {{Pkg|gawk}} {{Pkg|gdb}} {{Pkg|libelf}} {{Pkg|sysstat}} {{Pkg|libstdc++5}}.<br />
<br />
Install a [[Java]] runtime environment, like {{Pkg|jre7-openjdk}} and {{Pkg|jdk7-openjdk}}.<br />
<br />
From the [[AUR]], install {{AUR|ksh}} (other implementations like [[ksh|these]] may work), {{AUR|beecrypt}}, {{AUR|rpm}} and {{AUR|libaio}}.<br />
<br />
Oracle database 32-bit requires {{Pkg|unixodbc}}.<br />
<br />
Optional lib32 packages on x86_64 are: {{Pkg|lib32-libstdc++5}} {{Pkg|lib32-glibc}} {{Pkg|lib32-gcc-libs}}.<br />
<br />
Oracle database require 32-bit libaio and unixodbc on x86_64 but is not necessary under Arch linux.<br />
<br />
{{Note|The following step is not required in newer Arch Linux installation after the binary directories merge}}<br />
Some prerequisite symbolic links for Oracle Universal Installer.<br />
# ln -s /usr/bin/rpm /bin/rpm<br />
# ln -s /usr/bin/ksh /bin/ksh<br />
# ln -s /bin/awk /usr/bin/awk<br />
# ln -s /bin/tr /usr/bin/tr<br />
# ln -s /usr/bin/basename /bin/basename<br />
Arch x86_64:<br />
# ln -s /usr/lib /usr/lib64<br />
<br />
==== Configuration ====<br />
<br />
Create users and group for Oracle database:<br />
# groupadd oinstall<br />
# groupadd dba<br />
# useradd -m -g oinstall -G dba oracle<br />
<br />
Set password for the user oracle:<br />
# passwd oracle<br />
<br />
Optional: Add oracle to the {{ic|sshd_config}} file.<br />
# pacman -S openssh<br />
Add this line to {{ic|/etc/ssh/sshd_config}}:<br />
AllowUsers oracle<br />
<br />
Add oracle to {{ic|/etc/sudoers}}. This will give oracle super user privilege.<br />
oracle ALL=(ALL) ALL<br />
<br />
Add these lines to {{ic|/etc/sysctl.d/99-sysctl.conf}} ('''''Review Oracle documentation to adjust these settings''''').<br />
# oracle kernel settings<br />
fs.file-max = 6553600<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.ipv4.ip_local_port_range = 1024 65535<br />
net.core.rmem_default = 4194304<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.core.wmem_max = 262144<br />
<br />
Add these lines to {{ic|/etc/security/limits.conf}} ('''''Review Oracle documentation to adjust these settings''''')<br />
# oracle settings<br />
oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536<br />
<br />
Optional: You may reboot now if you want the changes to take effect.<br />
<br />
Create some directories for Oracle database. You can chose the directory path. Here is an example.<br />
mkdir -p /oracle/inventory /oracle/recovery /oracle/product/db<br />
<br />
Set permissions for the directories.<br />
chown -R oracle:dba /oracle<br />
chmod 777 /tmp<br />
<br />
Create or update oracle bashrc {{ic|/home/oracle/.bashrc}}. Here is an example of the oracle user settings.<br />
export ORACLE_BASE=/oracle<br />
export ORACLE_HOME=/oracle/product/db<br />
export ORACLE_SID=xdb<br />
export ORACLE_INVENTORY=/oracle/inventory<br />
export ORACLE_BASE ORACLE_SID ORACLE_HOME<br />
export PATH=$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH<br />
export EDITOR=nano<br />
export VISUAL=nano<br />
<br />
=== Graphical installation ===<br />
<br />
==== Installing Oracle database software ====<br />
<br />
Download the Oracle database from here:<br />
http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
Unzip the Oracle database.<br />
<br />
Arch i686:<br />
unzip linux_11gR1_database_1013.zip -d /media<br />
Arch x86_64:<br />
unzip linux.x64_11gR1_database_1013.zip -d /media<br />
<br />
Optional: Arch x86_64 (only required if the installer will not launch automatically ... at the time of this writing there was an issue with the packaged unzip in the 64-bit Oracle installer):<br />
cd /media/database/install<br />
mv unzip unzipx<br />
ln -s /usr/bin/unzip <br />
<br />
Change the permissions for the extracted Oracle database.<br />
chmod -R 777 /media/database<br />
chown -R oracle:oinstall /media/database<br />
<br />
Enter the directory where you extracted the Oracle database.<br />
<br />
In oder to run oracle installation script you need to export the X display as a normal user:<br />
DISPLAY=:0.0; export DISPLAY; xhost +<br />
<br />
Login as the user oracle and export the X display:<br />
su oracle<br />
DISPLAY=:0.0; export DISPLAY<br />
<br />
Enter the database directory and run the Oracle Universal Installer as the user oracle.<br />
cd /media/database<br />
./runInstaller -ignoreSysPrereqs<br />
<br />
During the Graphical installation:<br />
# Click on "Next". <br />
# Choose "Enterprise Edition" Installation Type and click on "Next"<br />
# Oracle Base should be: /oracle. Don't change it, unless you know what you're doing. <br />
## Change the default "Name" to orarch or something else. <br />
## The predefined path in {{ic|/etc/rc.d/oracledb}} is "db", ie: /oracle/product/db. If you want to use a different path you'll have to change {{ic|/etc/rc.d/oracledb}}, so that the startup script can locate ORACLE_HOME directory.<br />
## After changing the defaults, click on "Next". <br />
# Since Oracle database requires certain distro requirement, you'll have to manually check them and then click on "Next".<br />
# Chose "Software Install Only" and click on "Next".<br />
# There is only one DBA group for oracle database. Click on "Next".<br />
# Install "Summary" shows what's going to be installed. Click on "Install".<br />
# The installation will take some time, especially the "Linking" part. Be patient! If you get an error message ignore it by clicking on "Continue".<br />
## At the end of the installation you'll have to open another terminal, and execute {{ic|/oracle/product/db/root.sh}} as root. '''Don't click on "OK" yet'''.<br />
## When running root.sh, you'll be offered to use /usr/local/bin as the full pathname. Press the "Enter" key here.<br />
## Now you can click on "OK"<br />
# Installation is finished, click on "Exit" and "Yes", you really want to exit.<br />
<br />
=== Oracle Enterprise Manager installation (optional) ===<br />
<br />
This section describes how to install the web based OEM available in 10g+. <br />
<br />
''Depending on your settings the OUI may have already installed this''.<br />
<br />
Login or su to oracle, then run the following commands (answering the prompts approriately). '''''This may take a while'''''.<br />
cd ${ORACLE_HOME}/bin<br />
./emca -repos create<br />
./emca -config dbcontrol db<br />
<br />
Test this out by navigating to the enterprise manager (adjust the servername (localhost) apporpriately). <br />
https://localhost:1158/em/console<br />
<br />
You can control OEM with the following commands.<br />
emctl status dbconsole<br />
emctl stop dbconsole<br />
emctl start dbconsole<br />
<br />
== Install method 2 - AUR ==<br />
<br />
=== Installation ===<br />
<br />
{{Note| This installation method creates a database automatically. The Oracle database will therefore be ready to be used after the installation.}}<br />
<br />
'''Step 1.'''<br />
Download the Arch Linux package {{AUR|oracle}} from AUR.<br />
Download the Oracle database 11gR1: http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
'''Step 2.'''<br />
Extract the Arch Linux package into a directory. Copy the Oracle database 11gR1 into that directory as well.<br />
<br />
INFO: The default install configuration in {{ic| ee.rsp.patch}} is:<br />
ORACLE_BASE="/home/oracle/app/oracle"<br />
ORACLE_HOME="/home/oracle/app/oracle/product/11.1.0/orarch"<br />
ORACLE_HOME_NAME="orarch"<br />
s_globalDBName="archlinux"<br />
s_dbSid="archlinux"<br />
s_superAdminSamePasswd="orarchdbadmin"<br />
s_superAdminSamePasswdAgain="orarchdbadmin"<br />
<br />
Optional: You can either change the default password now or later after the installation. If you change the ee.rsp.patch file, you need to update the md5sums in the PKGBUILD file. To obtain the md5sum, run (makepkg -g) or:<br />
md5sum ee.rsp.patch <br />
<br />
Create the Oracle database package by using makepkg:<br />
makepkg -s<br />
<br />
'''Step 3.'''<br />
Install the package that makepkg has created by using pacman. You may get an error stating "/bin/ksh already exists", just remove that file and pacman will continue.<br />
<br />
Pacman will now install the Oracle database by executing Oracle's own installation script(./runInstaller -silent -ignoreSysPrereqs). <br />
<br />
The installation will take som time, please be patient. Do not exit terminal during database installation, especially when the installation script is executing configuration assistants:<br />
.... <br />
Starting to execute configuration assistants<br />
Configuration assistant "Oracle Net Configuration Assistant" succeeded <br />
...<br />
<br />
The installation script ends something like this:<br />
The following configuration scripts need to be executed as the "root" user.<br />
#!/bin/sh<br />
#Root script to run<br />
/home/oracle/oraInventory/orainstRoot.sh<br />
/home/oracle/app/oracle/product/11.1.0/orarch/root.sh<br />
To execute the configuration scripts:<br />
1. Open a terminal window<br />
2. Log in as "root"<br />
3. Run the scripts<br />
<br />
The installation of Oracle Database 11g was successful.<br />
Please check '/home/oracle/oraInventory/logs/silentInstall2009-03-03_07-24-10PM.log'<br />
for more details.<br />
<br />
'''Step 4.'''<br />
Run these scripts as root:<br />
<br />
# cd /home/oracle/oraInventory<br />
# ./orainstRoot.sh<br />
# cd /home/oracle/app/oracle/product/11.1.0/orarch<br />
# ./root.sh<br />
<br />
'''Step 5.'''<br />
The default user for the Oracle database is "oracle". Since the password is not set for the user oracle, you need to run passwd as root:<br />
passwd oracle<br />
<br />
'''Step 6.'''<br />
Login as the user oracle.<br />
su oracle<br />
<br />
Create the file /home/oracle/.bashrc and add these lines to the .bashrc file:<br />
export ORACLE_SID=archlinux<br />
export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/orarch<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
'''Step 7.'''<br />
If you haven't altered the {{ic| ee.rsp.patch}} file, you need to '''change the administration password for SYS and SYSTEM'''. <br />
<br />
{{Note| If the database isn't mounted or opened. Login as the user oracle and try this first:}}<br />
su oracle<br />
<br />
sqlplus '/as sysdba'<br />
<br />
SQL> startup mount;<br />
SQL> alter database open; <br />
<br />
Changing the password for the '''SYSTEM''' user:<br />
{{bc|<nowiki><br />
sqlplus '/as sysdba'<br />
<br />
SQL> show user<br />
USER is "SYS"<br />
<br />
SQL> passw system<br />
Changing password for system<br />
New password:<br />
Retype new password:<br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
Changing the password for the '''SYS''' user:<br />
{{bc|<nowiki><br />
sqlplus system/secretpassword<br />
<br />
SQL> show user;<br />
USER is "SYSTEM"<br />
<br />
SQL> passw sys<br />
Changing password for sys<br />
New password: <br />
Retype new password: <br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
== Post installation ==<br />
<br />
===Creating initial database ===<br />
<br />
==== Graphical ====<br />
<br />
You have only installed the Oracle database software. Now you need to create a database. Login as the user oracle:<br />
su oracle<br />
<br />
Export the ORACLE_HOME binary directory:<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Run database installation script:<br />
dbca<br />
<br />
During the graphical installation:<br />
<br />
# Click on "Next".<br />
# Check "Create a Database" and click on "Next".<br />
# Check "General Purpose or Transaction Processing" and click on "Next".<br />
# Chose a database name and SID. Example: Global Database Name: {{Ic|archlinux}}, SID: {{Ic|archlinux}}. And then click on "Next".<br />
# Uncheck "Configure Enterprise Manager", leave it empty and click on "Next".<br />
# Check "Use the Same Administrative Password for All Accounts", set password and click on "Next". <br />
# Check "File System" and click on "Next".<br />
# Check "Use Database File Locations from Template" and click on "Next".<br />
# Uncheck "Specify Flash Recovery Area" and click on "Next".<br />
# No need for "Sample Schemas", click on "Next".<br />
# If you do not know what you're doing, check "Typical" and click on "Next"<br />
# Check "Keep the enhanced 11g default security settings" and click on "Next".<br />
# Uncheck "Enable automatic maintenance tasks" if you wish to do it by yourself and click on "Next".<br />
# View your filesystem layout and click on "Next".<br />
# "Create Database" is checked by default. Click on "Finish" to create database.<br />
# Summary of following operations to be performed, click on "OK".<br />
# When database creation is complete, click on "Exit".<br />
<br />
==== Scripted ====<br />
<br />
This section walks you through doing a scripted initial database creation.<br />
<br />
{{Note|The scripts assume they are the first database to be installed on this system. If this is not the case review the xdb-create.sh script and comment out the portions which deal with the *.ora files.}}<br />
<br />
Download the following tar file with a set of scripted database installation scripts.<br />
wget http://sites.google.com/site/mbasil77/Home/instanceCreateXdb.tgz<br />
<br />
Extract the directory<br />
tar xzf instanceCreateXdb.tgz<br />
<br />
Move into instanceCreateXdb directory<br />
cd instanceCreateXdb<br />
<br />
File list<br />
* CreateDB.sql<br />
* CreateDBCatalog.sql<br />
* initxdb.dbs.ora<br />
* initxdb.ora<br />
* listener.ora<br />
* postDBCreation.sql<br />
* sqlnet.ora<br />
* sysObjects.sql<br />
* tnsnames.ora<br />
* xdb-create.sh<br />
* xdb-create.sql<br />
* xdb-secfix.sh<br />
<br />
Script notes<br />
* the files assume a database sid of '''xdb'''<br />
* the files assume an oracle base of '''/oracle/product/db'''<br />
* '''''review all memory and storage parameters against Oracle documentation'''''<br />
<br />
Setup filesystem (as root)<br />
./xdb-create.sh<br />
<br />
Install database from script ('''''this will take a long time''''')<br />
su oracle<br />
sqlplus / as sysdba @/oracle/admin/xdb/scripts/xdb-create.sql<br />
<br />
==== Testing database ====<br />
<br />
Login as the user oracle and run export ORACLE_SID="yourSID" etc., ie:<br />
export ORACLE_SID=xdb<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Running oraenv should confirm the exported configuration:<br />
oraenv<br />
<br />
ORACLE_SID = [xdb] ? <br />
The Oracle base for ORACLE_HOME=/oracle/product/db <br />
is /oracle<br />
<br />
Check if the database is shutting down or starting:<br />
sqlplus '/as sysdba'<br />
<br />
SQL> shutdown immediate;<br />
Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.<br />
<br />
SQL> startup mount;<br />
<br />
ORACLE instance started.<br />
<br />
Total System Global Area 385003520 bytes<br />
Fixed Size 1300100 bytes<br />
Variable Size 234883452 bytes<br />
Database Buffers 142606336 bytes<br />
Redo Buffers 6213632 bytes<br />
Database mounted.<br />
Database opened.<br />
<br />
Type "quit" when you want to leave SQL prompt:<br />
SQL> quit<br />
<br />
=== Starting oracle during the boot ===<br />
<br />
If you want to start with your oracle SID, replace ":N" with ":Y" in {{ic|/etc/oratab}}:<br />
<your sid>:<oracle home>:N<br />
<your sid>:<oracle home>:Y<br />
<br />
Example from Scripted database creation (/etc/oratab):<br />
xdb:/oracle/product/db:Y<br />
<br />
To start the oracle database daemon during boot, add "oracledb" in your /etc/rc.conf:<br />
<br />
DAEMONS=(oracledb syslog-ng dbus !network netfs crond ntpd alsa hal wicd fam)<br />
<br />
Note: If the daemon doesn't start, please check that the {{ic|ORACLE_HOME}} path matches your current oracle directory in /etc/rc.d/oracledb:<br />
export ORACLE_HOME=/oracle/product/db<br />
<br />
$ pwd<br />
/oracle/product/db<br />
<br />
Test starting the daemon as root:<br />
/etc/rc.d/oracledb start<br />
<br />
Starting Oracle: <br />
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 27-FEB-2009 23:14:45<br />
...<br />
The command completed successfully<br />
Processing Database instance "archlinux": log file <br />
/oracle/product/db/startup.log<br />
OK<br />
<br />
Now you'll login to your oracle database each time you reboot:<br />
su oracle<br />
export ORACLE_SID=xdb<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
Install Method 2:<br />
su oracle<br />
export ORACLE_SID=archlinux<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
=== Setting permissions for normal users ===<br />
<br />
Since there is only one user(oracle) that has access to the oracle database, you need to add your normal user to the group "dba". In this case "joe" is the normal user:<br />
# gpasswd -a joe dba<br />
<br />
The group changes will take effect after you logout and login again. The user oracle has the permissions to access the oracle home directory, ie /home/oracle:<br />
drwx------ 6 oracle dba 4096 2009-02-27 23:27 oracle<br />
<br />
You need to grant the group "dba" permission to execute the binary files in the oracle home directory:<br />
chmod -R g+x /home/oracle<br />
<br />
Now you'll be able to run the oracle database as the normal user.<br />
<br />
== Transfer existing Oracle installation ==<br />
<br />
Moving or transferring Oracle can be quite useful in the following conditions:<br />
* replacing hardware<br />
* setting up several dev machines<br />
* running lean system (no desktop manager, java, etc)<br />
<br />
The installation of Oracle requires several packages. However, just running an Oracle database is much simpler and has far fewer requirements, as shown below. <br />
<br />
''In principle transferring Oracle should work across distros. Transferring from RHEL/Centos 5.2 to ARCH 2009.02 has been tested successfully.''<br />
<br />
To prep Oracle for a move shutdown database services<br />
dbstop ${ORACLE_HOME}<br />
lsnrctl stop<br />
<br />
Optional: stop OEM if it is running<br />
emctl stop dbconsole<br />
<br />
'''''If you are running other Oracle daemons stop them as well'''''<br />
<br />
This section assumes the following conditions about the existing Oracle installation:<br />
* oracle root is /oracle<br />
* oracle data is at /oracle/oradata/<sid><br />
<br />
Tar up entire Oracle installation and data.<br />
cd /<br />
tar czf oracle.tgz /oracle<br />
<br />
Using ssh and sftp or your method of choice transfer oracle.tgz to the root (/) of the target system.<br />
<br />
Login to target system as root and unpack the tar<br />
cd /<br />
tar xzf oracle.tgz<br />
chmod 755 -R /oracle<br />
chown -R oracle:dba /oracle<br />
<br />
Update the system:<br />
pacman -Syu python unzip sudo<br />
pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
Install required package run Oracle database and ''required'' daemons<br />
aurbuild -s libaio<br />
pacman -S sysstat<br />
<br />
Configure server for oracle<br />
[[Oracle#Configuration]]<br />
<br />
Setup OEM (optional)<br />
[[Oracle#Oracle_Enterprise_Manager_installation_.28optional.29]]<br />
<br />
Execute appropriate/desired post installation steps<br />
[[Oracle#Post_Installation]]<br />
<br />
== Known issues ==<br />
<br />
The Oracle Universal Installer (ie, in silent mode) seems create errors when installing on other paths than "../app/oracle/..".<br />
<br />
Two consistent errors using the current libraries will occur. The first one can be ignored:<br />
<br />
INFO: / usr/lib64/libstdc + + so.5:. Undefined reference to `memcpy@GLIBC_2.14 '<br />
collect2: error: ld returned 1 exit status<br />
<br />
Ignore this message by clicking the "Continue" button. Unfortunately,this has the consequence of the Lexical Compiler not working. The Lexical Compiler is used to generate the Chinese and Japanese dictionaries. <br />
<br />
<br />
The second error needs to be fixed as it can cause the emconsole to fail eventually. Fortunately, the fix is easy:<br />
<br />
su oracle<br />
cd $ORACLE_HOME/sysman/lib<br />
make -f ins_emagent.mk "agent"<br />
<br />
The last gcc call fails, which is what is causing the error. We need to add the -lnnz11 flag after the -lcore11 flag for this to make successfully, therefore, enter the following into the terminal:<br />
<br />
gcc -o /oracle/product/db/sysman/lib/emdctl -L/oracle/product/db/lib/ -L/oracle/product/db/sysman/lib/ -L/oracle/product/db/lib/stubs/ `cat /oracle/product/db/lib/sysliblist` -Wl,-rpath,/oracle/product/db/lib -lm `cat /oracle/product/db/lib/sysliblist` -ldl -lm -L/oracle/product/db/lib /oracle/product/db/sysman/lib//s0nmectl.o -lnmectl -lclntsh -L/oracle/product/db/lib -L/oracle/product/db/sysman/lib/ -lnmemso -lcore11 -lnnz11 -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -L/oracle/product/db/jdk/jre/lib/amd64/server -L/oracle/product/db/jdk/jre/lib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined `cat /oracle/product/db/lib/sysliblist` -ldl -lm<br />
<br />
The make will succeed and you can now choose continue in the Oracle installer.<br />
<br />
== See also ==<br />
<br />
Most of the steps are based on this oracle installation guide for ubuntu users. This guide includes step by step graphical examples:<br />
http://www.pythian.com/blogs/1355/installing-oracle-11gr1-on-ubuntu-810-intrepid-ibex</div>Xtraroothttps://wiki.archlinux.org/index.php?title=Oracle_Database&diff=292167Oracle Database2014-01-10T00:43:19Z<p>Xtraroot: /* Known issues */ updated the Known Issues section with current installation issues</p>
<hr />
<div>[[Category:Database management systems]]<br />
{{out of date|Installation: Packages and AUR reference too old, Dutch version is up-to-date}}<br />
[[nl:Oracle]]<br />
[[zh-CN:Oracle]]<br />
This document will help you install Oracle Database 11gR1 on Arch Linux. If you only want to connect to Oracle databases running elsewhere, see the instructions for installing the [[Oracle client]].<br />
<br />
By using the install method 2 you will be able to finalize the long installation process with only a few steps.<br />
<br />
== Install method 1 - manual ==<br />
<br />
This section will guide you through installing Oracle onto a fresh installation of archlinux. This is a general approach that has been tested with kernel 2.6.28.ARCH x86_64 and Oracle 11g R1 64-bit. '''''This should in principle work with other versions of Oracle'''''.<br />
<br />
=== Pre installation ===<br />
<br />
=== AUR helper ===<br />
<br />
To ease the installation process you may find useful to install an AUR helper:<br />
# pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
==== Required packages for Oracle database installation ====<br />
<br />
[[pacman|Install]] packages {{Pkg|unzip}} {{Pkg|sudo}} {{Grp|base-devel}} {{Pkg|icu}} {{Pkg|gawk}} {{Pkg|gdb}} {{Pkg|libelf}} {{Pkg|sysstat}} {{Pkg|libstdc++5}}.<br />
<br />
Install a [[Java]] runtime environment, like {{Pkg|jre7-openjdk}} and {{Pkg|jdk7-openjdk}}.<br />
<br />
From the [[AUR]], install {{AUR|ksh}} (other implementations like [[ksh|these]] may work), {{AUR|beecrypt}}, {{AUR|rpm}} and {{AUR|libaio}}.<br />
<br />
Oracle database 32-bit requires {{Pkg|unixodbc}}.<br />
<br />
Optional lib32 packages on x86_64 are: {{Pkg|lib32-libstdc++5}} {{Pkg|lib32-glibc}} {{Pkg|lib32-gcc-libs}}.<br />
<br />
Oracle database require 32-bit libaio and unixodbc on x86_64 but is not necessary under Arch linux.<br />
<br />
{{Note|The following step is not required in newer Arch Linux installation after the binary directories merge}}<br />
Some prerequisite symbolic links for Oracle Universal Installer.<br />
# ln -s /usr/bin/rpm /bin/rpm<br />
# ln -s /usr/bin/ksh /bin/ksh<br />
# ln -s /bin/awk /usr/bin/awk<br />
# ln -s /bin/tr /usr/bin/tr<br />
# ln -s /usr/bin/basename /bin/basename<br />
Arch x86_64:<br />
# ln -s /usr/lib /usr/lib64<br />
<br />
==== Configuration ====<br />
<br />
Create users and group for Oracle database:<br />
# groupadd oinstall<br />
# groupadd dba<br />
# useradd -m -g oinstall -G dba oracle<br />
<br />
Set password for the user oracle:<br />
# passwd oracle<br />
<br />
Optional: Add oracle to the {{ic|sshd_config}} file.<br />
# pacman -S openssh<br />
Add this line to {{ic|/etc/ssh/sshd_config}}:<br />
AllowUsers oracle<br />
<br />
Add oracle to {{ic|/etc/sudoers}}. This will give oracle super user privilege.<br />
oracle ALL=(ALL) ALL<br />
<br />
Add these lines to {{ic|/etc/sysctl.d/99-sysctl.conf}} ('''''Review Oracle documentation to adjust these settings''''').<br />
# oracle kernel settings<br />
fs.file-max = 6553600<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.ipv4.ip_local_port_range = 1024 65535<br />
net.core.rmem_default = 4194304<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.core.wmem_max = 262144<br />
<br />
Add these lines to {{ic|/etc/security/limits.conf}} ('''''Review Oracle documentation to adjust these settings''''')<br />
# oracle settings<br />
oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536<br />
<br />
Optional: You may reboot now if you want the changes to take effect.<br />
<br />
Create some directories for Oracle database. You can chose the directory path. Here is an example.<br />
mkdir -p /oracle/inventory /oracle/recovery /oracle/product/db<br />
<br />
Set permissions for the directories.<br />
chown -R oracle:dba /oracle<br />
chmod 777 /tmp<br />
<br />
Create or update oracle bashrc {{ic|/home/oracle/.bashrc}}. Here is an example of the oracle user settings.<br />
export ORACLE_BASE=/oracle<br />
export ORACLE_HOME=/oracle/product/db<br />
export ORACLE_SID=xdb<br />
export ORACLE_INVENTORY=/oracle/inventory<br />
export ORACLE_BASE ORACLE_SID ORACLE_HOME<br />
export PATH=$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH<br />
export EDITOR=nano<br />
export VISUAL=nano<br />
<br />
=== Graphical installation ===<br />
<br />
==== Installing Oracle database software ====<br />
<br />
Download the Oracle database from here:<br />
http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
Unzip the Oracle database.<br />
<br />
Arch i686:<br />
unzip linux_11gR1_database_1013.zip -d /media<br />
Arch x86_64:<br />
unzip linux.x64_11gR1_database_1013.zip -d /media<br />
<br />
Optional: Arch x86_64 (only required if the installer will not launch automatically ... at the time of this writing there was an issue with the packaged unzip in the 64-bit Oracle installer):<br />
cd /media/database/install<br />
mv unzip unzipx<br />
ln -s /usr/bin/unzip <br />
<br />
Change the permissions for the extracted Oracle database.<br />
chmod -R 777 /media/database<br />
chown -R oracle:oinstall /media/database<br />
<br />
Enter the directory where you extracted the Oracle database.<br />
<br />
In oder to run oracle installation script you need to export the X display as a normal user:<br />
DISPLAY=:0.0; export DISPLAY; xhost +<br />
<br />
Login as the user oracle and export the X display:<br />
su oracle<br />
DISPLAY=:0.0; export DISPLAY<br />
<br />
Enter the database directory and run the Oracle Universal Installer as the user oracle.<br />
cd /media/database<br />
./runInstaller -ignoreSysPrereqs<br />
<br />
During the Graphical installation:<br />
# Click on "Next". <br />
# Choose "Enterprise Edition" Installation Type and click on "Next"<br />
# Oracle Base should be: /oracle. Don't change it, unless you know what you're doing. <br />
## Change the default "Name" to orarch or something else. <br />
## The predefined path in {{ic|/etc/rc.d/oracledb}} is "db", ie: /oracle/product/db. If you want to use a different path you'll have to change {{ic|/etc/rc.d/oracledb}}, so that the startup script can locate ORACLE_HOME directory.<br />
## After changing the defaults, click on "Next". <br />
# Since Oracle database requires certain distro requirement, you'll have to manually check them and then click on "Next".<br />
# Chose "Software Install Only" and click on "Next".<br />
# There is only one DBA group for oracle database. Click on "Next".<br />
# Install "Summary" shows what's going to be installed. Click on "Install".<br />
# The installation will take some time, especially the "Linking" part. Be patient! If you get an error message ignore it by clicking on "Continue".<br />
## At the end of the installation you'll have to open another terminal, and execute {{ic|/oracle/product/db/root.sh}} as root. '''Don't click on "OK" yet'''.<br />
## When running root.sh, you'll be offered to use /usr/local/bin as the full pathname. Press the "Enter" key here.<br />
## Now you can click on "OK"<br />
# Installation is finished, click on "Exit" and "Yes", you really want to exit.<br />
<br />
=== Oracle Enterprise Manager installation (optional) ===<br />
<br />
This section describes how to install the web based OEM available in 10g+. <br />
<br />
''Depending on your settings the OUI may have already installed this''.<br />
<br />
Login or su to oracle, then run the following commands (answering the prompts approriately). '''''This may take a while'''''.<br />
cd ${ORACLE_HOME}/bin<br />
./emca -repos create<br />
./emca -config dbcontrol db<br />
<br />
Test this out by navigating to the enterprise manager (adjust the servername (localhost) apporpriately). <br />
https://localhost:1158/em/console<br />
<br />
You can control OEM with the following commands.<br />
emctl status dbconsole<br />
emctl stop dbconsole<br />
emctl start dbconsole<br />
<br />
== Install method 2 - AUR ==<br />
<br />
=== Installation ===<br />
<br />
{{Note| This installation method creates a database automatically. The Oracle database will therefore be ready to be used after the installation.}}<br />
<br />
'''Step 1.'''<br />
Download the Arch Linux package {{AUR|oracle}} from AUR.<br />
Download the Oracle database 11gR1: http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
'''Step 2.'''<br />
Extract the Arch Linux package into a directory. Copy the Oracle database 11gR1 into that directory as well.<br />
<br />
INFO: The default install configuration in {{ic| ee.rsp.patch}} is:<br />
ORACLE_BASE="/home/oracle/app/oracle"<br />
ORACLE_HOME="/home/oracle/app/oracle/product/11.1.0/orarch"<br />
ORACLE_HOME_NAME="orarch"<br />
s_globalDBName="archlinux"<br />
s_dbSid="archlinux"<br />
s_superAdminSamePasswd="orarchdbadmin"<br />
s_superAdminSamePasswdAgain="orarchdbadmin"<br />
<br />
Optional: You can either change the default password now or later after the installation. If you change the ee.rsp.patch file, you need to update the md5sums in the PKGBUILD file. To obtain the md5sum, run (makepkg -g) or:<br />
md5sum ee.rsp.patch <br />
<br />
Create the Oracle database package by using makepkg:<br />
makepkg -s<br />
<br />
'''Step 3.'''<br />
Install the package that makepkg has created by using pacman. You may get an error stating "/bin/ksh already exists", just remove that file and pacman will continue.<br />
<br />
Pacman will now install the Oracle database by executing Oracle's own installation script(./runInstaller -silent -ignoreSysPrereqs). <br />
<br />
The installation will take som time, please be patient. Do not exit terminal during database installation, especially when the installation script is executing configuration assistants:<br />
.... <br />
Starting to execute configuration assistants<br />
Configuration assistant "Oracle Net Configuration Assistant" succeeded <br />
...<br />
<br />
The installation script ends something like this:<br />
The following configuration scripts need to be executed as the "root" user.<br />
#!/bin/sh<br />
#Root script to run<br />
/home/oracle/oraInventory/orainstRoot.sh<br />
/home/oracle/app/oracle/product/11.1.0/orarch/root.sh<br />
To execute the configuration scripts:<br />
1. Open a terminal window<br />
2. Log in as "root"<br />
3. Run the scripts<br />
<br />
The installation of Oracle Database 11g was successful.<br />
Please check '/home/oracle/oraInventory/logs/silentInstall2009-03-03_07-24-10PM.log'<br />
for more details.<br />
<br />
'''Step 4.'''<br />
Run these scripts as root:<br />
<br />
# cd /home/oracle/oraInventory<br />
# ./orainstRoot.sh<br />
# cd /home/oracle/app/oracle/product/11.1.0/orarch<br />
# ./root.sh<br />
<br />
'''Step 5.'''<br />
The default user for the Oracle database is "oracle". Since the password is not set for the user oracle, you need to run passwd as root:<br />
passwd oracle<br />
<br />
'''Step 6.'''<br />
Login as the user oracle.<br />
su oracle<br />
<br />
Create the file /home/oracle/.bashrc and add these lines to the .bashrc file:<br />
export ORACLE_SID=archlinux<br />
export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/orarch<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
'''Step 7.'''<br />
If you haven't altered the {{ic| ee.rsp.patch}} file, you need to '''change the administration password for SYS and SYSTEM'''. <br />
<br />
{{Note| If the database isn't mounted or opened. Login as the user oracle and try this first:}}<br />
su oracle<br />
<br />
sqlplus '/as sysdba'<br />
<br />
SQL> startup mount;<br />
SQL> alter database open; <br />
<br />
Changing the password for the '''SYSTEM''' user:<br />
{{bc|<nowiki><br />
sqlplus '/as sysdba'<br />
<br />
SQL> show user<br />
USER is "SYS"<br />
<br />
SQL> passw system<br />
Changing password for system<br />
New password:<br />
Retype new password:<br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
Changing the password for the '''SYS''' user:<br />
{{bc|<nowiki><br />
sqlplus system/secretpassword<br />
<br />
SQL> show user;<br />
USER is "SYSTEM"<br />
<br />
SQL> passw sys<br />
Changing password for sys<br />
New password: <br />
Retype new password: <br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
== Post installation ==<br />
<br />
===Creating initial database ===<br />
<br />
==== Graphical ====<br />
<br />
You have only installed the Oracle database software. Now you need to create a database. Login as the user oracle:<br />
su oracle<br />
<br />
Export the ORACLE_HOME binary directory:<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Run database installation script:<br />
dbca<br />
<br />
During the graphical installation:<br />
<br />
# Click on "Next".<br />
# Check "Create a Database" and click on "Next".<br />
# Check "General Purpose or Transaction Processing" and click on "Next".<br />
# Chose a database name and SID. Example: Global Database Name: {{Ic|archlinux}}, SID: {{Ic|archlinux}}. And then click on "Next".<br />
# Uncheck "Configure Enterprise Manager", leave it empty and click on "Next".<br />
# Check "Use the Same Administrative Password for All Accounts", set password and click on "Next". <br />
# Check "File System" and click on "Next".<br />
# Check "Use Database File Locations from Template" and click on "Next".<br />
# Uncheck "Specify Flash Recovery Area" and click on "Next".<br />
# No need for "Sample Schemas", click on "Next".<br />
# If you do not know what you're doing, check "Typical" and click on "Next"<br />
# Check "Keep the enhanced 11g default security settings" and click on "Next".<br />
# Uncheck "Enable automatic maintenance tasks" if you wish to do it by yourself and click on "Next".<br />
# View your filesystem layout and click on "Next".<br />
# "Create Database" is checked by default. Click on "Finish" to create database.<br />
# Summary of following operations to be performed, click on "OK".<br />
# When database creation is complete, click on "Exit".<br />
<br />
==== Scripted ====<br />
<br />
This section walks you through doing a scripted initial database creation.<br />
<br />
{{Note|The scripts assume they are the first database to be installed on this system. If this is not the case review the xdb-create.sh script and comment out the portions which deal with the *.ora files.}}<br />
<br />
Download the following tar file with a set of scripted database installation scripts.<br />
wget http://sites.google.com/site/mbasil77/Home/instanceCreateXdb.tgz<br />
<br />
Extract the directory<br />
tar xzf instanceCreateXdb.tgz<br />
<br />
Move into instanceCreateXdb directory<br />
cd instanceCreateXdb<br />
<br />
File list<br />
* CreateDB.sql<br />
* CreateDBCatalog.sql<br />
* initxdb.dbs.ora<br />
* initxdb.ora<br />
* listener.ora<br />
* postDBCreation.sql<br />
* sqlnet.ora<br />
* sysObjects.sql<br />
* tnsnames.ora<br />
* xdb-create.sh<br />
* xdb-create.sql<br />
* xdb-secfix.sh<br />
<br />
Script notes<br />
* the files assume a database sid of '''xdb'''<br />
* the files assume an oracle base of '''/oracle/product/db'''<br />
* '''''review all memory and storage parameters against Oracle documentation'''''<br />
<br />
Setup filesystem (as root)<br />
./xdb-create.sh<br />
<br />
Install database from script ('''''this will take a long time''''')<br />
su oracle<br />
sqlplus / as sysdba @/oracle/admin/xdb/scripts/xdb-create.sql<br />
<br />
==== Testing database ====<br />
<br />
Login as the user oracle and run export ORACLE_SID="yourSID" etc., ie:<br />
export ORACLE_SID=xdb<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Running oraenv should confirm the exported configuration:<br />
oraenv<br />
<br />
ORACLE_SID = [xdb] ? <br />
The Oracle base for ORACLE_HOME=/oracle/product/db <br />
is /oracle<br />
<br />
Check if the database is shutting down or starting:<br />
sqlplus '/as sysdba'<br />
<br />
SQL> shutdown immediate;<br />
Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.<br />
<br />
SQL> startup mount;<br />
<br />
ORACLE instance started.<br />
<br />
Total System Global Area 385003520 bytes<br />
Fixed Size 1300100 bytes<br />
Variable Size 234883452 bytes<br />
Database Buffers 142606336 bytes<br />
Redo Buffers 6213632 bytes<br />
Database mounted.<br />
Database opened.<br />
<br />
Type "quit" when you want to leave SQL prompt:<br />
SQL> quit<br />
<br />
=== Starting oracle during the boot ===<br />
<br />
If you want to start with your oracle SID, replace ":N" with ":Y" in {{ic|/etc/oratab}}:<br />
<your sid>:<oracle home>:N<br />
<your sid>:<oracle home>:Y<br />
<br />
Example from Scripted database creation (/etc/oratab):<br />
xdb:/oracle/product/db:Y<br />
<br />
To start the oracle database daemon during boot, add "oracledb" in your /etc/rc.conf:<br />
<br />
DAEMONS=(oracledb syslog-ng dbus !network netfs crond ntpd alsa hal wicd fam)<br />
<br />
Note: If the daemon doesn't start, please check that the {{ic|ORACLE_HOME}} path matches your current oracle directory in /etc/rc.d/oracledb:<br />
export ORACLE_HOME=/oracle/product/db<br />
<br />
$ pwd<br />
/oracle/product/db<br />
<br />
Test starting the daemon as root:<br />
/etc/rc.d/oracledb start<br />
<br />
Starting Oracle: <br />
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 27-FEB-2009 23:14:45<br />
...<br />
The command completed successfully<br />
Processing Database instance "archlinux": log file <br />
/oracle/product/db/startup.log<br />
OK<br />
<br />
Now you'll login to your oracle database each time you reboot:<br />
su oracle<br />
export ORACLE_SID=xdb<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
Install Method 2:<br />
su oracle<br />
export ORACLE_SID=archlinux<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
=== Setting permissions for normal users ===<br />
<br />
Since there is only one user(oracle) that has access to the oracle database, you need to add your normal user to the group "dba". In this case "joe" is the normal user:<br />
# gpasswd -a joe dba<br />
<br />
The group changes will take effect after you logout and login again. The user oracle has the permissions to access the oracle home directory, ie /home/oracle:<br />
drwx------ 6 oracle dba 4096 2009-02-27 23:27 oracle<br />
<br />
You need to grant the group "dba" permission to execute the binary files in the oracle home directory:<br />
chmod -R g+x /home/oracle<br />
<br />
Now you'll be able to run the oracle database as the normal user.<br />
<br />
== Transfer existing Oracle installation ==<br />
<br />
Moving or transferring Oracle can be quite useful in the following conditions:<br />
* replacing hardware<br />
* setting up several dev machines<br />
* running lean system (no desktop manager, java, etc)<br />
<br />
The installation of Oracle requires several packages. However, just running an Oracle database is much simpler and has far fewer requirements, as shown below. <br />
<br />
''In principle transferring Oracle should work across distros. Transferring from RHEL/Centos 5.2 to ARCH 2009.02 has been tested successfully.''<br />
<br />
To prep Oracle for a move shutdown database services<br />
dbstop ${ORACLE_HOME}<br />
lsnrctl stop<br />
<br />
Optional: stop OEM if it is running<br />
emctl stop dbconsole<br />
<br />
'''''If you are running other Oracle daemons stop them as well'''''<br />
<br />
This section assumes the following conditions about the existing Oracle installation:<br />
* oracle root is /oracle<br />
* oracle data is at /oracle/oradata/<sid><br />
<br />
Tar up entire Oracle installation and data.<br />
cd /<br />
tar czf oracle.tgz /oracle<br />
<br />
Using ssh and sftp or your method of choice transfer oracle.tgz to the root (/) of the target system.<br />
<br />
Login to target system as root and unpack the tar<br />
cd /<br />
tar xzf oracle.tgz<br />
chmod 755 -R /oracle<br />
chown -R oracle:dba /oracle<br />
<br />
Update the system:<br />
pacman -Syu python unzip sudo<br />
pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
Install required package run Oracle database and ''required'' daemons<br />
aurbuild -s libaio<br />
pacman -S sysstat<br />
<br />
Configure server for oracle<br />
[[Oracle#Configuration]]<br />
<br />
Setup OEM (optional)<br />
[[Oracle#Oracle_Enterprise_Manager_installation_.28optional.29]]<br />
<br />
Execute appropriate/desired post installation steps<br />
[[Oracle#Post_Installation]]<br />
<br />
== Known issues ==<br />
<br />
The Oracle Universal Installer (ie, in silent mode) seems create errors when installing on other paths than "../app/oracle/..".<br />
<br />
Two consistent errors using the current libraries will occur. The first one can be ignored:<br />
<br />
INFO: / usr/lib64/libstdc + + so.5:. Undefined reference to `memcpy@GLIBC_2.14 '<br />
collect2: error: ld returned 1 exit status<br />
<br />
Ignore this message by clicking the "Continue" button. Unfortunately,this has the consequence of the Lexical Compiler not working. The Lexical Compiler is used to generate the Chinese and Japanese dictionaries. <br />
<br />
<br />
The second error needs to be fixed as it can cause the emconsole to fail eventually. Fortunately, the fix is easy:<br />
<br />
su oracle<br />
cd $ORACLE_HOME/sysman/lib<br />
make -f ins_emagent.mk "agent"<br />
<br />
The last gcc call fails, which is what is causing the error. We need to add the -lnnz11 after the -lcore11 flag for this to make successfully, therefore, enter the following into the terminal:<br />
<br />
gcc -o /oracle/product/db/sysman/lib/emdctl -L/oracle/product/db/lib/ -L/oracle/product/db/sysman/lib/ -L/oracle/product/db/lib/stubs/ `cat /oracle/product/db/lib/sysliblist` -Wl,-rpath,/oracle/product/db/lib -lm `cat /oracle/product/db/lib/sysliblist` -ldl -lm -L/oracle/product/db/lib /oracle/product/db/sysman/lib//s0nmectl.o -lnmectl -lclntsh -L/oracle/product/db/lib -L/oracle/product/db/sysman/lib/ -lnmemso -lcore11 -lnnz11 -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -L/oracle/product/db/jdk/jre/lib/amd64/server -L/oracle/product/db/jdk/jre/lib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined `cat /oracle/product/db/lib/sysliblist` -ldl -lm<br />
<br />
The make will succeed and you can now choose continue in the Oracle installer.<br />
<br />
== See also ==<br />
<br />
Most of the steps are based on this oracle installation guide for ubuntu users. This guide includes step by step graphical examples:<br />
http://www.pythian.com/blogs/1355/installing-oracle-11gr1-on-ubuntu-810-intrepid-ibex</div>Xtraroothttps://wiki.archlinux.org/index.php?title=Oracle_Database&diff=292166Oracle Database2014-01-10T00:42:32Z<p>Xtraroot: /* Known issues */</p>
<hr />
<div>[[Category:Database management systems]]<br />
{{out of date|Installation: Packages and AUR reference too old, Dutch version is up-to-date}}<br />
[[nl:Oracle]]<br />
[[zh-CN:Oracle]]<br />
This document will help you install Oracle Database 11gR1 on Arch Linux. If you only want to connect to Oracle databases running elsewhere, see the instructions for installing the [[Oracle client]].<br />
<br />
By using the install method 2 you will be able to finalize the long installation process with only a few steps.<br />
<br />
== Install method 1 - manual ==<br />
<br />
This section will guide you through installing Oracle onto a fresh installation of archlinux. This is a general approach that has been tested with kernel 2.6.28.ARCH x86_64 and Oracle 11g R1 64-bit. '''''This should in principle work with other versions of Oracle'''''.<br />
<br />
=== Pre installation ===<br />
<br />
=== AUR helper ===<br />
<br />
To ease the installation process you may find useful to install an AUR helper:<br />
# pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
==== Required packages for Oracle database installation ====<br />
<br />
[[pacman|Install]] packages {{Pkg|unzip}} {{Pkg|sudo}} {{Grp|base-devel}} {{Pkg|icu}} {{Pkg|gawk}} {{Pkg|gdb}} {{Pkg|libelf}} {{Pkg|sysstat}} {{Pkg|libstdc++5}}.<br />
<br />
Install a [[Java]] runtime environment, like {{Pkg|jre7-openjdk}} and {{Pkg|jdk7-openjdk}}.<br />
<br />
From the [[AUR]], install {{AUR|ksh}} (other implementations like [[ksh|these]] may work), {{AUR|beecrypt}}, {{AUR|rpm}} and {{AUR|libaio}}.<br />
<br />
Oracle database 32-bit requires {{Pkg|unixodbc}}.<br />
<br />
Optional lib32 packages on x86_64 are: {{Pkg|lib32-libstdc++5}} {{Pkg|lib32-glibc}} {{Pkg|lib32-gcc-libs}}.<br />
<br />
Oracle database require 32-bit libaio and unixodbc on x86_64 but is not necessary under Arch linux.<br />
<br />
{{Note|The following step is not required in newer Arch Linux installation after the binary directories merge}}<br />
Some prerequisite symbolic links for Oracle Universal Installer.<br />
# ln -s /usr/bin/rpm /bin/rpm<br />
# ln -s /usr/bin/ksh /bin/ksh<br />
# ln -s /bin/awk /usr/bin/awk<br />
# ln -s /bin/tr /usr/bin/tr<br />
# ln -s /usr/bin/basename /bin/basename<br />
Arch x86_64:<br />
# ln -s /usr/lib /usr/lib64<br />
<br />
==== Configuration ====<br />
<br />
Create users and group for Oracle database:<br />
# groupadd oinstall<br />
# groupadd dba<br />
# useradd -m -g oinstall -G dba oracle<br />
<br />
Set password for the user oracle:<br />
# passwd oracle<br />
<br />
Optional: Add oracle to the {{ic|sshd_config}} file.<br />
# pacman -S openssh<br />
Add this line to {{ic|/etc/ssh/sshd_config}}:<br />
AllowUsers oracle<br />
<br />
Add oracle to {{ic|/etc/sudoers}}. This will give oracle super user privilege.<br />
oracle ALL=(ALL) ALL<br />
<br />
Add these lines to {{ic|/etc/sysctl.d/99-sysctl.conf}} ('''''Review Oracle documentation to adjust these settings''''').<br />
# oracle kernel settings<br />
fs.file-max = 6553600<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.ipv4.ip_local_port_range = 1024 65535<br />
net.core.rmem_default = 4194304<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.core.wmem_max = 262144<br />
<br />
Add these lines to {{ic|/etc/security/limits.conf}} ('''''Review Oracle documentation to adjust these settings''''')<br />
# oracle settings<br />
oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536<br />
<br />
Optional: You may reboot now if you want the changes to take effect.<br />
<br />
Create some directories for Oracle database. You can chose the directory path. Here is an example.<br />
mkdir -p /oracle/inventory /oracle/recovery /oracle/product/db<br />
<br />
Set permissions for the directories.<br />
chown -R oracle:dba /oracle<br />
chmod 777 /tmp<br />
<br />
Create or update oracle bashrc {{ic|/home/oracle/.bashrc}}. Here is an example of the oracle user settings.<br />
export ORACLE_BASE=/oracle<br />
export ORACLE_HOME=/oracle/product/db<br />
export ORACLE_SID=xdb<br />
export ORACLE_INVENTORY=/oracle/inventory<br />
export ORACLE_BASE ORACLE_SID ORACLE_HOME<br />
export PATH=$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH<br />
export EDITOR=nano<br />
export VISUAL=nano<br />
<br />
=== Graphical installation ===<br />
<br />
==== Installing Oracle database software ====<br />
<br />
Download the Oracle database from here:<br />
http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
Unzip the Oracle database.<br />
<br />
Arch i686:<br />
unzip linux_11gR1_database_1013.zip -d /media<br />
Arch x86_64:<br />
unzip linux.x64_11gR1_database_1013.zip -d /media<br />
<br />
Optional: Arch x86_64 (only required if the installer will not launch automatically ... at the time of this writing there was an issue with the packaged unzip in the 64-bit Oracle installer):<br />
cd /media/database/install<br />
mv unzip unzipx<br />
ln -s /usr/bin/unzip <br />
<br />
Change the permissions for the extracted Oracle database.<br />
chmod -R 777 /media/database<br />
chown -R oracle:oinstall /media/database<br />
<br />
Enter the directory where you extracted the Oracle database.<br />
<br />
In oder to run oracle installation script you need to export the X display as a normal user:<br />
DISPLAY=:0.0; export DISPLAY; xhost +<br />
<br />
Login as the user oracle and export the X display:<br />
su oracle<br />
DISPLAY=:0.0; export DISPLAY<br />
<br />
Enter the database directory and run the Oracle Universal Installer as the user oracle.<br />
cd /media/database<br />
./runInstaller -ignoreSysPrereqs<br />
<br />
During the Graphical installation:<br />
# Click on "Next". <br />
# Choose "Enterprise Edition" Installation Type and click on "Next"<br />
# Oracle Base should be: /oracle. Don't change it, unless you know what you're doing. <br />
## Change the default "Name" to orarch or something else. <br />
## The predefined path in {{ic|/etc/rc.d/oracledb}} is "db", ie: /oracle/product/db. If you want to use a different path you'll have to change {{ic|/etc/rc.d/oracledb}}, so that the startup script can locate ORACLE_HOME directory.<br />
## After changing the defaults, click on "Next". <br />
# Since Oracle database requires certain distro requirement, you'll have to manually check them and then click on "Next".<br />
# Chose "Software Install Only" and click on "Next".<br />
# There is only one DBA group for oracle database. Click on "Next".<br />
# Install "Summary" shows what's going to be installed. Click on "Install".<br />
# The installation will take some time, especially the "Linking" part. Be patient! If you get an error message ignore it by clicking on "Continue".<br />
## At the end of the installation you'll have to open another terminal, and execute {{ic|/oracle/product/db/root.sh}} as root. '''Don't click on "OK" yet'''.<br />
## When running root.sh, you'll be offered to use /usr/local/bin as the full pathname. Press the "Enter" key here.<br />
## Now you can click on "OK"<br />
# Installation is finished, click on "Exit" and "Yes", you really want to exit.<br />
<br />
=== Oracle Enterprise Manager installation (optional) ===<br />
<br />
This section describes how to install the web based OEM available in 10g+. <br />
<br />
''Depending on your settings the OUI may have already installed this''.<br />
<br />
Login or su to oracle, then run the following commands (answering the prompts approriately). '''''This may take a while'''''.<br />
cd ${ORACLE_HOME}/bin<br />
./emca -repos create<br />
./emca -config dbcontrol db<br />
<br />
Test this out by navigating to the enterprise manager (adjust the servername (localhost) apporpriately). <br />
https://localhost:1158/em/console<br />
<br />
You can control OEM with the following commands.<br />
emctl status dbconsole<br />
emctl stop dbconsole<br />
emctl start dbconsole<br />
<br />
== Install method 2 - AUR ==<br />
<br />
=== Installation ===<br />
<br />
{{Note| This installation method creates a database automatically. The Oracle database will therefore be ready to be used after the installation.}}<br />
<br />
'''Step 1.'''<br />
Download the Arch Linux package {{AUR|oracle}} from AUR.<br />
Download the Oracle database 11gR1: http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
'''Step 2.'''<br />
Extract the Arch Linux package into a directory. Copy the Oracle database 11gR1 into that directory as well.<br />
<br />
INFO: The default install configuration in {{ic| ee.rsp.patch}} is:<br />
ORACLE_BASE="/home/oracle/app/oracle"<br />
ORACLE_HOME="/home/oracle/app/oracle/product/11.1.0/orarch"<br />
ORACLE_HOME_NAME="orarch"<br />
s_globalDBName="archlinux"<br />
s_dbSid="archlinux"<br />
s_superAdminSamePasswd="orarchdbadmin"<br />
s_superAdminSamePasswdAgain="orarchdbadmin"<br />
<br />
Optional: You can either change the default password now or later after the installation. If you change the ee.rsp.patch file, you need to update the md5sums in the PKGBUILD file. To obtain the md5sum, run (makepkg -g) or:<br />
md5sum ee.rsp.patch <br />
<br />
Create the Oracle database package by using makepkg:<br />
makepkg -s<br />
<br />
'''Step 3.'''<br />
Install the package that makepkg has created by using pacman. You may get an error stating "/bin/ksh already exists", just remove that file and pacman will continue.<br />
<br />
Pacman will now install the Oracle database by executing Oracle's own installation script(./runInstaller -silent -ignoreSysPrereqs). <br />
<br />
The installation will take som time, please be patient. Do not exit terminal during database installation, especially when the installation script is executing configuration assistants:<br />
.... <br />
Starting to execute configuration assistants<br />
Configuration assistant "Oracle Net Configuration Assistant" succeeded <br />
...<br />
<br />
The installation script ends something like this:<br />
The following configuration scripts need to be executed as the "root" user.<br />
#!/bin/sh<br />
#Root script to run<br />
/home/oracle/oraInventory/orainstRoot.sh<br />
/home/oracle/app/oracle/product/11.1.0/orarch/root.sh<br />
To execute the configuration scripts:<br />
1. Open a terminal window<br />
2. Log in as "root"<br />
3. Run the scripts<br />
<br />
The installation of Oracle Database 11g was successful.<br />
Please check '/home/oracle/oraInventory/logs/silentInstall2009-03-03_07-24-10PM.log'<br />
for more details.<br />
<br />
'''Step 4.'''<br />
Run these scripts as root:<br />
<br />
# cd /home/oracle/oraInventory<br />
# ./orainstRoot.sh<br />
# cd /home/oracle/app/oracle/product/11.1.0/orarch<br />
# ./root.sh<br />
<br />
'''Step 5.'''<br />
The default user for the Oracle database is "oracle". Since the password is not set for the user oracle, you need to run passwd as root:<br />
passwd oracle<br />
<br />
'''Step 6.'''<br />
Login as the user oracle.<br />
su oracle<br />
<br />
Create the file /home/oracle/.bashrc and add these lines to the .bashrc file:<br />
export ORACLE_SID=archlinux<br />
export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/orarch<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
'''Step 7.'''<br />
If you haven't altered the {{ic| ee.rsp.patch}} file, you need to '''change the administration password for SYS and SYSTEM'''. <br />
<br />
{{Note| If the database isn't mounted or opened. Login as the user oracle and try this first:}}<br />
su oracle<br />
<br />
sqlplus '/as sysdba'<br />
<br />
SQL> startup mount;<br />
SQL> alter database open; <br />
<br />
Changing the password for the '''SYSTEM''' user:<br />
{{bc|<nowiki><br />
sqlplus '/as sysdba'<br />
<br />
SQL> show user<br />
USER is "SYS"<br />
<br />
SQL> passw system<br />
Changing password for system<br />
New password:<br />
Retype new password:<br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
Changing the password for the '''SYS''' user:<br />
{{bc|<nowiki><br />
sqlplus system/secretpassword<br />
<br />
SQL> show user;<br />
USER is "SYSTEM"<br />
<br />
SQL> passw sys<br />
Changing password for sys<br />
New password: <br />
Retype new password: <br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
== Post installation ==<br />
<br />
===Creating initial database ===<br />
<br />
==== Graphical ====<br />
<br />
You have only installed the Oracle database software. Now you need to create a database. Login as the user oracle:<br />
su oracle<br />
<br />
Export the ORACLE_HOME binary directory:<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Run database installation script:<br />
dbca<br />
<br />
During the graphical installation:<br />
<br />
# Click on "Next".<br />
# Check "Create a Database" and click on "Next".<br />
# Check "General Purpose or Transaction Processing" and click on "Next".<br />
# Chose a database name and SID. Example: Global Database Name: {{Ic|archlinux}}, SID: {{Ic|archlinux}}. And then click on "Next".<br />
# Uncheck "Configure Enterprise Manager", leave it empty and click on "Next".<br />
# Check "Use the Same Administrative Password for All Accounts", set password and click on "Next". <br />
# Check "File System" and click on "Next".<br />
# Check "Use Database File Locations from Template" and click on "Next".<br />
# Uncheck "Specify Flash Recovery Area" and click on "Next".<br />
# No need for "Sample Schemas", click on "Next".<br />
# If you do not know what you're doing, check "Typical" and click on "Next"<br />
# Check "Keep the enhanced 11g default security settings" and click on "Next".<br />
# Uncheck "Enable automatic maintenance tasks" if you wish to do it by yourself and click on "Next".<br />
# View your filesystem layout and click on "Next".<br />
# "Create Database" is checked by default. Click on "Finish" to create database.<br />
# Summary of following operations to be performed, click on "OK".<br />
# When database creation is complete, click on "Exit".<br />
<br />
==== Scripted ====<br />
<br />
This section walks you through doing a scripted initial database creation.<br />
<br />
{{Note|The scripts assume they are the first database to be installed on this system. If this is not the case review the xdb-create.sh script and comment out the portions which deal with the *.ora files.}}<br />
<br />
Download the following tar file with a set of scripted database installation scripts.<br />
wget http://sites.google.com/site/mbasil77/Home/instanceCreateXdb.tgz<br />
<br />
Extract the directory<br />
tar xzf instanceCreateXdb.tgz<br />
<br />
Move into instanceCreateXdb directory<br />
cd instanceCreateXdb<br />
<br />
File list<br />
* CreateDB.sql<br />
* CreateDBCatalog.sql<br />
* initxdb.dbs.ora<br />
* initxdb.ora<br />
* listener.ora<br />
* postDBCreation.sql<br />
* sqlnet.ora<br />
* sysObjects.sql<br />
* tnsnames.ora<br />
* xdb-create.sh<br />
* xdb-create.sql<br />
* xdb-secfix.sh<br />
<br />
Script notes<br />
* the files assume a database sid of '''xdb'''<br />
* the files assume an oracle base of '''/oracle/product/db'''<br />
* '''''review all memory and storage parameters against Oracle documentation'''''<br />
<br />
Setup filesystem (as root)<br />
./xdb-create.sh<br />
<br />
Install database from script ('''''this will take a long time''''')<br />
su oracle<br />
sqlplus / as sysdba @/oracle/admin/xdb/scripts/xdb-create.sql<br />
<br />
==== Testing database ====<br />
<br />
Login as the user oracle and run export ORACLE_SID="yourSID" etc., ie:<br />
export ORACLE_SID=xdb<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Running oraenv should confirm the exported configuration:<br />
oraenv<br />
<br />
ORACLE_SID = [xdb] ? <br />
The Oracle base for ORACLE_HOME=/oracle/product/db <br />
is /oracle<br />
<br />
Check if the database is shutting down or starting:<br />
sqlplus '/as sysdba'<br />
<br />
SQL> shutdown immediate;<br />
Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.<br />
<br />
SQL> startup mount;<br />
<br />
ORACLE instance started.<br />
<br />
Total System Global Area 385003520 bytes<br />
Fixed Size 1300100 bytes<br />
Variable Size 234883452 bytes<br />
Database Buffers 142606336 bytes<br />
Redo Buffers 6213632 bytes<br />
Database mounted.<br />
Database opened.<br />
<br />
Type "quit" when you want to leave SQL prompt:<br />
SQL> quit<br />
<br />
=== Starting oracle during the boot ===<br />
<br />
If you want to start with your oracle SID, replace ":N" with ":Y" in {{ic|/etc/oratab}}:<br />
<your sid>:<oracle home>:N<br />
<your sid>:<oracle home>:Y<br />
<br />
Example from Scripted database creation (/etc/oratab):<br />
xdb:/oracle/product/db:Y<br />
<br />
To start the oracle database daemon during boot, add "oracledb" in your /etc/rc.conf:<br />
<br />
DAEMONS=(oracledb syslog-ng dbus !network netfs crond ntpd alsa hal wicd fam)<br />
<br />
Note: If the daemon doesn't start, please check that the {{ic|ORACLE_HOME}} path matches your current oracle directory in /etc/rc.d/oracledb:<br />
export ORACLE_HOME=/oracle/product/db<br />
<br />
$ pwd<br />
/oracle/product/db<br />
<br />
Test starting the daemon as root:<br />
/etc/rc.d/oracledb start<br />
<br />
Starting Oracle: <br />
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 27-FEB-2009 23:14:45<br />
...<br />
The command completed successfully<br />
Processing Database instance "archlinux": log file <br />
/oracle/product/db/startup.log<br />
OK<br />
<br />
Now you'll login to your oracle database each time you reboot:<br />
su oracle<br />
export ORACLE_SID=xdb<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
Install Method 2:<br />
su oracle<br />
export ORACLE_SID=archlinux<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
=== Setting permissions for normal users ===<br />
<br />
Since there is only one user(oracle) that has access to the oracle database, you need to add your normal user to the group "dba". In this case "joe" is the normal user:<br />
# gpasswd -a joe dba<br />
<br />
The group changes will take effect after you logout and login again. The user oracle has the permissions to access the oracle home directory, ie /home/oracle:<br />
drwx------ 6 oracle dba 4096 2009-02-27 23:27 oracle<br />
<br />
You need to grant the group "dba" permission to execute the binary files in the oracle home directory:<br />
chmod -R g+x /home/oracle<br />
<br />
Now you'll be able to run the oracle database as the normal user.<br />
<br />
== Transfer existing Oracle installation ==<br />
<br />
Moving or transferring Oracle can be quite useful in the following conditions:<br />
* replacing hardware<br />
* setting up several dev machines<br />
* running lean system (no desktop manager, java, etc)<br />
<br />
The installation of Oracle requires several packages. However, just running an Oracle database is much simpler and has far fewer requirements, as shown below. <br />
<br />
''In principle transferring Oracle should work across distros. Transferring from RHEL/Centos 5.2 to ARCH 2009.02 has been tested successfully.''<br />
<br />
To prep Oracle for a move shutdown database services<br />
dbstop ${ORACLE_HOME}<br />
lsnrctl stop<br />
<br />
Optional: stop OEM if it is running<br />
emctl stop dbconsole<br />
<br />
'''''If you are running other Oracle daemons stop them as well'''''<br />
<br />
This section assumes the following conditions about the existing Oracle installation:<br />
* oracle root is /oracle<br />
* oracle data is at /oracle/oradata/<sid><br />
<br />
Tar up entire Oracle installation and data.<br />
cd /<br />
tar czf oracle.tgz /oracle<br />
<br />
Using ssh and sftp or your method of choice transfer oracle.tgz to the root (/) of the target system.<br />
<br />
Login to target system as root and unpack the tar<br />
cd /<br />
tar xzf oracle.tgz<br />
chmod 755 -R /oracle<br />
chown -R oracle:dba /oracle<br />
<br />
Update the system:<br />
pacman -Syu python unzip sudo<br />
pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
Install required package run Oracle database and ''required'' daemons<br />
aurbuild -s libaio<br />
pacman -S sysstat<br />
<br />
Configure server for oracle<br />
[[Oracle#Configuration]]<br />
<br />
Setup OEM (optional)<br />
[[Oracle#Oracle_Enterprise_Manager_installation_.28optional.29]]<br />
<br />
Execute appropriate/desired post installation steps<br />
[[Oracle#Post_Installation]]<br />
<br />
== Known issues ==<br />
<br />
The Oracle Universal Installer (ie, in silent mode) seems create errors when installing on other paths than "../app/oracle/..".<br />
<br />
Two consistent errors using the current libraries will occur. The first one can be ignored:<br />
<br />
INFO: / usr/lib64/libstdc + + so.5:. Undefined reference to `memcpy@GLIBC_2.14 '<br />
collect2: error: ld returned 1 exit status<br />
<br />
Ignore this message by clicking the "Continue" button. Unfortunately,this has the consequence of the Lexical Compiler not working. The Lexical Compiler is used to generate the Chinese and Japanese dictionaries. <br />
<br />
The second error need be fixed as it can cause the emconsole to fail eventually. Fortunately, the fix is easy:<br />
<br />
su oracle<br />
cd $ORACLE_HOME/sysman/lib<br />
make -f ins_emagent.mk "agent"<br />
<br />
The last gcc call fails, which is what is causing the error. We need to add the -lnnz11 after the -lcore11 flag for this to make successfully, therefore, enter the following into the terminal:<br />
<br />
gcc -o /oracle/product/db/sysman/lib/emdctl -L/oracle/product/db/lib/ -L/oracle/product/db/sysman/lib/ -L/oracle/product/db/lib/stubs/ `cat /oracle/product/db/lib/sysliblist` -Wl,-rpath,/oracle/product/db/lib -lm `cat /oracle/product/db/lib/sysliblist` -ldl -lm -L/oracle/product/db/lib /oracle/product/db/sysman/lib//s0nmectl.o -lnmectl -lclntsh -L/oracle/product/db/lib -L/oracle/product/db/sysman/lib/ -lnmemso -lcore11 -lnnz11 -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -L/oracle/product/db/jdk/jre/lib/amd64/server -L/oracle/product/db/jdk/jre/lib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined `cat /oracle/product/db/lib/sysliblist` -ldl -lm<br />
<br />
The make will succeed and you can now choose continue in the Oracle installer.<br />
<br />
== See also ==<br />
<br />
Most of the steps are based on this oracle installation guide for ubuntu users. This guide includes step by step graphical examples:<br />
http://www.pythian.com/blogs/1355/installing-oracle-11gr1-on-ubuntu-810-intrepid-ibex</div>Xtraroothttps://wiki.archlinux.org/index.php?title=Oracle_Database&diff=292165Oracle Database2014-01-10T00:41:41Z<p>Xtraroot: /* Known issues */</p>
<hr />
<div>[[Category:Database management systems]]<br />
{{out of date|Installation: Packages and AUR reference too old, Dutch version is up-to-date}}<br />
[[nl:Oracle]]<br />
[[zh-CN:Oracle]]<br />
This document will help you install Oracle Database 11gR1 on Arch Linux. If you only want to connect to Oracle databases running elsewhere, see the instructions for installing the [[Oracle client]].<br />
<br />
By using the install method 2 you will be able to finalize the long installation process with only a few steps.<br />
<br />
== Install method 1 - manual ==<br />
<br />
This section will guide you through installing Oracle onto a fresh installation of archlinux. This is a general approach that has been tested with kernel 2.6.28.ARCH x86_64 and Oracle 11g R1 64-bit. '''''This should in principle work with other versions of Oracle'''''.<br />
<br />
=== Pre installation ===<br />
<br />
=== AUR helper ===<br />
<br />
To ease the installation process you may find useful to install an AUR helper:<br />
# pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
==== Required packages for Oracle database installation ====<br />
<br />
[[pacman|Install]] packages {{Pkg|unzip}} {{Pkg|sudo}} {{Grp|base-devel}} {{Pkg|icu}} {{Pkg|gawk}} {{Pkg|gdb}} {{Pkg|libelf}} {{Pkg|sysstat}} {{Pkg|libstdc++5}}.<br />
<br />
Install a [[Java]] runtime environment, like {{Pkg|jre7-openjdk}} and {{Pkg|jdk7-openjdk}}.<br />
<br />
From the [[AUR]], install {{AUR|ksh}} (other implementations like [[ksh|these]] may work), {{AUR|beecrypt}}, {{AUR|rpm}} and {{AUR|libaio}}.<br />
<br />
Oracle database 32-bit requires {{Pkg|unixodbc}}.<br />
<br />
Optional lib32 packages on x86_64 are: {{Pkg|lib32-libstdc++5}} {{Pkg|lib32-glibc}} {{Pkg|lib32-gcc-libs}}.<br />
<br />
Oracle database require 32-bit libaio and unixodbc on x86_64 but is not necessary under Arch linux.<br />
<br />
{{Note|The following step is not required in newer Arch Linux installation after the binary directories merge}}<br />
Some prerequisite symbolic links for Oracle Universal Installer.<br />
# ln -s /usr/bin/rpm /bin/rpm<br />
# ln -s /usr/bin/ksh /bin/ksh<br />
# ln -s /bin/awk /usr/bin/awk<br />
# ln -s /bin/tr /usr/bin/tr<br />
# ln -s /usr/bin/basename /bin/basename<br />
Arch x86_64:<br />
# ln -s /usr/lib /usr/lib64<br />
<br />
==== Configuration ====<br />
<br />
Create users and group for Oracle database:<br />
# groupadd oinstall<br />
# groupadd dba<br />
# useradd -m -g oinstall -G dba oracle<br />
<br />
Set password for the user oracle:<br />
# passwd oracle<br />
<br />
Optional: Add oracle to the {{ic|sshd_config}} file.<br />
# pacman -S openssh<br />
Add this line to {{ic|/etc/ssh/sshd_config}}:<br />
AllowUsers oracle<br />
<br />
Add oracle to {{ic|/etc/sudoers}}. This will give oracle super user privilege.<br />
oracle ALL=(ALL) ALL<br />
<br />
Add these lines to {{ic|/etc/sysctl.d/99-sysctl.conf}} ('''''Review Oracle documentation to adjust these settings''''').<br />
# oracle kernel settings<br />
fs.file-max = 6553600<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.ipv4.ip_local_port_range = 1024 65535<br />
net.core.rmem_default = 4194304<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.core.wmem_max = 262144<br />
<br />
Add these lines to {{ic|/etc/security/limits.conf}} ('''''Review Oracle documentation to adjust these settings''''')<br />
# oracle settings<br />
oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536<br />
<br />
Optional: You may reboot now if you want the changes to take effect.<br />
<br />
Create some directories for Oracle database. You can chose the directory path. Here is an example.<br />
mkdir -p /oracle/inventory /oracle/recovery /oracle/product/db<br />
<br />
Set permissions for the directories.<br />
chown -R oracle:dba /oracle<br />
chmod 777 /tmp<br />
<br />
Create or update oracle bashrc {{ic|/home/oracle/.bashrc}}. Here is an example of the oracle user settings.<br />
export ORACLE_BASE=/oracle<br />
export ORACLE_HOME=/oracle/product/db<br />
export ORACLE_SID=xdb<br />
export ORACLE_INVENTORY=/oracle/inventory<br />
export ORACLE_BASE ORACLE_SID ORACLE_HOME<br />
export PATH=$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH<br />
export EDITOR=nano<br />
export VISUAL=nano<br />
<br />
=== Graphical installation ===<br />
<br />
==== Installing Oracle database software ====<br />
<br />
Download the Oracle database from here:<br />
http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
Unzip the Oracle database.<br />
<br />
Arch i686:<br />
unzip linux_11gR1_database_1013.zip -d /media<br />
Arch x86_64:<br />
unzip linux.x64_11gR1_database_1013.zip -d /media<br />
<br />
Optional: Arch x86_64 (only required if the installer will not launch automatically ... at the time of this writing there was an issue with the packaged unzip in the 64-bit Oracle installer):<br />
cd /media/database/install<br />
mv unzip unzipx<br />
ln -s /usr/bin/unzip <br />
<br />
Change the permissions for the extracted Oracle database.<br />
chmod -R 777 /media/database<br />
chown -R oracle:oinstall /media/database<br />
<br />
Enter the directory where you extracted the Oracle database.<br />
<br />
In oder to run oracle installation script you need to export the X display as a normal user:<br />
DISPLAY=:0.0; export DISPLAY; xhost +<br />
<br />
Login as the user oracle and export the X display:<br />
su oracle<br />
DISPLAY=:0.0; export DISPLAY<br />
<br />
Enter the database directory and run the Oracle Universal Installer as the user oracle.<br />
cd /media/database<br />
./runInstaller -ignoreSysPrereqs<br />
<br />
During the Graphical installation:<br />
# Click on "Next". <br />
# Choose "Enterprise Edition" Installation Type and click on "Next"<br />
# Oracle Base should be: /oracle. Don't change it, unless you know what you're doing. <br />
## Change the default "Name" to orarch or something else. <br />
## The predefined path in {{ic|/etc/rc.d/oracledb}} is "db", ie: /oracle/product/db. If you want to use a different path you'll have to change {{ic|/etc/rc.d/oracledb}}, so that the startup script can locate ORACLE_HOME directory.<br />
## After changing the defaults, click on "Next". <br />
# Since Oracle database requires certain distro requirement, you'll have to manually check them and then click on "Next".<br />
# Chose "Software Install Only" and click on "Next".<br />
# There is only one DBA group for oracle database. Click on "Next".<br />
# Install "Summary" shows what's going to be installed. Click on "Install".<br />
# The installation will take some time, especially the "Linking" part. Be patient! If you get an error message ignore it by clicking on "Continue".<br />
## At the end of the installation you'll have to open another terminal, and execute {{ic|/oracle/product/db/root.sh}} as root. '''Don't click on "OK" yet'''.<br />
## When running root.sh, you'll be offered to use /usr/local/bin as the full pathname. Press the "Enter" key here.<br />
## Now you can click on "OK"<br />
# Installation is finished, click on "Exit" and "Yes", you really want to exit.<br />
<br />
=== Oracle Enterprise Manager installation (optional) ===<br />
<br />
This section describes how to install the web based OEM available in 10g+. <br />
<br />
''Depending on your settings the OUI may have already installed this''.<br />
<br />
Login or su to oracle, then run the following commands (answering the prompts approriately). '''''This may take a while'''''.<br />
cd ${ORACLE_HOME}/bin<br />
./emca -repos create<br />
./emca -config dbcontrol db<br />
<br />
Test this out by navigating to the enterprise manager (adjust the servername (localhost) apporpriately). <br />
https://localhost:1158/em/console<br />
<br />
You can control OEM with the following commands.<br />
emctl status dbconsole<br />
emctl stop dbconsole<br />
emctl start dbconsole<br />
<br />
== Install method 2 - AUR ==<br />
<br />
=== Installation ===<br />
<br />
{{Note| This installation method creates a database automatically. The Oracle database will therefore be ready to be used after the installation.}}<br />
<br />
'''Step 1.'''<br />
Download the Arch Linux package {{AUR|oracle}} from AUR.<br />
Download the Oracle database 11gR1: http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
'''Step 2.'''<br />
Extract the Arch Linux package into a directory. Copy the Oracle database 11gR1 into that directory as well.<br />
<br />
INFO: The default install configuration in {{ic| ee.rsp.patch}} is:<br />
ORACLE_BASE="/home/oracle/app/oracle"<br />
ORACLE_HOME="/home/oracle/app/oracle/product/11.1.0/orarch"<br />
ORACLE_HOME_NAME="orarch"<br />
s_globalDBName="archlinux"<br />
s_dbSid="archlinux"<br />
s_superAdminSamePasswd="orarchdbadmin"<br />
s_superAdminSamePasswdAgain="orarchdbadmin"<br />
<br />
Optional: You can either change the default password now or later after the installation. If you change the ee.rsp.patch file, you need to update the md5sums in the PKGBUILD file. To obtain the md5sum, run (makepkg -g) or:<br />
md5sum ee.rsp.patch <br />
<br />
Create the Oracle database package by using makepkg:<br />
makepkg -s<br />
<br />
'''Step 3.'''<br />
Install the package that makepkg has created by using pacman. You may get an error stating "/bin/ksh already exists", just remove that file and pacman will continue.<br />
<br />
Pacman will now install the Oracle database by executing Oracle's own installation script(./runInstaller -silent -ignoreSysPrereqs). <br />
<br />
The installation will take som time, please be patient. Do not exit terminal during database installation, especially when the installation script is executing configuration assistants:<br />
.... <br />
Starting to execute configuration assistants<br />
Configuration assistant "Oracle Net Configuration Assistant" succeeded <br />
...<br />
<br />
The installation script ends something like this:<br />
The following configuration scripts need to be executed as the "root" user.<br />
#!/bin/sh<br />
#Root script to run<br />
/home/oracle/oraInventory/orainstRoot.sh<br />
/home/oracle/app/oracle/product/11.1.0/orarch/root.sh<br />
To execute the configuration scripts:<br />
1. Open a terminal window<br />
2. Log in as "root"<br />
3. Run the scripts<br />
<br />
The installation of Oracle Database 11g was successful.<br />
Please check '/home/oracle/oraInventory/logs/silentInstall2009-03-03_07-24-10PM.log'<br />
for more details.<br />
<br />
'''Step 4.'''<br />
Run these scripts as root:<br />
<br />
# cd /home/oracle/oraInventory<br />
# ./orainstRoot.sh<br />
# cd /home/oracle/app/oracle/product/11.1.0/orarch<br />
# ./root.sh<br />
<br />
'''Step 5.'''<br />
The default user for the Oracle database is "oracle". Since the password is not set for the user oracle, you need to run passwd as root:<br />
passwd oracle<br />
<br />
'''Step 6.'''<br />
Login as the user oracle.<br />
su oracle<br />
<br />
Create the file /home/oracle/.bashrc and add these lines to the .bashrc file:<br />
export ORACLE_SID=archlinux<br />
export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/orarch<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
'''Step 7.'''<br />
If you haven't altered the {{ic| ee.rsp.patch}} file, you need to '''change the administration password for SYS and SYSTEM'''. <br />
<br />
{{Note| If the database isn't mounted or opened. Login as the user oracle and try this first:}}<br />
su oracle<br />
<br />
sqlplus '/as sysdba'<br />
<br />
SQL> startup mount;<br />
SQL> alter database open; <br />
<br />
Changing the password for the '''SYSTEM''' user:<br />
{{bc|<nowiki><br />
sqlplus '/as sysdba'<br />
<br />
SQL> show user<br />
USER is "SYS"<br />
<br />
SQL> passw system<br />
Changing password for system<br />
New password:<br />
Retype new password:<br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
Changing the password for the '''SYS''' user:<br />
{{bc|<nowiki><br />
sqlplus system/secretpassword<br />
<br />
SQL> show user;<br />
USER is "SYSTEM"<br />
<br />
SQL> passw sys<br />
Changing password for sys<br />
New password: <br />
Retype new password: <br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
== Post installation ==<br />
<br />
===Creating initial database ===<br />
<br />
==== Graphical ====<br />
<br />
You have only installed the Oracle database software. Now you need to create a database. Login as the user oracle:<br />
su oracle<br />
<br />
Export the ORACLE_HOME binary directory:<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Run database installation script:<br />
dbca<br />
<br />
During the graphical installation:<br />
<br />
# Click on "Next".<br />
# Check "Create a Database" and click on "Next".<br />
# Check "General Purpose or Transaction Processing" and click on "Next".<br />
# Chose a database name and SID. Example: Global Database Name: {{Ic|archlinux}}, SID: {{Ic|archlinux}}. And then click on "Next".<br />
# Uncheck "Configure Enterprise Manager", leave it empty and click on "Next".<br />
# Check "Use the Same Administrative Password for All Accounts", set password and click on "Next". <br />
# Check "File System" and click on "Next".<br />
# Check "Use Database File Locations from Template" and click on "Next".<br />
# Uncheck "Specify Flash Recovery Area" and click on "Next".<br />
# No need for "Sample Schemas", click on "Next".<br />
# If you do not know what you're doing, check "Typical" and click on "Next"<br />
# Check "Keep the enhanced 11g default security settings" and click on "Next".<br />
# Uncheck "Enable automatic maintenance tasks" if you wish to do it by yourself and click on "Next".<br />
# View your filesystem layout and click on "Next".<br />
# "Create Database" is checked by default. Click on "Finish" to create database.<br />
# Summary of following operations to be performed, click on "OK".<br />
# When database creation is complete, click on "Exit".<br />
<br />
==== Scripted ====<br />
<br />
This section walks you through doing a scripted initial database creation.<br />
<br />
{{Note|The scripts assume they are the first database to be installed on this system. If this is not the case review the xdb-create.sh script and comment out the portions which deal with the *.ora files.}}<br />
<br />
Download the following tar file with a set of scripted database installation scripts.<br />
wget http://sites.google.com/site/mbasil77/Home/instanceCreateXdb.tgz<br />
<br />
Extract the directory<br />
tar xzf instanceCreateXdb.tgz<br />
<br />
Move into instanceCreateXdb directory<br />
cd instanceCreateXdb<br />
<br />
File list<br />
* CreateDB.sql<br />
* CreateDBCatalog.sql<br />
* initxdb.dbs.ora<br />
* initxdb.ora<br />
* listener.ora<br />
* postDBCreation.sql<br />
* sqlnet.ora<br />
* sysObjects.sql<br />
* tnsnames.ora<br />
* xdb-create.sh<br />
* xdb-create.sql<br />
* xdb-secfix.sh<br />
<br />
Script notes<br />
* the files assume a database sid of '''xdb'''<br />
* the files assume an oracle base of '''/oracle/product/db'''<br />
* '''''review all memory and storage parameters against Oracle documentation'''''<br />
<br />
Setup filesystem (as root)<br />
./xdb-create.sh<br />
<br />
Install database from script ('''''this will take a long time''''')<br />
su oracle<br />
sqlplus / as sysdba @/oracle/admin/xdb/scripts/xdb-create.sql<br />
<br />
==== Testing database ====<br />
<br />
Login as the user oracle and run export ORACLE_SID="yourSID" etc., ie:<br />
export ORACLE_SID=xdb<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Running oraenv should confirm the exported configuration:<br />
oraenv<br />
<br />
ORACLE_SID = [xdb] ? <br />
The Oracle base for ORACLE_HOME=/oracle/product/db <br />
is /oracle<br />
<br />
Check if the database is shutting down or starting:<br />
sqlplus '/as sysdba'<br />
<br />
SQL> shutdown immediate;<br />
Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.<br />
<br />
SQL> startup mount;<br />
<br />
ORACLE instance started.<br />
<br />
Total System Global Area 385003520 bytes<br />
Fixed Size 1300100 bytes<br />
Variable Size 234883452 bytes<br />
Database Buffers 142606336 bytes<br />
Redo Buffers 6213632 bytes<br />
Database mounted.<br />
Database opened.<br />
<br />
Type "quit" when you want to leave SQL prompt:<br />
SQL> quit<br />
<br />
=== Starting oracle during the boot ===<br />
<br />
If you want to start with your oracle SID, replace ":N" with ":Y" in {{ic|/etc/oratab}}:<br />
<your sid>:<oracle home>:N<br />
<your sid>:<oracle home>:Y<br />
<br />
Example from Scripted database creation (/etc/oratab):<br />
xdb:/oracle/product/db:Y<br />
<br />
To start the oracle database daemon during boot, add "oracledb" in your /etc/rc.conf:<br />
<br />
DAEMONS=(oracledb syslog-ng dbus !network netfs crond ntpd alsa hal wicd fam)<br />
<br />
Note: If the daemon doesn't start, please check that the {{ic|ORACLE_HOME}} path matches your current oracle directory in /etc/rc.d/oracledb:<br />
export ORACLE_HOME=/oracle/product/db<br />
<br />
$ pwd<br />
/oracle/product/db<br />
<br />
Test starting the daemon as root:<br />
/etc/rc.d/oracledb start<br />
<br />
Starting Oracle: <br />
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 27-FEB-2009 23:14:45<br />
...<br />
The command completed successfully<br />
Processing Database instance "archlinux": log file <br />
/oracle/product/db/startup.log<br />
OK<br />
<br />
Now you'll login to your oracle database each time you reboot:<br />
su oracle<br />
export ORACLE_SID=xdb<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
Install Method 2:<br />
su oracle<br />
export ORACLE_SID=archlinux<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
=== Setting permissions for normal users ===<br />
<br />
Since there is only one user(oracle) that has access to the oracle database, you need to add your normal user to the group "dba". In this case "joe" is the normal user:<br />
# gpasswd -a joe dba<br />
<br />
The group changes will take effect after you logout and login again. The user oracle has the permissions to access the oracle home directory, ie /home/oracle:<br />
drwx------ 6 oracle dba 4096 2009-02-27 23:27 oracle<br />
<br />
You need to grant the group "dba" permission to execute the binary files in the oracle home directory:<br />
chmod -R g+x /home/oracle<br />
<br />
Now you'll be able to run the oracle database as the normal user.<br />
<br />
== Transfer existing Oracle installation ==<br />
<br />
Moving or transferring Oracle can be quite useful in the following conditions:<br />
* replacing hardware<br />
* setting up several dev machines<br />
* running lean system (no desktop manager, java, etc)<br />
<br />
The installation of Oracle requires several packages. However, just running an Oracle database is much simpler and has far fewer requirements, as shown below. <br />
<br />
''In principle transferring Oracle should work across distros. Transferring from RHEL/Centos 5.2 to ARCH 2009.02 has been tested successfully.''<br />
<br />
To prep Oracle for a move shutdown database services<br />
dbstop ${ORACLE_HOME}<br />
lsnrctl stop<br />
<br />
Optional: stop OEM if it is running<br />
emctl stop dbconsole<br />
<br />
'''''If you are running other Oracle daemons stop them as well'''''<br />
<br />
This section assumes the following conditions about the existing Oracle installation:<br />
* oracle root is /oracle<br />
* oracle data is at /oracle/oradata/<sid><br />
<br />
Tar up entire Oracle installation and data.<br />
cd /<br />
tar czf oracle.tgz /oracle<br />
<br />
Using ssh and sftp or your method of choice transfer oracle.tgz to the root (/) of the target system.<br />
<br />
Login to target system as root and unpack the tar<br />
cd /<br />
tar xzf oracle.tgz<br />
chmod 755 -R /oracle<br />
chown -R oracle:dba /oracle<br />
<br />
Update the system:<br />
pacman -Syu python unzip sudo<br />
pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
Install required package run Oracle database and ''required'' daemons<br />
aurbuild -s libaio<br />
pacman -S sysstat<br />
<br />
Configure server for oracle<br />
[[Oracle#Configuration]]<br />
<br />
Setup OEM (optional)<br />
[[Oracle#Oracle_Enterprise_Manager_installation_.28optional.29]]<br />
<br />
Execute appropriate/desired post installation steps<br />
[[Oracle#Post_Installation]]<br />
<br />
== Known issues ==<br />
<br />
The Oracle Universal Installer (ie, in silent mode) seems create errors when installing on other paths than "../app/oracle/..".<br />
<br />
Two consistent errors using the current libraries will occur. The first one can be ignored:<br />
<br />
INFO: / usr/lib64/libstdc + + so.5:. Undefined reference to `memcpy@GLIBC_2.14 '<br />
collect2: error: ld returned 1 exit status<br />
<br />
Ignore this message by clicking the "Continue" button. Unfortunately,this has the consequence that the Lexical Compiler is not working. This Lexical Compiler is used to generate the Chinese and Japanese dictionaries. <br />
<br />
The second error need be fixed as it can cause the emconsole to fail eventually. Fortunately, the fix is easy:<br />
<br />
su oracle<br />
cd $ORACLE_HOME/sysman/lib<br />
make -f ins_emagent.mk "agent"<br />
<br />
The last gcc call fails, which is what is causing the error. We need to add the -lnnz11 after the -lcore11 flag for this to make successfully, therefore, enter the following into the terminal:<br />
<br />
gcc -o /oracle/product/db/sysman/lib/emdctl -L/oracle/product/db/lib/ -L/oracle/product/db/sysman/lib/ -L/oracle/product/db/lib/stubs/ `cat /oracle/product/db/lib/sysliblist` -Wl,-rpath,/oracle/product/db/lib -lm `cat /oracle/product/db/lib/sysliblist` -ldl -lm -L/oracle/product/db/lib /oracle/product/db/sysman/lib//s0nmectl.o -lnmectl -lclntsh -L/oracle/product/db/lib -L/oracle/product/db/sysman/lib/ -lnmemso -lcore11 -lnnz11 -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -L/oracle/product/db/jdk/jre/lib/amd64/server -L/oracle/product/db/jdk/jre/lib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined `cat /oracle/product/db/lib/sysliblist` -ldl -lm<br />
<br />
The make will succeed and you can now choose continue in the Oracle installer.<br />
<br />
== See also ==<br />
<br />
Most of the steps are based on this oracle installation guide for ubuntu users. This guide includes step by step graphical examples:<br />
http://www.pythian.com/blogs/1355/installing-oracle-11gr1-on-ubuntu-810-intrepid-ibex</div>Xtraroothttps://wiki.archlinux.org/index.php?title=Oracle_Database&diff=292164Oracle Database2014-01-10T00:39:59Z<p>Xtraroot: /* Known issues */</p>
<hr />
<div>[[Category:Database management systems]]<br />
{{out of date|Installation: Packages and AUR reference too old, Dutch version is up-to-date}}<br />
[[nl:Oracle]]<br />
[[zh-CN:Oracle]]<br />
This document will help you install Oracle Database 11gR1 on Arch Linux. If you only want to connect to Oracle databases running elsewhere, see the instructions for installing the [[Oracle client]].<br />
<br />
By using the install method 2 you will be able to finalize the long installation process with only a few steps.<br />
<br />
== Install method 1 - manual ==<br />
<br />
This section will guide you through installing Oracle onto a fresh installation of archlinux. This is a general approach that has been tested with kernel 2.6.28.ARCH x86_64 and Oracle 11g R1 64-bit. '''''This should in principle work with other versions of Oracle'''''.<br />
<br />
=== Pre installation ===<br />
<br />
=== AUR helper ===<br />
<br />
To ease the installation process you may find useful to install an AUR helper:<br />
# pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
==== Required packages for Oracle database installation ====<br />
<br />
[[pacman|Install]] packages {{Pkg|unzip}} {{Pkg|sudo}} {{Grp|base-devel}} {{Pkg|icu}} {{Pkg|gawk}} {{Pkg|gdb}} {{Pkg|libelf}} {{Pkg|sysstat}} {{Pkg|libstdc++5}}.<br />
<br />
Install a [[Java]] runtime environment, like {{Pkg|jre7-openjdk}} and {{Pkg|jdk7-openjdk}}.<br />
<br />
From the [[AUR]], install {{AUR|ksh}} (other implementations like [[ksh|these]] may work), {{AUR|beecrypt}}, {{AUR|rpm}} and {{AUR|libaio}}.<br />
<br />
Oracle database 32-bit requires {{Pkg|unixodbc}}.<br />
<br />
Optional lib32 packages on x86_64 are: {{Pkg|lib32-libstdc++5}} {{Pkg|lib32-glibc}} {{Pkg|lib32-gcc-libs}}.<br />
<br />
Oracle database require 32-bit libaio and unixodbc on x86_64 but is not necessary under Arch linux.<br />
<br />
{{Note|The following step is not required in newer Arch Linux installation after the binary directories merge}}<br />
Some prerequisite symbolic links for Oracle Universal Installer.<br />
# ln -s /usr/bin/rpm /bin/rpm<br />
# ln -s /usr/bin/ksh /bin/ksh<br />
# ln -s /bin/awk /usr/bin/awk<br />
# ln -s /bin/tr /usr/bin/tr<br />
# ln -s /usr/bin/basename /bin/basename<br />
Arch x86_64:<br />
# ln -s /usr/lib /usr/lib64<br />
<br />
==== Configuration ====<br />
<br />
Create users and group for Oracle database:<br />
# groupadd oinstall<br />
# groupadd dba<br />
# useradd -m -g oinstall -G dba oracle<br />
<br />
Set password for the user oracle:<br />
# passwd oracle<br />
<br />
Optional: Add oracle to the {{ic|sshd_config}} file.<br />
# pacman -S openssh<br />
Add this line to {{ic|/etc/ssh/sshd_config}}:<br />
AllowUsers oracle<br />
<br />
Add oracle to {{ic|/etc/sudoers}}. This will give oracle super user privilege.<br />
oracle ALL=(ALL) ALL<br />
<br />
Add these lines to {{ic|/etc/sysctl.d/99-sysctl.conf}} ('''''Review Oracle documentation to adjust these settings''''').<br />
# oracle kernel settings<br />
fs.file-max = 6553600<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.ipv4.ip_local_port_range = 1024 65535<br />
net.core.rmem_default = 4194304<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.core.wmem_max = 262144<br />
<br />
Add these lines to {{ic|/etc/security/limits.conf}} ('''''Review Oracle documentation to adjust these settings''''')<br />
# oracle settings<br />
oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536<br />
<br />
Optional: You may reboot now if you want the changes to take effect.<br />
<br />
Create some directories for Oracle database. You can chose the directory path. Here is an example.<br />
mkdir -p /oracle/inventory /oracle/recovery /oracle/product/db<br />
<br />
Set permissions for the directories.<br />
chown -R oracle:dba /oracle<br />
chmod 777 /tmp<br />
<br />
Create or update oracle bashrc {{ic|/home/oracle/.bashrc}}. Here is an example of the oracle user settings.<br />
export ORACLE_BASE=/oracle<br />
export ORACLE_HOME=/oracle/product/db<br />
export ORACLE_SID=xdb<br />
export ORACLE_INVENTORY=/oracle/inventory<br />
export ORACLE_BASE ORACLE_SID ORACLE_HOME<br />
export PATH=$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH<br />
export EDITOR=nano<br />
export VISUAL=nano<br />
<br />
=== Graphical installation ===<br />
<br />
==== Installing Oracle database software ====<br />
<br />
Download the Oracle database from here:<br />
http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
Unzip the Oracle database.<br />
<br />
Arch i686:<br />
unzip linux_11gR1_database_1013.zip -d /media<br />
Arch x86_64:<br />
unzip linux.x64_11gR1_database_1013.zip -d /media<br />
<br />
Optional: Arch x86_64 (only required if the installer will not launch automatically ... at the time of this writing there was an issue with the packaged unzip in the 64-bit Oracle installer):<br />
cd /media/database/install<br />
mv unzip unzipx<br />
ln -s /usr/bin/unzip <br />
<br />
Change the permissions for the extracted Oracle database.<br />
chmod -R 777 /media/database<br />
chown -R oracle:oinstall /media/database<br />
<br />
Enter the directory where you extracted the Oracle database.<br />
<br />
In oder to run oracle installation script you need to export the X display as a normal user:<br />
DISPLAY=:0.0; export DISPLAY; xhost +<br />
<br />
Login as the user oracle and export the X display:<br />
su oracle<br />
DISPLAY=:0.0; export DISPLAY<br />
<br />
Enter the database directory and run the Oracle Universal Installer as the user oracle.<br />
cd /media/database<br />
./runInstaller -ignoreSysPrereqs<br />
<br />
During the Graphical installation:<br />
# Click on "Next". <br />
# Choose "Enterprise Edition" Installation Type and click on "Next"<br />
# Oracle Base should be: /oracle. Don't change it, unless you know what you're doing. <br />
## Change the default "Name" to orarch or something else. <br />
## The predefined path in {{ic|/etc/rc.d/oracledb}} is "db", ie: /oracle/product/db. If you want to use a different path you'll have to change {{ic|/etc/rc.d/oracledb}}, so that the startup script can locate ORACLE_HOME directory.<br />
## After changing the defaults, click on "Next". <br />
# Since Oracle database requires certain distro requirement, you'll have to manually check them and then click on "Next".<br />
# Chose "Software Install Only" and click on "Next".<br />
# There is only one DBA group for oracle database. Click on "Next".<br />
# Install "Summary" shows what's going to be installed. Click on "Install".<br />
# The installation will take some time, especially the "Linking" part. Be patient! If you get an error message ignore it by clicking on "Continue".<br />
## At the end of the installation you'll have to open another terminal, and execute {{ic|/oracle/product/db/root.sh}} as root. '''Don't click on "OK" yet'''.<br />
## When running root.sh, you'll be offered to use /usr/local/bin as the full pathname. Press the "Enter" key here.<br />
## Now you can click on "OK"<br />
# Installation is finished, click on "Exit" and "Yes", you really want to exit.<br />
<br />
=== Oracle Enterprise Manager installation (optional) ===<br />
<br />
This section describes how to install the web based OEM available in 10g+. <br />
<br />
''Depending on your settings the OUI may have already installed this''.<br />
<br />
Login or su to oracle, then run the following commands (answering the prompts approriately). '''''This may take a while'''''.<br />
cd ${ORACLE_HOME}/bin<br />
./emca -repos create<br />
./emca -config dbcontrol db<br />
<br />
Test this out by navigating to the enterprise manager (adjust the servername (localhost) apporpriately). <br />
https://localhost:1158/em/console<br />
<br />
You can control OEM with the following commands.<br />
emctl status dbconsole<br />
emctl stop dbconsole<br />
emctl start dbconsole<br />
<br />
== Install method 2 - AUR ==<br />
<br />
=== Installation ===<br />
<br />
{{Note| This installation method creates a database automatically. The Oracle database will therefore be ready to be used after the installation.}}<br />
<br />
'''Step 1.'''<br />
Download the Arch Linux package {{AUR|oracle}} from AUR.<br />
Download the Oracle database 11gR1: http://www.oracle.com/technology/software/products/database/index.html<br />
<br />
'''Step 2.'''<br />
Extract the Arch Linux package into a directory. Copy the Oracle database 11gR1 into that directory as well.<br />
<br />
INFO: The default install configuration in {{ic| ee.rsp.patch}} is:<br />
ORACLE_BASE="/home/oracle/app/oracle"<br />
ORACLE_HOME="/home/oracle/app/oracle/product/11.1.0/orarch"<br />
ORACLE_HOME_NAME="orarch"<br />
s_globalDBName="archlinux"<br />
s_dbSid="archlinux"<br />
s_superAdminSamePasswd="orarchdbadmin"<br />
s_superAdminSamePasswdAgain="orarchdbadmin"<br />
<br />
Optional: You can either change the default password now or later after the installation. If you change the ee.rsp.patch file, you need to update the md5sums in the PKGBUILD file. To obtain the md5sum, run (makepkg -g) or:<br />
md5sum ee.rsp.patch <br />
<br />
Create the Oracle database package by using makepkg:<br />
makepkg -s<br />
<br />
'''Step 3.'''<br />
Install the package that makepkg has created by using pacman. You may get an error stating "/bin/ksh already exists", just remove that file and pacman will continue.<br />
<br />
Pacman will now install the Oracle database by executing Oracle's own installation script(./runInstaller -silent -ignoreSysPrereqs). <br />
<br />
The installation will take som time, please be patient. Do not exit terminal during database installation, especially when the installation script is executing configuration assistants:<br />
.... <br />
Starting to execute configuration assistants<br />
Configuration assistant "Oracle Net Configuration Assistant" succeeded <br />
...<br />
<br />
The installation script ends something like this:<br />
The following configuration scripts need to be executed as the "root" user.<br />
#!/bin/sh<br />
#Root script to run<br />
/home/oracle/oraInventory/orainstRoot.sh<br />
/home/oracle/app/oracle/product/11.1.0/orarch/root.sh<br />
To execute the configuration scripts:<br />
1. Open a terminal window<br />
2. Log in as "root"<br />
3. Run the scripts<br />
<br />
The installation of Oracle Database 11g was successful.<br />
Please check '/home/oracle/oraInventory/logs/silentInstall2009-03-03_07-24-10PM.log'<br />
for more details.<br />
<br />
'''Step 4.'''<br />
Run these scripts as root:<br />
<br />
# cd /home/oracle/oraInventory<br />
# ./orainstRoot.sh<br />
# cd /home/oracle/app/oracle/product/11.1.0/orarch<br />
# ./root.sh<br />
<br />
'''Step 5.'''<br />
The default user for the Oracle database is "oracle". Since the password is not set for the user oracle, you need to run passwd as root:<br />
passwd oracle<br />
<br />
'''Step 6.'''<br />
Login as the user oracle.<br />
su oracle<br />
<br />
Create the file /home/oracle/.bashrc and add these lines to the .bashrc file:<br />
export ORACLE_SID=archlinux<br />
export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/orarch<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
'''Step 7.'''<br />
If you haven't altered the {{ic| ee.rsp.patch}} file, you need to '''change the administration password for SYS and SYSTEM'''. <br />
<br />
{{Note| If the database isn't mounted or opened. Login as the user oracle and try this first:}}<br />
su oracle<br />
<br />
sqlplus '/as sysdba'<br />
<br />
SQL> startup mount;<br />
SQL> alter database open; <br />
<br />
Changing the password for the '''SYSTEM''' user:<br />
{{bc|<nowiki><br />
sqlplus '/as sysdba'<br />
<br />
SQL> show user<br />
USER is "SYS"<br />
<br />
SQL> passw system<br />
Changing password for system<br />
New password:<br />
Retype new password:<br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
Changing the password for the '''SYS''' user:<br />
{{bc|<nowiki><br />
sqlplus system/secretpassword<br />
<br />
SQL> show user;<br />
USER is "SYSTEM"<br />
<br />
SQL> passw sys<br />
Changing password for sys<br />
New password: <br />
Retype new password: <br />
Password changed<br />
<br />
SQL> quit<br />
</nowiki>}}<br />
<br />
== Post installation ==<br />
<br />
===Creating initial database ===<br />
<br />
==== Graphical ====<br />
<br />
You have only installed the Oracle database software. Now you need to create a database. Login as the user oracle:<br />
su oracle<br />
<br />
Export the ORACLE_HOME binary directory:<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Run database installation script:<br />
dbca<br />
<br />
During the graphical installation:<br />
<br />
# Click on "Next".<br />
# Check "Create a Database" and click on "Next".<br />
# Check "General Purpose or Transaction Processing" and click on "Next".<br />
# Chose a database name and SID. Example: Global Database Name: {{Ic|archlinux}}, SID: {{Ic|archlinux}}. And then click on "Next".<br />
# Uncheck "Configure Enterprise Manager", leave it empty and click on "Next".<br />
# Check "Use the Same Administrative Password for All Accounts", set password and click on "Next". <br />
# Check "File System" and click on "Next".<br />
# Check "Use Database File Locations from Template" and click on "Next".<br />
# Uncheck "Specify Flash Recovery Area" and click on "Next".<br />
# No need for "Sample Schemas", click on "Next".<br />
# If you do not know what you're doing, check "Typical" and click on "Next"<br />
# Check "Keep the enhanced 11g default security settings" and click on "Next".<br />
# Uncheck "Enable automatic maintenance tasks" if you wish to do it by yourself and click on "Next".<br />
# View your filesystem layout and click on "Next".<br />
# "Create Database" is checked by default. Click on "Finish" to create database.<br />
# Summary of following operations to be performed, click on "OK".<br />
# When database creation is complete, click on "Exit".<br />
<br />
==== Scripted ====<br />
<br />
This section walks you through doing a scripted initial database creation.<br />
<br />
{{Note|The scripts assume they are the first database to be installed on this system. If this is not the case review the xdb-create.sh script and comment out the portions which deal with the *.ora files.}}<br />
<br />
Download the following tar file with a set of scripted database installation scripts.<br />
wget http://sites.google.com/site/mbasil77/Home/instanceCreateXdb.tgz<br />
<br />
Extract the directory<br />
tar xzf instanceCreateXdb.tgz<br />
<br />
Move into instanceCreateXdb directory<br />
cd instanceCreateXdb<br />
<br />
File list<br />
* CreateDB.sql<br />
* CreateDBCatalog.sql<br />
* initxdb.dbs.ora<br />
* initxdb.ora<br />
* listener.ora<br />
* postDBCreation.sql<br />
* sqlnet.ora<br />
* sysObjects.sql<br />
* tnsnames.ora<br />
* xdb-create.sh<br />
* xdb-create.sql<br />
* xdb-secfix.sh<br />
<br />
Script notes<br />
* the files assume a database sid of '''xdb'''<br />
* the files assume an oracle base of '''/oracle/product/db'''<br />
* '''''review all memory and storage parameters against Oracle documentation'''''<br />
<br />
Setup filesystem (as root)<br />
./xdb-create.sh<br />
<br />
Install database from script ('''''this will take a long time''''')<br />
su oracle<br />
sqlplus / as sysdba @/oracle/admin/xdb/scripts/xdb-create.sql<br />
<br />
==== Testing database ====<br />
<br />
Login as the user oracle and run export ORACLE_SID="yourSID" etc., ie:<br />
export ORACLE_SID=xdb<br />
export ORACLE_HOME=/oracle/product/db<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
<br />
Running oraenv should confirm the exported configuration:<br />
oraenv<br />
<br />
ORACLE_SID = [xdb] ? <br />
The Oracle base for ORACLE_HOME=/oracle/product/db <br />
is /oracle<br />
<br />
Check if the database is shutting down or starting:<br />
sqlplus '/as sysdba'<br />
<br />
SQL> shutdown immediate;<br />
Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.<br />
<br />
SQL> startup mount;<br />
<br />
ORACLE instance started.<br />
<br />
Total System Global Area 385003520 bytes<br />
Fixed Size 1300100 bytes<br />
Variable Size 234883452 bytes<br />
Database Buffers 142606336 bytes<br />
Redo Buffers 6213632 bytes<br />
Database mounted.<br />
Database opened.<br />
<br />
Type "quit" when you want to leave SQL prompt:<br />
SQL> quit<br />
<br />
=== Starting oracle during the boot ===<br />
<br />
If you want to start with your oracle SID, replace ":N" with ":Y" in {{ic|/etc/oratab}}:<br />
<your sid>:<oracle home>:N<br />
<your sid>:<oracle home>:Y<br />
<br />
Example from Scripted database creation (/etc/oratab):<br />
xdb:/oracle/product/db:Y<br />
<br />
To start the oracle database daemon during boot, add "oracledb" in your /etc/rc.conf:<br />
<br />
DAEMONS=(oracledb syslog-ng dbus !network netfs crond ntpd alsa hal wicd fam)<br />
<br />
Note: If the daemon doesn't start, please check that the {{ic|ORACLE_HOME}} path matches your current oracle directory in /etc/rc.d/oracledb:<br />
export ORACLE_HOME=/oracle/product/db<br />
<br />
$ pwd<br />
/oracle/product/db<br />
<br />
Test starting the daemon as root:<br />
/etc/rc.d/oracledb start<br />
<br />
Starting Oracle: <br />
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 27-FEB-2009 23:14:45<br />
...<br />
The command completed successfully<br />
Processing Database instance "archlinux": log file <br />
/oracle/product/db/startup.log<br />
OK<br />
<br />
Now you'll login to your oracle database each time you reboot:<br />
su oracle<br />
export ORACLE_SID=xdb<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
Install Method 2:<br />
su oracle<br />
export ORACLE_SID=archlinux<br />
oraenv<br />
sqlplus '/as sysdba'<br />
<br />
=== Setting permissions for normal users ===<br />
<br />
Since there is only one user(oracle) that has access to the oracle database, you need to add your normal user to the group "dba". In this case "joe" is the normal user:<br />
# gpasswd -a joe dba<br />
<br />
The group changes will take effect after you logout and login again. The user oracle has the permissions to access the oracle home directory, ie /home/oracle:<br />
drwx------ 6 oracle dba 4096 2009-02-27 23:27 oracle<br />
<br />
You need to grant the group "dba" permission to execute the binary files in the oracle home directory:<br />
chmod -R g+x /home/oracle<br />
<br />
Now you'll be able to run the oracle database as the normal user.<br />
<br />
== Transfer existing Oracle installation ==<br />
<br />
Moving or transferring Oracle can be quite useful in the following conditions:<br />
* replacing hardware<br />
* setting up several dev machines<br />
* running lean system (no desktop manager, java, etc)<br />
<br />
The installation of Oracle requires several packages. However, just running an Oracle database is much simpler and has far fewer requirements, as shown below. <br />
<br />
''In principle transferring Oracle should work across distros. Transferring from RHEL/Centos 5.2 to ARCH 2009.02 has been tested successfully.''<br />
<br />
To prep Oracle for a move shutdown database services<br />
dbstop ${ORACLE_HOME}<br />
lsnrctl stop<br />
<br />
Optional: stop OEM if it is running<br />
emctl stop dbconsole<br />
<br />
'''''If you are running other Oracle daemons stop them as well'''''<br />
<br />
This section assumes the following conditions about the existing Oracle installation:<br />
* oracle root is /oracle<br />
* oracle data is at /oracle/oradata/<sid><br />
<br />
Tar up entire Oracle installation and data.<br />
cd /<br />
tar czf oracle.tgz /oracle<br />
<br />
Using ssh and sftp or your method of choice transfer oracle.tgz to the root (/) of the target system.<br />
<br />
Login to target system as root and unpack the tar<br />
cd /<br />
tar xzf oracle.tgz<br />
chmod 755 -R /oracle<br />
chown -R oracle:dba /oracle<br />
<br />
Update the system:<br />
pacman -Syu python unzip sudo<br />
pacman -U ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.4-1-any.pkg.tar.gz<br />
<br />
Install required package run Oracle database and ''required'' daemons<br />
aurbuild -s libaio<br />
pacman -S sysstat<br />
<br />
Configure server for oracle<br />
[[Oracle#Configuration]]<br />
<br />
Setup OEM (optional)<br />
[[Oracle#Oracle_Enterprise_Manager_installation_.28optional.29]]<br />
<br />
Execute appropriate/desired post installation steps<br />
[[Oracle#Post_Installation]]<br />
<br />
== Known issues ==<br />
<br />
The Oracle Universal Installer (ie, in silent mode) seems create errors when installing on other paths than "../app/oracle/..".<br />
<br />
Two consistent errors using the current libraries will occur. The first one can be ignored:<br />
<br />
INFO: / usr/lib64/libstdc + + so.5:. Undefined reference to `memcpy@GLIBC_2.14 '<br />
collect2: error: ld returned 1 exit status<br />
<br />
Ignore this message by clicking the "Continue" button. Unfortunately,this has the consequence that the Lexical Compiler is not working. This Lexical Compiler is used to generate the Chinese and Japanese dictionaries. <br />
<br />
The second error need be fixed as it can cause the emconsole to fail eventually. Fortunately, the fix is easy:<br />
<br />
su oracle<br />
cd $ORACLE_HOME/sysman/lib<br />
make -f ins_emagent.mk "agent"<br />
<br />
The last gcc call fails, which is what is causing the error. We need to add the -lnnz11 after the -lcore11 flag for this to make successfully, therefore, enter the following into the terminal:<br />
<br />
gcc -o /oracle/product/db/sysman/lib/emdctl -L/oracle/product/db/lib/ -L/oracle/product/db/sysman/lib/ -L/oracle/product/db/lib/stubs/ `cat /oracle/product/db/lib/sysliblist` -Wl,-rpath,/oracle/product/db/lib -lm `cat /oracle/product/db/lib/sysliblist` -ldl -lm -L/oracle/product/db/lib /oracle/product/db/sysman/lib//s0nmectl.o -lnmectl -lclntsh -L/oracle/product/db/lib -L/oracle/product/db/sysman/lib/ -lnmemso -lcore11 -lnnz11 -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -L/oracle/product/db/jdk/jre/lib/amd64/server -L/oracle/product/db/jdk/jre/lib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/oracle/product/db/lib/:/oracle/product/db/sysman/lib/:/oracle/product/db/jdk/jre/lib/amd64/server:/oracle/product/db/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined `cat /oracle/product/db/lib/sysliblist` -ldl -lm<br />
<br />
The make will succeed and you can now choose continue in the Oracle installer.<br />
<br />
== See also ==<br />
<br />
Most of the steps are based on this oracle installation guide for ubuntu users. This guide includes step by step graphical examples:<br />
http://www.pythian.com/blogs/1355/installing-oracle-11gr1-on-ubuntu-810-intrepid-ibex</div>Xtraroothttps://wiki.archlinux.org/index.php?title=Arch_compared_to_other_distributions&diff=290887Arch compared to other distributions2013-12-30T11:35:37Z<p>Xtraroot: Removed line about source mage history - irrelevant, opinion-based and link was broken</p>
<hr />
<div>[[Category:About Arch]]<br />
[[cs:Arch Compared to Other Distributions]]<br />
[[da:Arch Compared to Other Distributions]]<br />
[[de:Arch vs. Distribution X]]<br />
[[el:Arch Compared to Other Distributions]]<br />
[[es:Arch Compared to Other Distributions]]<br />
[[fa:آرچ در مقایسه با سایر توزیعها]]<br />
[[fr:Arch vs autres distributions]]<br />
[[hu:Arch Compared to Other Distributions]]<br />
[[id:Arch Compared to Other Distributions]]<br />
[[it:Arch Compared to Other Distributions]]<br />
[[ja:Arch Compared to Other Distributions]]<br />
[[ko:Arch Compared to Other Distributions]]<br />
[[lt:Arch Compared to Other Distributions]]<br />
[[nl:Arch Compared to Other Distributions]]<br />
[[pl:Arch Compared to Other Distributions]]<br />
[[pt:Arch Compared to Other Distributions]]<br />
[[ro: Arch în comparație cu alte distribuții]]<br />
[[ru:Arch Compared to Other Distributions]]<br />
[[sk:Arch Compared to Other Distributions]]<br />
[[th:Arch Compared to Other Distributions]]<br />
[[tr:Arch_ile_diğer_dağıtımların_karşılaştırması]]<br />
[[uk:Arch Compared to Other Distributions]]<br />
[[zh-CN:Arch Compared to Other Distributions]]<br />
[[zh-TW:Arch Compared to Other Distributions]]<br />
{{Related articles start}}<br />
{{Related|Arch Linux}}<br />
{{Related|The Arch Way}}<br />
{{Related articles end}}<br />
This page attempts to draw a comparison between Arch Linux and other popular GNU/Linux distributions and UNIX-like operating systems. The summaries that follow are brief descriptions that may help a person decide if Arch Linux will suit their needs. Although reviews and descriptions can be useful, first-hand experience is invariably the best way to compare distributions.<br />
<br />
== Source-based ==<br />
<br />
Source-based distributions are highly portable, giving the advantage of controlling and compiling the entire OS and applications for a particular machine architecture and usage scheme, with the disadvantage of the time-consuming nature of source compilation. The Arch base and all packages are compiled for i686 and x86_64 architectures, offering a potential performance boost over i486/i586 binary distributions, with the added advantage of expedient installation.<br />
<br />
=== Gentoo Linux ===<br />
<br />
* Both Arch Linux and Gentoo Linux are rolling release systems, making packages available to the distribution a short time after they are released upstream. <br />
* The Gentoo packages and base system are built directly from source code according to user-specified ''USE flags''. Arch provides a ports-like system for building packages from source, though the Arch base system is designed to be installed as pre-built i686/x86_64 binary. This generally makes Arch quicker to build and update, and allows Gentoo to be more systemically customizable.<br />
* Arch supports i686 and x86_64 while Gentoo officially supports x86, x86_64, PPC, SPARC, Alpha, ARM, MIPS, HP/PA, S/390, sh, and Itanium architectures.<br />
* Because both the Gentoo and Arch installations only include a base system, both are considered to be highly customizable. Gentoo users will generally feel quite comfortable with most aspects of Arch.<br />
<br />
=== Sorcerer/Lunar-Linux/Source Mage ===<br />
<br />
* Sorcerer/Lunar-Linux/Source Mage (SLS) are all source-based distributions originally related to one another. <br />
* SLS distributions use a rather simple set of script files to create package descriptions, and use a global configuration file to configure the compilation process, much like the [[Arch Build System]]. The SLS tools do full dependency checking, including handling optional features, package tracking, removal and upgrading. There are no binary packages for any of the SLS family, although they all provide the ability to roll back to earlier installed packages easily.<br />
* The installation process involves configuring a simple base system from the shell and ncurses menus, then optionally recompiling the base system afterward. <br />
* Like Arch, there is no default WM/DE/DM, and Xorg is not included in the base installation. Several X server alternatives are available (X.Org 6.8 or 7, XFree86).<br />
<br />
== Minimalist ==<br />
<br />
The minimalist distributions are quite comparable to Arch, sharing several similarities. All are considered "simple" from a technical standpoint.<br />
<br />
=== LFS ===<br />
<br />
* LFS, (or Linux From Scratch) exists simply as documentation. The book instructs the user on obtaining the source code for a minimal base package set for a functional GNU/Linux system, and how to manually compile, patch and configure it from scratch. LFS is as minimal as it gets, and offers an excellent and educational process of building and customizing a base system.<br />
* LFS provides no online repositories; sources are manually obtained, compiled and installed with ''make''. (Several manual methods of package management exist, and are mentioned in LFS Hints). <br />
* Arch provides these very same packages, plus [[systemd]], a few extra tools and the powerful [[pacman]] package manager as its base system, already compiled for i686/x86_64. Along with the minimal Arch base system, the Arch community and developers provide and maintain many thousands of binary packages installable via pacman as well as [[PKGBUILD]] build scripts for use with the [[Arch Build System]]. Arch also includes the [[makepkg]] tool for expediently building or customizing ''.pkg.tar.xz'' packages, readily installable by pacman. <br />
* Judd Vinet built Arch from scratch, and then wrote pacman in C. Historically, Arch was sometimes humorously described simply as "Linux, with a nice package manager."<br />
<br />
=== CRUX ===<br />
* Before creating Arch, Judd Vinet admired and used CRUX; a minimalist distribution created by Per Lidén.Originally inspired by ideas in common with CRUX and BSD, Arch was built from scratch, and [[pacman]] was then coded in C. <br />
* Arch and CRUX share some guiding principles: for instance, both are architecture-optimized, minimalist and K.I.S.S.-oriented. <br />
* Both ship with ports-like systems, and, like *BSD, both provide a minimal base environment to build upon. <br />
* Arch features pacman, which handles binary system package management and works seamlessly with the [[Arch Build System]]. CRUX uses a community contributed system called prt-get, which, in combination with its own ports system, handles dependency resolution, but builds all packages from source (though the CRUX base installation is binary). <br />
* Arch officially supports x86_64 and i686 only, whereas CRUX officially offers only x86_64.<br />
*Arch uses a rolling-release system and features a large array of binary package repositories as well as the [[Arch User Repository]]. CRUX provides a more slimmed-down officially supported ports system in addition to a comparatively modest community repository.<br />
<br />
=== Slackware ===<br />
<br />
* Slackware and Arch are quite similar in that both are simple distributions focused on elegance and minimalism. <br />
<br />
* Slackware is famous for its lack of branding and completely vanilla packages, from the kernel up. Arch typically applies patching only to avoid severe breakage or to ensure packages will compile cleanly. <br />
<br />
* Slackware uses BSD-style init scripts, Arch uses [[systemd]]. <br />
<br />
* Arch supplies a package management system in [[pacman]] which, unlike Slackware's standard tools, offers automatic dependency resolution and allows for more automated system upgrades. Slackware users typically prefer their method of manual dependency resolution, citing the level of system control it grants them, as well as Slackware's excellent supply of pre-installed libraries and dependencies. <br />
<br />
* Arch is a rolling-release system. Slackware is seen as more conservative in its release cycle, preferring proven stable packages. Arch is more ''bleeding-edge'' in this respect. <br />
<br />
* Arch Linux provides many thousands of binary packages within its official repositories whereas Slackware official repositories are more modest. <br />
<br />
* Arch offers the [[Arch Build System]], an actual ports-like system and also the [[AUR]], a very large collection of PKGBUILDs contributed by users. Slackware offers a similar, though slimmer system at [http://www.slackbuilds.org slackbuilds.org] which is a semi-official repository of Slackbuilds, which are analogous to Arch PKGBUILDs. Slackware users will generally be quite comfortable with most aspects of Arch.<br />
<br />
== General ==<br />
<br />
These distributions offer a broad range of advantages and strengths, and can be made to serve most operating system uses.<br />
<br />
=== Debian GNU/Linux ===<br />
<br />
* Debian is the largest upstream Linux distribution with a bigger community and features stable, testing, and unstable branches, offering over 30,000 high quality binary packages. The available number of Arch binary packages is more modest. However, when including the AUR, the quantities are very comparable. <br />
<br />
* Debian has a more vehement stance on free software but still includes non-free software in its non-free repos. Arch is more lenient, and therefore inclusive, concerning ''non-free packages'' as defined by GNU, thereby leaving the choice to the users.<br />
<br />
* Debian's design approach focuses more on stability and stringent testing and focus based mostly on its famous "Debian social contract". Arch is focused more on the philosophy of simplicity, minimalism, and offering bleeding edge software. Arch packages are more current than Debian Stable and Testing, being more comparable to the Debian Unstable branch. <br />
<br />
* Both Debian and Arch offer well-regarded package management systems. <br />
<br />
* Arch is a rolling release, whereas Debian Stable is released with "frozen" packages. Debian unstable is rolling.<br />
<br />
* Debian is available for many architectures, including alpha, arm, hppa, i386, x86_64, ia64, m68k, mips, mipsel, powerpc, s390, and sparc, whereas Arch is officially i686 and x86_64, with community ports for arm (for Raspberry Pi for example) only. <br />
<br />
* Arch provides more expedient support for building custom, installable packages from outside sources, with a ports-like package build system. Debian does not offer a ports system, relying instead on its huge binary repositories.<br />
<br />
* The Arch installation system only offers a minimal base, transparently exposed during system configuration, whereas Debian's methods offer a more automatically configured approach as well as several alternative methods of installation. <br />
<br />
* Debian utilizes the ''SysVinit'' by default even though systemd and upstart are available for users to configure, whereas Arch uses [[systemd]] by default for overall better performance. <br />
<br />
* Arch keeps patching to a minimum, thus avoiding problems that upstream are unable to review, whereas Debian patches its packages more liberally for a wider audience.<br />
<br />
=== Fedora ===<br />
<br />
* Fedora is community developed, yet corporately backed by Red Hat; it is often presented as a bleeding edge testbed release system; Fedora packages and projects migrate to RHEL and some eventually become adopted by other distributions. Arch too is generally considered bleeding edge, although it is a rolling-release and does not serve as a testing branch for another distribution.<br />
<br />
* Fedora packages are RPM format, using the YUM package manager, and official graphical package tools are also available. Arch uses [[pacman]] to manage tar.xz packages and does not officially support a graphical frontend.<br />
<br />
* Fedora refuses to include MP3 media support and other non-free software in official repositories due to its dedication to free software, though third-party repositories are available for such packages. Arch is more lenient in its disposition toward MP3 and non-free software, leaving the discernment to the user.<br />
<br />
* Fedora offers many installation options including a graphical installer as well as a minimal option. Fedora "spins" also provide alternative assortments of desktop environments to choose from, each with a modest assortment of default packages. Arch, on the other hand, only provides a few scripts meant to ease the process of a minimal base system install.<br />
<br />
* Fedora has a scheduled release cycle, but officially supports discrete version upgrades with the FedUp tool. Arch is a rolling-release system.<br />
<br />
* '''The Arch Way''' focuses on simplicity, lightweight elegance and empowering the user, whereas '''Fedora Core Values''' focus on free software, community development and bleeding edge systemic innovation.<br />
<br />
* Arch features a ports system, whereas Fedora does not.<br />
<br />
* '''Both Arch and Fedora are targeted at experienced users and developers.''' Both strongly encourage their users to contribute to project development.<br />
<br />
* Fedora has earned much community recognition for integration of SELinux, GCJ compiled packages (to remove the need for Oracle's JRE), and prolific upstream contribution; Red Hat and thus, Fedora developers by extension, contribute the highest percentage of Linux kernel code as compared to any other project.<br />
<br />
* Arch Linux provides what is widely regarded as the most thorough and comprehensive distribution wiki. The Fedora wiki is used in the original sense of the word "wiki", or a way to exchange information between developers, testers and users rapidly. It is not meant to be an end-user knowledge base like Arch's. Fedora's wiki resembles an issue tracker or a corporate wiki.<br />
<br />
=== Frugalware ===<br />
<br />
* Arch is command-line oriented. <br />
<br />
* Frugalware does not support the JFS filesystem by default. <br />
<br />
* Both Arch and Frugalware are promoted as i686 optimized. <br />
<br />
* Arch can be installed as a minimal environment first and later expanded with pacman according to the user's choices and needs. Frugalware is installed from a DVD, with default software choices and desktop environment chosen for the user already.<br />
<br />
* Frugalware has a scheduled release cycle. Again, Arch is more focused on simplicity, minimalism, code-correctness and bleeding edge packages within a rolling-release model.<br />
<br />
== Beginner-friendly ==<br />
<br />
Sometimes called "newbie distros", the beginner-friendly distributions share a lot of similarities, though Arch is quite different from them. Arch may be a better choice if you want to learn about GNU/Linux by building up from a very minimal base, as an installation of Arch installs very few packages in comparison. Specific differences between distributions are described below.<br />
<br />
=== Ubuntu ===<br />
<br />
* Ubuntu is an immensely popular Debian-based distribution commercially sponsored by Canonical Ltd., while Arch is an independently developed system built from scratch.<br />
<br />
* Both projects have very different goals and are targeted at a different user base. Arch is designed for users who desire a do-it-yourself approach, whereas Ubuntu provides an autoconfigured system which is meant to be more user-friendly. Arch is presented as a much more minimalist design from the base installation onward, relying heavily on the user to customize it to their own specific needs. In general, developers and tinkerers will probably like Arch better than Ubuntu, though many Arch users have started on Ubuntu and eventually migrated to Arch.<br />
<br />
* Current Ubuntu development and promotion seem to be heavily embracing the touch screen device market, whereas Arch development is more generally focused on a user-centric model which empowers its community to create customized solutions to be developed collaboratively.<br />
<br />
* Ubuntu moves between discrete releases every 6 months, whereas Arch is a rolling-release system with a new snapshot issued every month.<br />
<br />
* Arch offers a ports-like package build system, while Ubuntu does not.<br />
<br />
* The two communities differ in some ways as well. The Arch community is much smaller and is strongly encouraged to contribute to the distribution. In contrast, the Ubuntu community is relatively large and can therefore tolerate a much larger percentage of users who do not actively contribute to development, packaging, or repository maintenance.<br />
<br />
=== Mandriva ===<br />
<br />
Mandriva Linux (formerly Mandrake Linux) was created in 1998 with the goal of making GNU/Linux easy to use for everyone. It is RPM-based and uses the urpmi package manager. Again, Arch takes a simpler approach, being text-based and relying on more manual configuration and is aimed at intermediate to advanced users.<br />
<br />
=== openSUSE ===<br />
<br />
openSUSE is centered around the RPM package format and its well-regarded YaST2 GUI-driven configuration tool, which is a one-stop shop for most users' system configuration needs, including package management. Arch does not offer such a facility as it goes against [[The Arch Way]]. openSUSE, therefore, is widely regarded as more appropriate for less-experienced users, or those who want a more GUI-driven environment, auto-configuration and expected functionality out of the box.<br />
<br />
=== PCLinuxOS ===<br />
<br />
* PCLinuxOS is a popular Mandriva-based distribution providing a complete DE, designed for user-friendliness and is described as "simple", though its definition of simple is quite different than the Arch definition. Arch is designed as a simple base system to be customized from the ground up and is aimed more toward advanced users.<br />
<br />
* PCLOS uses the apt package manager as a wrapper for RPM packages. Arch uses its own independently-developed [[pacman]] package manager with ''.pkg.tar.xz'' packages. <br />
<br />
* PCLOS is very GUI-driven, provides GUI hardware configuration tools and the Synaptic package management front-end, and claims to have little or no reliance on the shell. Arch is command-line oriented and designed for more simple approaches to system configuration, management and maintenance.<br />
<br />
* PCLOS recommends 256&nbsp;MB RAM as part of its minimum system requirements. Being more lightweight, Arch can run on systems with much less system memory, requiring only 64&nbsp;MB of RAM for a base i686 install, and will run flawlessly on more modern systems.<br />
<br />
== The *BSDs ==<br />
<br />
<nowiki>*</nowiki>BSDs share a common origin and descend directly from the work done at UC Berkeley to produce a freely redistributable, free of cost, UNIX system. They are not GNU/Linux distributions, but rather, UNIX-like operating systems. Therefore, although Arch and the *BSDs share the concept of a tightly-integrated base and ports system, they are absolutely not related from a code standpoint, except for perhaps ''vi'', as Arch's ''vi'' is the original BSD ''vi'' (most *BSDs do not use the original BSD ''vi'' anymore). *BSDs were derived from the original AT&T UNIX code and have a true UNIX heritage. To learn more about the *BSD variants, visit the vendor's site.<br />
<br />
=== FreeBSD ===<br />
<br />
* Both Arch and [http://www.freebsd.org/about.html FreeBSD] offer software which can be obtained using binaries or compiled using ''ports'' systems. <br />
<br />
* Like other *BSDs, the FreeBSD base is developed fundamentally as a system designed as a whole, with each application ''ported'' over to FreeBSD and made sure to work in the process. In contrast, GNU/Linux distributions such as Arch exist as amalgams combined from many separate sources. <br />
<br />
* The FreeBSD license is generally more protective of the ''coder'', in contrast to the GPL, which favors protection of the ''code'' itself. Arch is released under the GPL. <br />
<br />
* In FreeBSD, like Arch, decisions are delegated to you, the power user. This may be the most interesting comparison to Arch since it goes head-to-head in package modernity and has a somewhat sizable, smart, active, no-nonsense community. <br />
<br />
* Both systems share many similarities and FreeBSD users will generally feel quite comfortable with most aspects of Arch.<br />
<br />
=== NetBSD ===<br />
<br />
* NetBSD is a free, secure, and highly portable UNIX-like open-source operating system available for over 50 platforms, from 64-bit Opteron machines and desktop systems to hand-held and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source. Many applications are easily available through pkgsrc, the NetBSD Packages Collection. <br />
<br />
* Arch may not operate on the vast number of devices NetBSD operates on, but for an i686 system it may offer more applications. <br />
<br />
* NetBSD's pkgsrc provides a source based method of installation similar to Arch's ABS; however binary packages are also available using ''pkg_tools''. <br />
<br />
* Arch does share similarities with NetBSD: both require manual configuration, they are minimalist and lightweight, both offer ports systems as well as binaries and both have active, no-nonsense developers and communities.<br />
<br />
=== OpenBSD ===<br />
<br />
The OpenBSD project produces a free, multi-platform 4.4BSD-based UNIX-like operating system.<br />
<br />
* OpenBSD focuses on portability, standardization, code correctness, proactive security, and integrated cryptography. In contrast, Arch focuses more on simplicity, elegance, minimalism and bleeding edge software. OpenBSD is self-described as "perhaps the #1 security OS".<br />
<br />
* Both Arch and OpenBSD offer a small, elegant, base install.<br />
<br />
* Both offer a ports and packaging system to allow for easy installation and management of programs which are not part of the base operating system.<br />
<br />
* In contrast to a GNU/Linux system like Arch, but in common with most other BSD-based operating systems, the OpenBSD kernel and userland programs, such as the shell and common tools (like ''ls'', ''cp'', ''cat'' and ''ps''), are developed together in a single source repository.<br />
<br />
== See also ==<br />
* [http://distrowatch.com/ DistroWatch.com]</div>Xtraroot