Pre-Requisite Checks
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:Example:
127.0.0.1 localhost localhost.myhost.com localhost
192.168.1.101 Fedora13Dev Fedora13Dev.myhost.com Fedora13Dev
Set Kernel Parameters
Oracle recommends the following minimum parameter settings: fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
The current values can be tested using the following command:
/sbin/sysctl -a | grep < command parameter >
Run the following command updated the new current kernel parameters:
Add the following lines to the /etc/security/limits.conf file:
Add the following line to the /etc/pam.d/login file:
Disable (or set it to permissive) Secure Linux (SELinux) by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:
OR
NOTE: You could use the GUI tool (Applications -> System Settings -> Security Level). Click on the SELinux tab and disable/permissive the feature. (You need to reboot if you disable it)
Update/Install Required Modules
I cheated here. Some of the modules might have existed… but if you run this it will update them. And, since I used wildcards it added a few I didn’t need…but I’m not concerned. You need to be root for this:
Create the new groups and users
You need to be root for this:
Note. The"asmadmin" group is for ASM. I’m not planning on using ASM. So, its just getting created for “throughness”. I’m going to lock it in the OS.
Create the directories in which the Oracle software will be installed
You need to be root for this:
As root and issue the following command
I’m not doing it via an xterm connection… so you could skip this:
Login as the oracle user and add the following lines at the end of the .bash_profile file
export TMPDIR=$TMP
export ORACLE_HOSTNAME=Fedora13Dev
export ORACLE_UNQNAME=DB11G
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=DB11G
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
Edit the /etc/redhat-release file
Replacing the current release information (Fedora release 13 (Goddard)) with the following:
Procedure to add a swap file
Depending on your current config, you might need to add more swap space. You need to use dd command to create swapfile. Then, you need to use mkswap command to set up a Linux swap area on a device or in a file. As root:
Create 512MB swap file (1024 * 512MB = 524288 block size):
This will only work unit the box is rebooted, so to make it permanant you need to add an entry to /etc/fstab file.
Add following line:
Ok. So, at this point you are ready to run the Oracle 11gR2 installer. However, it is going to fail when it tries to compile/link the Oracle Enterprise Manager parts. (Error will be something like “'agent nmhs' linking error”) So, in order to avoid this I recommend the following:
How to avoid the 'agent nmhs' linking Error
When you start to install with ./runInstaller (you should be running this as oracle…i.e. the ‘oracle’ user), spawn another terminal window (as root). While runInstaller is executing the “Install Product” phase.
At first this will produce an error, as the “Install Product” phase will not have created this file yet.
Once the file exists, do:
Search for the line
Change it to:
Save the file. If you are fast enough, everything should just compile and be happy…. If you get an error, you were not fast enough… just finish your edit then click on “Retry” in the popup.
Official Linking error is:
This means that the gcc linker phase lacked an option for "-lnnz11”
Post Installation
Re-Edit the /etc/redhat-release file
Replacing the current release information (redhat release 5) with the following:
If you didn’t select to create a DB during the install.
You will need to run the Network Configuration Assistant (netca) and the Database Creation Assistant (dbca)
/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
SID_LIST_LISTENER=You can test that you listener can see your DB using the tnsping commandline tool. Or, by checking
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=DB11G)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=DB11G)
)
)
lsnrctl status
Now, fix the database to restart each instance to 'Y'. This assumes you took the default ORACLE_SID (DB11G) when creating the database.