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