As we all know Oracle database is the most popular and widely used Relational Database Management System (RDBMS) in the world. This post describes step by step installation of Oracle Database 11g Release 2 32bit on CentOS 6.4 32bit. The installation steps should not be vary on most of the Red Hat based Linux distributions.
Installing Oracle Database 11g Release 2
Step 1: Install Oracle Dependencies
We use “oracle-rdbms-server-11gR2-preinstall” package offered by “Oracle Public Yum” repository. The Oracle public yum repository provides a free and easiest way to install all the latest Oracle Linux dependencies automatically. To setup yum repository, follow the instructions provided below.
Use “wget” command to Download appropriate yum configuration file under /etc/yum.repos.d/ directory as root user.
# cd /etc/yum.repos.d # wget https://public-yum.oracle.com/public-yum-ol6.repo
# cd /etc/yum.repos.d # wget https://public-yum.oracle.com/public-yum-el5.repo
# cd /etc/yum.repos.d # wget https://public-yum.oracle.com/public-yum-el4.repo
Now perform the following “yum” command to install all the necessary prerequisites automatically.
[root@oracle]# yum install oracle-rdbms-server-11gR2-preinstall
While importing GPG key, you might get “GPG key retrieval failed” error as shown below. Here, you need to import proper GPG key for your OS release.
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Download and verify the appropriate Oracle Linux GPG Key that best matches your RHEL/CentOS compatible OS release.
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el4 -O /usr/share/rhn/RPM-GPG-KEY-oracle
Step 2: Setting Hostname
Open the “/etc/sysconfig/network” file and modify the HOSTNAME to match your FQDN (Fully Qualified Domain Name) host name.
[root@oracle]# vi /etc/sysconfig/network
Open “/etc/hosts” file and add fully qualified hostname for the server.
[root@oracle]# vi /etc/hosts
192.168.246.128 oracle.tecmint.com oracle
Now you need to restart networking on the server to make sure that changes will be persistent on reboot.
[root@oracle]# /etc/init.d/network restart
Step 3: Oracle User Settings
Set the password for the “oracle” user.
[root@oracle]# passwd oracle Changing password for user oracle. New password: BAD PASSWORD: it is based on a dictionary word Retype new password: passwd: all authentication tokens updated successfully.
Add the entry to file “/etc/security/limits.d/90-nproc.conf” as described below.
[root@oracle]# vi /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 # To this * - nproc 16384
Set SELinux to “permissive” mode by editing the file “/etc/selinux/config“.
[root@oracle]# vi /etc/selinux/config
Once you’ve made change, don’t forger to restart the server to reflect new changes.
Login as Oracle user and open file “.bash_profile“, which is available on oracle user’s home directory, make an entries as described below. Make sure you set correct hostname to “ORACLE_HOSTNAME=oracle.tecmint.com“.
[root@oracle]# su oracle
[oracle@oracle ~]$ vi .bash_profile
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=oracle.tecmint.com; export ORACLE_HOSTNAME ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME ORACLE_SID=DB11G; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH export PATH
Switch to root user and issue the following command to allow Oracle user to access X Server.
[root@oracle]# xhost +
Create the directories and set the appropriate permissions in which the Oracle software will be installed.
[root@oracle]# mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 [root@oracle]# chown -R oracle:oinstall /u01 [root@oracle]# chmod -R 775 /u01
Step 4: Downloading Oracle Software
Sign-up and Download the Oracle software using the following link.
The Oracle package contains 2 zip files which you must first accept the license agreement before downloading. I’ve given the files names for you reference, please download these files for your system architecture somewhere under “/home/oracle/“.
For Linux x86 Systems
For Linux x86-64 Systems
Step 5: Oracle Installation
Now let’s start Oracle installation. First of all need to switch as ‘oracle’ user to install database.
[oracle@oracle ~]$ su oracle
Extract compressed Oracle database source files to the same directory “/home/oracle/“.
[oracle@oracle ~]$ unzip linux_11gR2_database_1of2.zip [oracle@oracle ~]$ unzip linux_11gR2_database_2of2.zip
Post unzip source file, directory called database will be created, go to inside the directory and execute below script to start Oracle database installation process.
[oracle@oracle database]$ cd database [oracle@oracle database]$ ./runInstaller
1. RunInstaller will call Oracle Universal Installer (OUI), wherein look and feel & steps are the same across all the operating system.
2. Provide your email address to be informed of security issues and receive security updates.
3. Create and Configure a Database
4. Choose the system class, either Desktop or Server.
5. Select the type of database installation you want to perform.
6. Select “Typical install” option to install full oracle installation with basic configuration.
7. Set Administrative password and perform full Database installation with basic configuration.
8. Please click on “Yes” to continue with installation.
9. Create Inventory
10. If you faced prerequisites warning during installation. Click on “Fix & Check Again“. Oracle fixes Prerequisites by itself. This is the new feature of Oracle Database 11g.
The pdksh package is not available in Oracle repository due to which you need to download and install it manually.
[root@oracle]# wget ftp://rpmfind.net/linux/redhat-archive/6.2/en/os/i386/RedHat/RPMS/pdksh-5.2.14-2.i386.rpm
During pdksh package installation you may encountered conflict error of ksh package. Remove ksh package forcefully and install the pdksh package with given below command:-
[root@oracle]# rpm -e ksh-20100621-19.el6_4.4.i686 --nodeps [root@oracle]# rpm -ivh pdksh-5.2.14-2.i386.rpm
11. Performing Prerequisite checks: It’s test whether sufficient total SWAP space is available on the system.
12. Installation Summary: Click on Save Response File. This file is useful for Oracle Silent Mode Installation
13. Save Response File somewhere in your system.
14. Product Installation Progress
15. Copying database files
16. Click on “Password Management“.
17. Set password for user “SYS” and click on OK to continue.
18. Configuration scripts need to be executed as the “root” user. Go to the path given in the screen and execute the scripts one by one. Click on ‘OK‘ once scripts is executed.
[root@oracle]# cd /u01/app/oraInventory [root@oracle oraInventory]# ./orainstRoot.sh
Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete.
[root@oracle]# cd /u01/app/oracle/product/11.2.0/dbhome_2/ [root@oracle dbhome_2]# ./root.sh
Running Oracle 11g root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_2 Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. Finished product-specific root actions.
19. The installation of Oracle Database is successful.
20. To test your Oracle installation navigate to web based management interface for your system at “localhost” with the user name “SYS” connecting as “SYSDBA” and using the password you set during the install of Oracle. Remember to open port 1158 on your firewall and restart the iptables service.
[root@oracle]# iptables -A INPUT -p tcp --dport 1158 -j ACCEPT [root@oracle]# service iptables restart
21. Oracle Enterprise Database Control Manager
Now you can start using Oracle. I highly recommend you to follow the Oracle Documentation for more help. There are number of client applications out there which can help you, like the command line tool called Oracle Instant Client and the Oracle SQL Developer UI program.
This is end of the Oracle Database Software Installation. In our upcoming article we will be covering how to create database using DBCA and how to Start-up and Shutdown Oracle Database. Please stay tuned…!!!