This article presents how to install Oracle 12C(12.2) Release 2 on Oracle Enterprise Linux 7 (OEL7).
Read following article how to install Oracle Enterprise Linux 7: Install Oracle Linux 7 (OEL7) (for comfort set 4G memory for your virtual machine before proceeding with Oracle software installation).
Software
Software for 12CR2 is available on OTN or edelivery
- OTN: Oracle Database 12c Release 2 (12.2.0.1) Software (64-bit)
- edelivery: Oracle Database 12c Release 1 (12.2.0.1) Software (64-bit)
Database software
linuxx64_12201_database.zip
OS configuration and preparation
OS configuration is executed as root. To login as root just execute following command in terminal.
su - root
The “/etc/hosts” file must contain a fully qualified name for the server.
<IP-address> <fully-qualified-machine-name> <machine-name>
For example.
127.0.0.1 oel7 oel7.dbaora.com localhost.localdomain localhost
Set hostname
hostnamectl set-hostname oel7.dbaora.com --static
Add groups
#groups for database management 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 groupadd -g 54330 racdba
Add user Oracle for database software
useradd -u 54321 -g oinstall \ -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
Change password for user Oracle
passwd oracle
Packages
Check which packages are installed and which are missing
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils \ compat-libcap1 \ compat-libstdc++-33 \ glibc \ glibc-devel \ ksh \ libaio \ libaio-devel \ libX11 \ libXau \ libXi \ libXtst \ libgcc \ libstdc++ \ libstdc++-devel \ libxcb \ make \ nfs-utils \ smartmontools \ net-tools \ sysstat
You can install missing packages from dvd. Just mount it and install missing packages using rpm -Uvh command from directory <mount dvd>/Packages or by using yum install command.
NOTE – I’m using x86_64 version of packages
First option from dvd
rpm -Uvh libaio-devel*.x86_64.rpm rpm -Uvh ksh*.x86_64.rpm
Second option using yum install command. It requires access to internet.
yum install libaio-devel*.x86_64 yum install ksh*.x86_64
Add kernel parameters to /etc/sysctl.conf
# kernel parameters for 12gR2 installation
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
kernel.panic_on_oops=1
Apply kernel parameters
/sbin/sysctl -p
Add following lines to set shell limits for user oracle in file /etc/security/limits.conf
# shell limits for users oracle 12gR2 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle soft memlock 3145728 oracle hard memlock 3145728
Disable firewall
service iptables stop chkconfig iptables off
Additional steps
Add following lines in .bash_profile for user oracle
# Oracle Settings
export TMP=/tmp
export ORACLE_HOSTNAME=oel7.dbaora.com
export ORACLE_UNQNAME=ORA12C
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=ORA12C
PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
alias cdob='cd $ORACLE_BASE'
alias cdoh='cd $ORACLE_HOME'
alias tns='cd $ORACLE_HOME/network/admin'
alias envo='env | grep ORACLE'
umask 022
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
envo
Directory structure
Create directory structure as user root
ORACLE_BASE – /ora01/app/oracle
ORACLE_HOME – /ora01/app/oracle/product/12.2.0/db_1
mkdir -p /ora01/app/oracle/product/12.2.0/db_1 chown oracle:oinstall -R /ora01
“OPTIONAL” – In Oracle Enterprise Linux 7 /tmp data is stored on tmpfs which consumes memory and is too small. To revert it back to storage just run following command and REBOOT machine to be effective.
systemctl mask tmp.mount
SSH server
I use it for later connection as user oracle in GNOME using command ssh oracle@oel7.dbaora.com -X. Without it it won’t be possible to run X interfaces like Oracle Universal Installer.
Install ssh server. It should be already installed.
yum install openssh-server
start ssh server
systemctl start sshd
verify it works
systemctl status sshd
Install database software
Let’s start with database software installation as oracle user. Usually I’m connected as user root in GNOME so you need to use ssh.
Connect as user oracle
[root@oel7 ~]# ssh oracle@oel7.dbaora.com -X
Let’s start with database software installation as oracle user.
--unizp software it will create directory "database" --where you can find installation software unzip linuxx64_12201_database.zip --I defined 4 aliases in .bash_profile of user oracle to make --administration easier :) [oracle@oel7 ~]$ alias envo cdob cdoh tns alias envo='env | grep ORACLE' alias cdob='cd $ORACLE_BASE' alias cdoh='cd $ORACLE_HOME' alias tns='cd $ORACLE_HOME/network/admin' --run alias command envo to display environment settings envo ORACLE_UNQNAME=ORA12C ORACLE_SID=ORA12C ORACLE_BASE=/ora01/app/oracle ORACLE_HOSTNAME=oel7.dbaora.com ORACLE_HOME=/ora01/app/oracle/product/12.2.0/db_1 --run alias command cdob and cdoh --to check ORACLE_BASE, ORACLE_HOME [oracle@oel7 ~]$ cdob [oracle@oel7 oracle]$ pwd /ora01/app/oracle [oracle@oel7 db_1]$ cdoh [oracle@oel7 db_1]$ pwd /ora01/app/oracle/product/12.2.0/db_1 --run installation from "database" directory ./runInstall
1. Uncheck checkbox “I wish to receive security updates via My Oracle Support” and then click “Next” button.
2. Ignore following message and click “Yes” button.
3. Select “Create and configure a database” then click “Next” button.
4. Select “Server class” and click “Next” button.
5. Accept default “Single instance database installation” and click “Next” button.
6. Select “Advanced install” to later select more options during database installation and click “Next” button.
7. You can select here type of binaries to install. Once it’s done click “Next” button.
8. Here you should see directories for ORACLE_BASE and ORACLE_HOME for your binaries according to environmental settings. Click “Next” button.
9. Accept default and click “Next” button.
10. Accept default “General Purpose/ transaction Processing” and click “Next” button.
11. Check checkbox “Create as Container database” and enter “Pluggable database name” to add your first container database ORA12C and pluggable database PORA12C1, click “Next” button.
12. Specify more details about your database on 3 tabs where you can define memory settings, character set and if to install sample schema on your database. Once you are happy with your settings click “Next” button.
13. Specify directory where you want to install your database files then click “Next” button.
14. On this page you can register your database in Oracle Enterprise Manager”. Accept default settings and click “Next” button.
15. Check checkbox “Enable Recovery” to specify directory for your recovery area “Recovery area location” and click “Next” button.
16. Specify password for each user or enter the same for all. Once it’s done click “Next” button.
17. Here you can specify OS group for each oracle group. Accept default settings and click “Next” button.
18. Checks are started to verify if OS is ready to install database software.
19. If everything is right click “Install” button. It’s the last moment to come back to each of previous point and make changes.
20. Installation in progress … go play FIFA on PS4 :p
21. Once binaries are installed the last step is to run 2 scripts as user root.
--execute scripts /ora01/app/oraInventory/orainstRoot.sh /ora01/app/oracle/product/12.2.0/db_1/root.sh
Second script enables to install Oracle Trace File Analyzer (TFA). It’s worth to install it.
23. Installation will continue … but suddenly error occurred
It was problem with listener. I had to start it manually. Once LISTENER is started click “Retry” button and installation should continue
[oracle@oel7 ~]$ lsnrctl start
24. You are lucky 12C installation is completed. Click “Close” button.
25.Another summary with information about “Enterprise manager database express”
26. Try to login as SYS to Enterprise manager Database express 12C .
NOTE – It requires to install flash plug-in and running listener. In addition don’t provide container name to connect.
https://oel7.dbaora.com:5500/em
27. Try to connect to container database as user SYS using sqlplus tool
[oracle@oel7 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Thu Mar 23 15:51:38 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL>
Problems
In release 12.2.0.1 following bugs can be encountered
- Problem with LISTNER. It doesn’t started and DBCA recognized it as bug.
Have a fun 🙂
Tomasz
I am able to install Oracle 12c R2 following your instruction in oracle Linux.
Thank you,
U Roy
Hi, thanks for this tutorial.
I am doing the same, but as I try to minimize the resources, I did the minimal OS installation (without GUI server).
In this case, the ssh X forwarding doesn’t work ’cause no common X libraries and processes are installed. When you ssh the server with the X parameter, you can see the message
X11 forwarding request failed on channel 0
To solve this I did:
Edit /etc/ssh/sshd_config and modify this 2 parameters:
X11Forwarding yes
X11UseLocalhost no
Install common X libraries and software:
yum install xauth xorg-x11-utils
with this all works as expected even if you have not select the GUI server install
Thanks for this 🙂
In screenshot 10: i dont see custom install option?
Very nice MOP. Made the installation very easy. Thanks
Thanks a lot.
Thank You, It’s realy helpfull doc.
It is not a bug. I already installed successfully 🙂
For those who run into to the issue that universal installer is displaying “squares” (⌷) instead of text, install the following font packages:
ghostscript-fonts dejavu-fonts-common dejavu-sans-fonts urw-fonts
Also the following package was reported missing during the prerequisites check:
gcc-c++
can someone log in from the pl sql developer, can you tell me the steps they took, I can not. I install all but i can`t to do ping of hostname
On Oracle 12.2.0.1 I managed to solve the listener problem by editing the file
/ora01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora and replacing the HOST parameter with the ip of the vm
On Oracle Linux 7.5 to disable the firewall run as root:
# systemctl stop firewalld
# systemctl disable firewalld
Pingback: Https ayohrling oel7 login username Portal Guide Instructions Help - centtip.com