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.
RHEL/CentOs 6.x
# cd /etc/yum.repos.d # wget https://public-yum.oracle.com/public-yum-ol6.repo
RHEL/CentOs 5.x
# cd /etc/yum.repos.d # wget https://public-yum.oracle.com/public-yum-el5.repo
RHEL/CentOs 4.x
# 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
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.
RHEL/CentOs 6.x
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
RHEL/CentOs 5.x
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
RHEL/CentOs 4.x
# 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
HOSTNAME=oracle.tecmint.com
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
SELINUX=permissive
Once you’ve made change, don’t forger to restart the server to reflect new changes.
[root@oracle]# reboot
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.
Download Oracle 11g Release 2
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
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.zip http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_2of2.zip
For Linux x86-64 Systems
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
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.
Oracle Universal Installer
2. Provide your email address to be informed of security issues and receive security updates.
Configure Oracle Security Updates
3. Create and Configure a Database
Create Oracle Database
4. Choose the system class, either Desktop or Server.
Select Oracle System Class
5. Select the type of database installation you want to perform.
Select Database Installation Type
6. Select “Typical install” option to install full oracle installation with basic configuration.
Select Typical Install
7. Set Administrative password and perform full Database installation with basic configuration.
Set Oracle Administrative Password
8. Please click on “Yes” to continue with installation.
Typical Install Configuration Confirm
9. Create Inventory
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.
Perform Prerequisite Checks
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.
Performing Prerequisite SWAP Check
12. Installation Summary: Click on Save Response File. This file is useful for Oracle Silent Mode Installation
Oracle Installation Summary
13. Save Response File somewhere in your system.
Save Response File
14. Product Installation Progress
Product Install
15. Copying database files
Copying Database Files
16. Click on “Password Management“.
Oracle Password Management
17. Set password for user “SYS” and click on OK to continue.
Set SYS User Password
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.
Execute Configuration Scripts
[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.
Oracle Installation Finish
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
https://localhost:1158/em/
Oracle Enterprise Manager Login
21. Oracle Enterprise Database Control Manager
Oracle 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…!!!