This article cover the basic installation of Oracle Database 12c Release 1 (12.1) 64-bit on Oracle Linux 7 64-bit. This article is based on a server installation with a minimum of 2G swap and secure Linux set to permissive.
We have covered the following topics in this article
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Installation
- Post Installation
Download Software
Download the Oracle software from OTN or MOS depending on your support status.- OTN: Oracle Database 12c Release 1 (12.1.0.1) Software (64-bit).
- edelivery: Oracle Database 12c Release 1 (12.1.0.1) Software (64-bit)
Unpack Files
Unzip the files.You should now have a single directory called "database" containing installation files.unzip linuxamd64_12c_database_1of2.zip unzip linuxamd64_12c_database_2of2.zip
Hosts File
The "/etc/hosts" file must contain a fully qualified name for the server.Set the correct hostname in the "/etc/hostname" file.
172.22.10.100 yourdbhost.techsupportpk.com
Set Kernel Parameters
Add or amend the following lines in the "/etc/sysctl.conf" file.Run the following command to change the current kernel parameters.fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500
Add the following lines to the "/etc/security/limits.conf" file./sbin/sysctl -p
Stop and disable the firewall. You can configure it later if you wish.oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768
Set SELinux to permissive by editing the "/etc/selinux/config" file, making sure the SELINUX flag is set as follows.# systemctl stop firewalld # systemctl disable firewalld
The server will need a reboot for the change to take effect.SELINUX=permissive
Setup
Setup the DVD as a Yum repository.The following packages are listed as required, including the 32-bit version of some of the packages. Many of the packages should be installed already.
Create the new groups and users.yum install --enablerepo=dvd binutils -y #yum install --enablerepo=dvd compat-libstdc++-33 -y #yum install --enablerepo=dvd compat-libstdc++-33.i686 -y yum install --enablerepo=dvd gcc -y yum install --enablerepo=dvd gcc-c++ -y yum install --enablerepo=dvd glibc -y yum install --enablerepo=dvd glibc.i686 -y yum install --enablerepo=dvd glibc-devel -y yum install --enablerepo=dvd glibc-devel.i686 -y yum install --enablerepo=dvd ksh -y yum install --enablerepo=dvd libgcc -y yum install --enablerepo=dvd libgcc.i686 -y yum install --enablerepo=dvd libstdc++ -y yum install --enablerepo=dvd libstdc++.i686 -y yum install --enablerepo=dvd libstdc++-devel -y yum install --enablerepo=dvd libstdc++-devel.i686 -y yum install --enablerepo=dvd libaio -y yum install --enablerepo=dvd libaio.i686 -y yum install --enablerepo=dvd libaio-devel -y yum install --enablerepo=dvd libaio-devel.i686 -y yum install --enablerepo=dvd libXext -y yum install --enablerepo=dvd libXext.i686 -y yum install --enablerepo=dvd libXtst -y yum install --enablerepo=dvd libXtst.i686 -y yum install --enablerepo=dvd libX11 -y yum install --enablerepo=dvd libX11.i686 -y yum install --enablerepo=dvd libXau -y yum install --enablerepo=dvd libXau.i686 -y yum install --enablerepo=dvd libxcb -y yum install --enablerepo=dvd libxcb.i686 -y yum install --enablerepo=dvd libXi -y yum install --enablerepo=dvd libXi.i686 -y yum install --enablerepo=dvd make -y yum install --enablerepo=dvd sysstat -y yum install --enablerepo=dvd unixODBC -y yum install --enablerepo=dvd unixODBC-devel -y yum install --enablerepo=dvd zlib-devel -y
Note. We are not going to use the extra groups, but include them if you do plan on using them.groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper #groupadd -g 54324 backupdba #groupadd -g 54325 dgdba #groupadd -g 54326 kmdba #groupadd -g 54327 asmdba #groupadd -g 54328 asmoper #groupadd -g 54329 asmadmin useradd -u 54321 -g oinstall -G dba,oper oracle passwd oracle
Create the directories in which the Oracle software will be installed.
If you are using X Emulation, login as root and issue the following command.mkdir -p /u01/app/oracle/product/12.1.0.1/db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01
Login as the oracle user and add the following lines at the end of the "/home/oracle/.bash_profile" file.xhost +
# Oracle Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=ol7.localdomain export ORACLE_UNQNAME=cdb1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.1/db_1 export ORACLE_SID=cdb1 export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable.Start the Oracle Universal Installer (OUI) by issuing the following command in the database directory.DISPLAY=:0.0; export DISPLAY
Lets begin the installation, following step by step screenshots will help you to install oracle database under oracle linux 7../runInstaller
The "Database Configuration Assistant Complete" screen displays the Database Express 12c URL, which will be something like "https://yourdbhost:5500/em".
Notes:
- When clicking "Next" on the "Download Software Updates" screen you will get the following message. Click the "Yes" button.
"[INS-13001] Environment does not meet minimum requirements. Are you sure you want to continue?
- During the linking phase, you will see the following error.
Error in invoking target 'links proc gen_pcscfg procob' of makefile '/u01/app/oracle/product/12.1.0.1/db_1/precomp/lib/ins_precomp.mk'. See '/u01/app/oraInventory/logs/installActions2014-04-26_08-07-04PM.log' for details.
To fix it, do the following:
rm -rf $ORACLE_HOME/lib/stubs/*
cp $ORACLE_HOME/rdbms/lib/env_rdbms.mk $ORACLE_HOME/rdbms/lib/env_rdbms.mk.orig
Perform the following modifications to the "$ORACLE_HOME/rdbms/lib/env_rdbms.mk" file.
# Line 176 # FROM: LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) # TO : LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons # Line 279-280 # FROM: LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) # TO : LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-needed LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-needed # Line 3041-3042 # FROM: TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \ $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) # TO : TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \ $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12
Click the "Retry" button. - Later, you might see the following error.
Error in invoking target 'install' of makefile '/u01/app/oracle/product/12.1.0.1/db_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2014-04-26_08-07-04PM.log' for details.
To fix it, do the following:
rm -rf $ORACLE_HOME/lib/stubs/* cp $ORACLE_HOME/ctx/lib/env_ctx.mk $ORACLE_HOME/ctx/lib/env_ctx.mk.orig
Perform the following modifications to the "$ORACLE_HOME/ctx/lib/env_ctx.mk" file.
# Line 154 # FROM: LINK=$(LDCCOM) # TO : LINK=$(LDCCOM) --Wl,--no-as-needed
Click the "Retry" button.
Post Installation
Edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.Due to the issues during the linking phase, it probably makes sense to do a relink, just to make sure.cdb1:/u01/app/oracle/product/12.1.0.1/db_1:Y
dbshut $ORACLE_HOME cd $ORACLE_HOME/bin ./relink all # Following line should return no errors. grep -i err $ORACLE_HOME/install/relink.log dbstart $ORACLE_HOME
No comments: