Oracle 11g RAC on RHEL 6.9 Installation Manual

Keywords: Big Data Oracle Database glibc shell

1. Installation instructions
1. Environmental description

System Version Database Version Framework IP Address patch
rhel6.9 11.2.0.4 RAC 192.168.3.2 29698727
rhel6.9 11.2.0.4 RAC 192.168.3.3 29698727

2. The software storage location is planned as follows:

Software Storage location
Grid /u01/11.2.0/grid
Oracle /u01/app/oracle/product/11.2.0/db_1

3. RAC databases need shared storage:
CRSDG:3 disks with at least 3GB for storing spfile s of ocr, voting disk and asm.
DATADG: At least 200GB for redolog, control file, spfile for database, system table space for database, undo table space, temp table space.Increase the capacity of DATADG according to actual business needs.
ARCHDG: At least 100GB, users store archive logs.Increase the capacity of DATADG according to actual business needs.

Diskgroup Size
CRSDG 3 blocks 1GB storage
DATADG >=100GB
ARCHDG >=100GB

2. Installation steps
1. Dependent Packages

cpp-4.8.2-16.el7.x86_64
glibc-headers-2.17-55.el7.x86_64
mpfr-3.1.1-4.el7.x86_64
compat-libstdc++-33-3.2.3
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64

2. System parameters
Reference System Kernel Parameter MOS Doc ID: 169706.1

vi /etc/sysctl.conf:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 10485760
kernel.shmmax = 34359738368
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

3. Set oracle user shell limits:

/etc/security/limits.conf
oracle  soft  nproc   2047
oracle  hard  nproc   16384
oracle  soft  nofile  1024
oracle  hard  nofile  65536
oracle  soft  stack   10240
oracle  hard  stack   32768

4, /etc/pam.d/login Add:

session required pam_limits.so
/etc/profile Add to:
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
       ulimit -u 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
    fi
fi

5,hosts

vi /etc/hosts
192.168.3.2  tim1
10.10.10.1  tim1-priv
192.168.3.88  tim1-vip
192.168.3.3  tim2
10.10.10.2  tim1-priv
192.168.3.99  tim2-vip
192.168.3.111  rac-scan

6. Users and Groups

groupadd -g 200 oinstall
groupadd -g 201 dba
groupadd -g 202 oper
groupadd -g 203 asmadmin
groupadd -g 204 asmoper
groupadd -g 205 asmdba

useradd -u 200 -g oinstall -G dba,asmdba,oper oracle
useradd -u 201 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

7. Catalogue

mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app
chmod -R 775 /u01/app/oraInventory/
mkdir -p /u01/11.2.0/grid
chown -R grid:oinstall /u01/11.2.0
chmod -R 775 /u01/11.2.0
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/cfgtoollogs
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

8. Environmental variables
###Note that the following environment variable parameter is Node1, which differs from Node2 in Oracle_sid.
grid user

export EDITOR=vi
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/11.2.0/grid
export GRID_HOME=/u01/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export THREADS_FLAG=native
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022

oracle user

export EDITOR=vi
export ORACLE_SID=prod1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022

8,udev
###node1, node2 needs to be configured

[root@tim1 ~]#Vi/etc/udev/rules.d/60-raw.rules are written as follows in example:
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="34",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="35",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="36",RUN+="/bin/raw /dev/raw/raw4 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="37",RUN+="/bin/raw /dev/raw/raw5 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="38",RUN+="/bin/raw /dev/raw/raw6 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="39",RUN+="/bin/raw /dev/raw/raw7 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="40",RUN+="/bin/raw /dev/raw/raw8 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="41",RUN+="/bin/raw /dev/raw/raw9 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="42",RUN+="/bin/raw /dev/raw/raw10 %M %m"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="43",RUN+="/bin/raw /dev/raw/raw11 %M %m"
KERNEL=="raw[1-9]", OWNER="grid", GROUP="dba", MODE="660"
KERNEL=="raw10", OWNER="grid", GROUP="dba", MODE="660"
KERNEL=="raw11", OWNER="grid", GROUP="dba", MODE="660"
[root@node1 ~]# start_udev
[root@node2 ~]# ll /dev/raw/raw*
crw-rw---- 1 grid dba 162,  1 Apr 17 21:10 /dev/raw/raw1
crw-rw---- 1 grid dba 162, 10 Apr 17 21:10 /dev/raw/raw10
crw-rw---- 1 grid dba 162, 11 Apr 17 21:10 /dev/raw/raw11
crw-rw---- 1 grid dba 162,  2 Apr 17 21:10 /dev/raw/raw2
crw-rw---- 1 grid dba 162,  3 Apr 17 21:10 /dev/raw/raw3
crw-rw---- 1 grid dba 162,  4 Apr 17 21:10 /dev/raw/raw4
crw-rw---- 1 grid dba 162,  5 Apr 17 21:10 /dev/raw/raw5
crw-rw---- 1 grid dba 162,  6 Apr 17 21:10 /dev/raw/raw6
crw-rw---- 1 grid dba 162,  7 Apr 17 21:10 /dev/raw/raw7
crw-rw---- 1 grid dba 162,  8 Apr 17 21:10 /dev/raw/raw8
crw-rw---- 1 grid dba 162,  9 Apr 17 21:10 /dev/raw/raw9

9. Start Graphical


10. Install grid




Grid only recognizes Node1 nodes and Node2 needs to be added manually.













11. Install oracle




Simplified Chinese can be added







This is replicating data to node2, under $ORACLE_HOME for node2,
View progress through du-sh

This is the end of the installation!!Maybe some people who just know oracle will make a mistake by following this step, because I do not configure two nodes grid, oracle users trust each other, in fact, they can operate graphically and try to find it!!
12. Inspection

View Cluster Resources
        [grid@tim1 ~]$ crsctl status res -t
 Check ASM status
        [grid@tim1 ~]$ asmcmd -p
 Check ocr status
        [grid@tim1 ~]$ ocrcheck
 Check voting disk status
        [grid@tim1 ~]$ crsctl query css votedisk
 Check node information
        [grid@tim1 ~]$ srvctl config nodeapps
 Check database information
        [grid@tim1 ~]$ srvctl config database -d prod
 Check interface status
        [grid@tim1 ~]$ oifcfg iflist -p -n

        [grid@tim1 ~]$ oifcfg getif -global
 Check listening status
        [grid@tim1 ~]$ lsnrctl status

Posted by son.of.the.morning on Sat, 20 Jul 2019 15:23:22 -0700