静默安装 centos7.6静默安装oracle 11G RAC

原文地址:https://www.cnblogs.com/gaoyuechen/p/18262931

1.网络环境
rac1

public ip :192.168.2.101

private ip :10.10.10.11

rac2

public ip :192.168.2.102

private vip :10.10.10.12

修改/etc/hosts 节点1,节点2

192.168.2.101 rac1
192.168.2.102 rac2
192.168.2.103 rac1-vip
192.168.2.104 rac2-vip
10.10.10.11 rac1-priv
10.10.10.12 rac2-priv
192.168.2.105 rac-san

2.安装grid必须的包

yum install -y binutils*
yum install -y compat-libcap1*
yum install -y gcc*
yum install -y gcc-c++*
yum install -y glibc*
yum install -y glibc-devel*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y libstdc++-devel*
yum install -y libXi*
yum install -y libXtst*
yum install -y make*
yum install -y sysstat*
yum install -y elfutils-libelf-devel*

centos7中缺少的包compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm,需要在红帽镜像中找到。使用rpm命令安装即可。

compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm下载链接(从红帽镜像里面拷贝出来的)

https://files.cnblogs.com/files/wenxiao1-2-3-4/compat-libstdc.rpm.zip

[root@rac2 ~]# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
warning: compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:compat-libstdc++-33-3.2.3-69.el6 ################################# [100%]

(环境检查时候会缺少pdksh包,忽略即可)。

4.用户和组
4.1创建安装目录,创建用户
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1020 asmadmin
/usr/sbin/groupadd -g 1021 asmdba
/usr/sbin/groupadd -g 1022 asmoper
/usr/sbin/groupadd -g 1031 dba
/usr/sbin/groupadd -g 1032 oper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

更改grid,oracle 用户的密码

echo "oracle"|passwd oracle --stdin
echo "oracle"|passwd grid --stdin

4.2配置环境变量
4.2.1 grid环境变量
节点1上配置,编辑 .bash_profile

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
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/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022

执行source生效
bash .bash_profile

节点2上配置,编辑 .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
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/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022

执行source生效
bash .bash_profile

4.2.2 oracle环境变量
节点1.bash_profile

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=rac1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
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/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022

执行source生效
source .bash_profile

节点2.bash_profile

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=rac2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
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/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022

执行source生效
source .bash_profile

5.linux 配置裸设备

[root@rac1 ~]# vi /etc/udev/rules.d/99-my-asmdevices.rules

KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="'block",88030000600000",RUN+="/bin/sh -c 'mknod /dev/asmdiskd b$major $minor; chown grid:asmadmin /dev/asmdiskd; chmod 8660 /dev/asmdiskd'"PROGRAM=="/usr/lib/udev/scsi id-g -u -d $devnode", RESULT=-"360014059761000800eKERNEL=="sd*'ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",35060005633000"RUN+="/bin/sh -c 'mknod /dev/asmdiske b $major $minor; chown grid:asmadmin /dev/asmdiske; chmod 8668 /dev/asmdiske""KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi id-g -u -d $devnode", REsULT=="360014052faggggggae80088800080080",RUN+="/bin/sh-c'mknod /dev/asmdiskf b$菐施ajor $minor; chown grid:asmadmin /dev/asmdiskf, chmod 0660 /dev/asmdiskf'"ENV{DEVTYPE}=="disk",SUBSYSTEM=="block".KERNEL=="sd*".PROGRAM=="/usr/lib/udev/scsi id -g -u -d $devnode", RESULT=="36001405d80ggggggaeRUN+="/bin/sh -c 'mknod /dev/asmdiskg b00000800000000$major $minor, chown grid:asmadmin /dev/asmdiskg; chmod 8660 /dev/asmdiskg'"KERNEL=="sd*"ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi id -g -u -d $devnode", RESULT=="368014059578300000855305006535003RUN+="/bin/sh -c 'mknod /dev/asmdiskh b$major $minor; chown grid:asmadmin /dev/asmdiskh; chmod 660 /dev/asmdiskh'"KERNEL=-"Sd*", ENV(DEVTYPE)=-"dsK", SUBSYSTEM="bl0cK", PROGRAM=="/usr/lib/udev/scsi id -g-u -d $devnode", RESULT=:"368014859fd8pge$maior $minor; chown grid:asmadmin /dev/asmdiski; chmod 8668 /dev/asmdiski'"

微信图片_2025-12-23_162435_411

配置生效:
udevadm trigger --type=devices --action=change
udevadm control --reload

[root@rac1 ~]# ls -l /dev/
total 0
brw-rw---- 1 grid asmadmin 162, 1 Jul 15 21:23 asmdiskd
brw-rw---- 1 grid asmadmin 162, 2 Jul 14 20:45 asmdiske
brw-rw---- 1 grid asmadmin 162, 3 Jul 14 20:45 asmdiskf
brw-rw---- 1 grid asmadmin 162, 4 Jul 14 20:45 asmdiskg
brw-rw---- 1 grid asmadmin 162, 4 Jul 14 20:45 asmdiskh
brw-rw---- 1 grid asmadmin 162, 4 Jul 14 20:45 asmdiskj

6.系统参数
修改,两个文件/etc/sysctl.conf,和/etc/security/limits.conf(两节点都需要修改)

/etc/sysctl.conf添加如下

kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304

修改完毕执行sysctl -p。

/etc/security/limits.conf 添加如下

grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

7.配置互信
配置互信

grid用户下:
cd /u01/software/grid/sshsetup

./sshUserSetup.sh -user grid -hosts "rac1 rac2 rac1-priv rac2-priv" -advanced -exverify -confirm –noPromptPassphrase

./sshUserSetup.sh -user oracle -hosts "rac1 rac2 rac1-priv rac2-priv" -advanced -exverify -confirm –noPromptPassphrase

  

(六)grid安装前检查

配置完毕执行grid环境检查脚本

./runInstaller -responseFile /u01/install/grid_install.rsp -silent -ignorePrereq -showProgress

安装结束后查看集群资源:

crsctl stat res -t

查看ASM磁盘组的状况:

sqlplus / as sysasm
SQL> select instance_name from v$instance;

静默安装grid软件:
grid用户下:

./runInstaller -responseFile /u01/install/response/grid_install.rsp -silent -ignorePrereq -showProgress

grid_install.rsp参考:

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=rac01,rac02
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/11.2.0.4/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=rac-scan
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.clusterName=rac-cluster
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.gpnp.gnsSubDomain=
oracle.install.crs.config.gpnp.gnsVIPAddress=
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.clusterNodes=rac01:rac01-vip,rac02:rac02-vip
oracle.install.crs.config.networkInterfaceList=eth0:192.168.1.0:1,eth1:192.168.56.0:2
oracle.install.crs.config.storageOption=ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ipmi.bmcUsername=
oracle.install.crs.config.ipmi.bmcPassword=
oracle.install.asm.SYSASMPassword=a
oracle.install.asm.diskGroup.name=CRSDG
oracle.install.asm.diskGroup.redundancy=NORMAL
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.diskGroup.disks=/dev/asmdiske,/dev/asmdiskf,/dev/asmdiskg
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asmdisk*
oracle.install.asm.monitorPassword=oracle
oracle.install.crs.upgrade.clusterNodes=
oracle.install.asm.upgradeASM=false
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
PROXY_HOST=
PROXY_PORT=0
PROXY_USER=
PROXY_PWD=
PROXY_REALM=

安装后监听未注册:
[grid@rac01 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-OCT-2020 15:29:13

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused

[grid@rac01 ~]$ srvctl status listener
PRCN-2044 : No listener exists
[grid@rac01 ~]$ srvctl add listener
[grid@rac01 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is not running

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=rac1
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/11.2.0/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=rac-san
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.clusterName=cluster-san
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.gpnp.gnsSubDomain=
oracle.install.crs.config.gpnp.gnsVIPAddress=
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip
oracle.install.crs.config.networkInterfaceList=eth0:192.168.2.0:1,eth1:10.10.10.0:2
oracle.install.crs.config.storageOption=ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ipmi.bmcUsername=
oracle.install.crs.config.ipmi.bmcPassword=
oracle.install.asm.SYSASMPassword=oracle
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=NORMAL
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.diskGroup.disks=/dev/raw/raw1,/dev/raw/raw2,/dev/raw/raw3,/dev/raw/raw4
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/*
oracle.install.asm.monitorPassword=oracle
oracle.install.crs.upgrade.clusterNodes=
oracle.install.asm.upgradeASM=false
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=

安装命令:

./runInstaller -silent -ignorePrereq -showProgress -responseFile /u01/ora_app/grid/response/grid_install01.rsp

-ignorePrereq表示忽略警告。

操作步骤如下:

[grid@rac01 grid]$ ./runInstaller -silent -ignorePrereq -showProgress -responseFile /u01/ora_app/grid/response/grid_install01.rsp
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB. Actual 9901 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4091 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-07-24_06-21-45PM. Please wait ...
[grid@rac1 grid]$ [WARNING] [INS-30011] The SYS password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1
uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-30011] The ASMSNMP password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1
uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2020-07-24_06-21-45PM.log

Prepare in progress.
.................................................. 9% Done.

Prepare successful.

Copy files in progress.
.................................................. 15% Done.
.................................................. 20% Done.
.................................................. 25% Done.
.................................................. 30% Done.
.................................................. 35% Done.
.................................................. 40% Done.
.................................................. 45% Done.
........................................
Copy files successful.

Link binaries in progress.

Link binaries successful.
.................................................. 62% Done.

Setup files in progress.

Setup files successful.
.................................................. 76% Done.

Perform remote operations in progress.
.................................................. 89% Done.

Perform remote operations successful.
The installation of Oracle Grid Infrastructure 11g was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2020-07-24_06-21-45PM.log' for more details.
.................................................. 94% Done.

Execute Root Scripts in progress.

As a root user, execute the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/11.2.0/grid/root.sh

Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[rac1, rac02]
Execute /u01/app/11.2.0/grid/root.sh on the following nodes:
[rac1, rac02]

.................................................. 100% Done.

Execute Root Scripts successful.
As install user, execute the following script to complete the configuration.
1. /u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file>

 Note:
1. This script must be run on the same host from where installer was run. 
2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation).

Successfully Setup Software.

两个节点上执行脚本,执行脚本前更新oracle补丁,参见文章末尾步骤,安装补丁18370031。

补丁更新完毕,接着执行root脚本步骤如下:

[root@rac01 ~]# /u01/app/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@rac01 ~]# /u01/app/11.2.0/grid/root.sh
Check /u01/app/11.2.0/grid/install/root_rac1_2020-07-24_18-40-41.log for the output of root script

新开另外一个终端:

[root@rac01 ~]# tail -f /u01/app/11.2.0/grid/install/root_rac1_2020-08-24_06-11-09.log | nl
1 Copying oraenv to /usr/local/bin ...
2 Copying coraenv to /usr/local/bin ...

 3  Entries will be added to the /etc/oratab file as needed by
 4  Database Configuration Assistant when a database is created
 5  Finished running generic part of root script.
 6  Now product-specific root actions will be performed.
 7  Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
 8  User ignored Prerequisites during installation
 9  Installing Trace File Analyzer
10  OLR initialization - successful
11    root wallet
12    root wallet cert
13    root cert export
14    peer wallet
15    profile reader wallet
16    pa wallet
17    peer wallet keys
18    pa wallet keys
19    peer cert request
20    pa cert request
21    peer cert
22    pa cert
23    peer root cert TP
24    profile reader root cert TP
25    pa root cert TP
26    peer pa cert TP
27    pa peer cert TP
28    profile reader pa cert TP
29    profile reader peer cert TP
30    peer user cert
31    pa user cert
32  Adding Clusterware entries to oracle-ohasd.service
33  CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1'
34  CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded
35  CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1'
36  CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded
37  CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1'
38  CRS-2672: Attempting to start 'ora.gipcd' on 'rac1'
39  CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded
40  CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded
41  CRS-2672: Attempting to start 'ora.cssd' on 'rac1'
42  CRS-2672: Attempting to start 'ora.diskmon' on 'rac1'
43  CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded
44  CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded
   
45  ASM created and started successfully.
   
46  Disk Group DATA created successfully.
   
47  clscfg: -install mode specified
48  Successfully accumulated necessary OCR keys.
49  Creating OCR keys for user 'root', privgrp 'root'..
50  Operation successful.
51  CRS-4256: Updating the profile
52  Successful addition of voting disk 5daea1cfaac24f1ebf870b7f9bb964c3.
53  Successful addition of voting disk 28267865584c4fc3bf672e650d0e28ba.
54  Successful addition of voting disk 1e8c192b947d4f43bf96dba5e650f11f.
55  Successfully replaced voting disk group with +DATA.
56  CRS-4256: Updating the profile
57  CRS-4266: Voting file(s) successfully replaced
58  ##  STATE    File Universal Id                File Name Disk group
59  --  -----    -----------------                --------- ---------
60   1. ONLINE   5daea1cfaac24f1ebf870b7f9bb964c3 (/dev/raw/raw1) [DATA]
61   2. ONLINE   28267865584c4fc3bf672e650d0e28ba (/dev/raw/raw2) [DATA]
62   3. ONLINE   1e8c192b947d4f43bf96dba5e650f11f (/dev/raw/raw3) [DATA]
63  Located 3 voting disk(s).
64  CRS-2672: Attempting to start 'ora.asm' on 'rac1'
65  CRS-2676: Start of 'ora.asm' on 'rac1' succeeded
66  CRS-2672: Attempting to start 'ora.DATA.dg' on 'rac1'
67  CRS-2676: Start of 'ora.DATA.dg' on 'rac1' succeeded
68  Configure Oracle Grid Infrastructure for a Cluster ... succeeded

节点二

[root@rac02 ~]# tail -f /u01/app/11.2.0/grid/install/root_rac2_2020-07-24_18-48-51.log | nl

 1    Creating /etc/oratab file...
 2    Entries will be added to the /etc/oratab file as needed by
 3    Database Configuration Assistant when a database is created
 4    Finished running generic part of root script.
 5    Now product-specific root actions will be performed.
 6    Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
 7    Creating trace directory
 8    User ignored Prerequisites during installation
 9    Installing Trace File Analyzer
10    OLR initialization - successful
11    Adding Clusterware entries to oracle-ohasd.service
12    CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating
13    An active cluster was found during exclusive startup, restarting to join the cluster
14    Configure Oracle Grid Infrastructure for a Cluster ... succeeded

  执行完毕成功。

7.1.安装oracle 软件

oracle 必须的软件包参考

https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGJCEA

db_install.rsp文件配置如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=rac1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=rac1,rac2
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=rac
oracle.install.db.config.starterdb.SID=rac
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=ASM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=DATA
oracle.install.db.config.asm.ASMSNMPPassword=oracle
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

执行安装

./runInstaller -ignoreSysPrereqs -silent -showProgress -responseFile /u01/ora_app/database/response/db_install.rsp

这里会出现一个错误:

[oracle@rac01 database]$ ./runInstaller -ignoreSysPrereqs -silent -showProgress -responseFile /u01/ora_app/database/response/db_install.rsp
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB. Actual 8932 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4049 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-07-24_07-00-02PM. Please wait ...[oracle@rac1 database]$ [FATAL]
[INS-35354] The system on which you are attempting to install Oracle RAC
is not part of a valid cluster.
CAUSE: Before you can install Oracle RAC, you must install Oracle Grid Infrastructure on all servers (Oracle Clusterware and Oracle ASM)
to create a cluster.
ACTION: Oracle Grid Infrastructure is not installed. Install it either from the separate installation media included in your media pack,
or install
it by downloading it from Electronic Product Delivery (EPD)
or the Oracle Technology Network (OTN).
Oracle Grid Infrastructure normally is installed by a different operating system user than the one used for Oracle Database.
It may need to be installed by your system administrator.
See the installation guide for more details.

修正错误见微章末尾:修改grid配置文件inventory.xml。

修正后重新执行安装如下:

[oracle@rac01 database]$./runInstaller -ignoreSysPrereqs -silent -showProgress -responseFile /u01/ora_app/database/response/db_install.rsp

Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB.
Actual 13597 MB Passed Checking swap space:
must be greater than 150 MB. Actual 4095 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-08-24_09-54-03PM. Please wait ...oracle@rac1 database]$
[FATAL] [INS-30502] No ASM disk group found.
CAUSE: There were no disk groups managed by the ASM instance +ASM1.
ACTION: Use Automatic Storage Management Configuration Assistant to add disk groups.

这里提示找不到磁盘组,我这里磁盘组是正常的,

[grid@rac01 ~]$ crs_stat -t
Name Type Target State Host

ora.DATA.dg ora....up.type ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type ONLINE ONLINE rac1
ora.asm ora.asm.type ONLINE ONLINE rac1
ora.cvu ora.cvu.type ONLINE ONLINE rac1
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type ONLINE ONLINE rac2
ora.ons ora.ons.type ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora.rac1.gsd application OFFLINE OFFLINE
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora.rac2.gsd application OFFLINE OFFLINE
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1

[grid@rac01 ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Mon Aug 24 22:25:56 2020

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL> column path format 20
SP2-0246: Illegal FORMAT string "20"
SQL> column path format a20
SQL> set lines 200
SQL> select group_number ,disk_number,mode_status ,name ,path from v$asm_disk;

GROUP_NUMBER DISK_NUMBER MODE_ST NAME PATH


       1           3 ONLINE  DATA_0003                      /dev/raw/raw4
       1           2 ONLINE  DATA_0002                      /dev/raw/raw3
       1           1 ONLINE  DATA_0001                      /dev/raw/raw2
       1           0 ONLINE  DATA_0000                      /dev/raw/raw1

SQL>

修正步骤,

[root@rac01 ~]# ls /u01/app/11.2.0/grid/bin/oracle -l
-rwxr-x--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
[root@rac1 ~]# chmod +s /u01/app/11.2.0/grid/bin/oracle
[root@rac1 ~]# ls /u01/app/11.2.0/grid/bin/oracle -l
-rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
[root@rac1 ~]#

更改后重新运行安装,

[oracle@rac01 database]$ ./runInstaller -ignoreSysPrereqs -silent -showProgress -responseFile /u01/ora_app/database/response/db_install.rsp

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB. Actual 13597 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4084 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-08-24_11-03-43PM. Please wait ...[oracle@rac1 database]$ [WARNING] [INS-30011] The ADMIN password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-13014] Target environment do not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log

Prepare in progress.
.................................................. 8% Done.

Prepare successful.

Copy files in progress.
.................................................. 13% Done.
.................................................. 18% Done.
.................................................. 23% Done.
.................................................. 28% Done.
.................................................. 33% Done.
.................................................. 38% Done.
.................................................. 43% Done.
....................
Copy files successful.

Link binaries in progress.
..........
Link binaries successful.
.................................................. 53% Done.

Setup files in progress.

Setup files successful.
.................................................. 65% Done.

Perform remote operations in progress.
.................................................. 76% Done.

Perform remote operations successful.
SEVERE:Remote 'AttachHome' failed on nodes: 'rac2'. Refer to '/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log' for details.
It is recommended that the following command needs to be manually run on the failed nodes:
/u01/app/oracle/product/11.2.0/db_1/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_HOME_NAME=OraDb11g_home1 CLUSTER_NODES=rt1,rt2 "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=.
Please refer 'AttachHome' logs under central inventory of remote nodes where failure occurred for more details.
The installation of Oracle Database 11g was successful on the local node but failed on remote nodes.
Please check '/u01/app/oraInventory/logs/silentInstall2020-08-24_11-03-43PM.log' for more details.

Oracle Database Configuration Assistant in progress.
.................................................. 95% Done.

Oracle Database Configuration Assistant failed.
[WARNING] [INS-32091] Software installation was successful. But some configuration assistants failed, were cancelled or skipped.
ACTION: Refer to the logs or contact Oracle Support Services.

这里静默安装oracle软件安装成功了,监听和创建数据库需要手动执行下。

查看日志如下:

[oracle@rac1 ~]$ cat /u01/app/oraInventory/logs/silentInstall2020-08-24_11-03-43PM.log
silentInstall2020-08-24_11-03-43PM.log
sNativeVolName:/u01/app/oracle/product/11.2.0/db_1/
m_asNodeArray:rac1,rac2
m_sLocalNode:rac1
sNativeVolName:/tmp/
m_asNodeArray:rac1,rac2
m_sLocalNode:rac1
sNativeVolName:/u01/app/oraInventory/
m_asNodeArray:rac1,rac2
m_sLocalNode:rac1
Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log' for details.
sNativeVolName:/u01/app/oracle/
m_asNodeArray:rac1,rac2
m_sLocalNode:rac1
SEVERE:Remote 'AttachHome' failed on nodes: 'rt2'. Refer to '/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log' for details.
It is recommended that the following command needs to be manually run on the failed nodes:
/u01/app/oracle/product/11.2.0/db_1/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_HOME_NAME=OraDb11g_home1 CLUSTER_NODES=rt1,rt2 "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=.
Please refer 'AttachHome' logs under central inventory of remote nodes where failure occurred for more details.
The installation of Oracle Database 11g was successful on the local node but failed on remote nodes.
[oracle@rac1 ~]$

打补丁19692824,执行如下:

[oracle@rac1 ~]$ cd /u01/oracle_app/19692824/
[oracle@rac1 19692824]$ find /u01/app/oracle/ -iname "opatch"
/u01/app/oracle/product/11.2.0/db_1/inventory/Templates/OPatch
/u01/app/oracle/product/11.2.0/db_1/OPatch
/u01/app/oracle/product/11.2.0/db_1/OPatch/opatchprereqs/opatch
/u01/app/oracle/product/11.2.0/db_1/OPatch/opatch
/u01/app/oracle/product/11.2.0/db_1/oc4j/cfgtoollogs/opatch
/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch
[oracle@rac1 19692824]$ /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch apply

  7.2创建数据库

首先配置监听程序

监听配置文件

[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

创建监听需要使用grid用户执行,执行如下

[grid@rac1 ~]$ netca -silent -responsefile /u01/netca.rsp

Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /u01/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Profile configuration complete.
rac1...
rac2...
Oracle Net Listener Startup:
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
[grid@rac1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-AUG-2020 02:13:49

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 25-AUG-2020 01:21:42
Uptime 0 days 0 hr. 52 min. 6 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/rac1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.101)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.103)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "rac" has 1 instance(s).
Instance "rac1", status READY, has 1 handler(s) for this service...
Service "racXDB" has 1 instance(s).
Instance "rac1", status READY, has 1 handler(s) for this service...
The command completed successfully
[grid@rac1 ~]$

dbca.rsp配置文件如下

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "rac"
SID = "rac"
NODELIST=rac1,rac2
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
STORAGETYPE=ASM
DISKGROUPNAME=DATA
ASMSNMP_PASSWORD="oracle"

RECOVERYGROUPNAME=ARCH

CHARACTERSET = "ZHS16GBK"
NATIONALCHARACTERSET= "UTF8"

参数配置:TEMPLATENAME = "General_Purpose.dbc" General_Purpose.dbc文件可在$ORACLE_HOME//assistants/dbca/templates/中找到:

[oracle@rac2 response]$ ls -lh /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/
total 295M
-rw-r--r-- 1 oracle oinstall 5.0K Aug 24 2013 Data_Warehouse.dbc
-rwxr-xr-x 1 oracle oinstall 21M Aug 27 2013 example01.dfb
-rwxr-xr-x 1 oracle oinstall 1.5M Aug 27 2013 example.dmp
-rw-r--r-- 1 oracle oinstall 4.9K Aug 24 2013 General_Purpose.dbc
-rw-r--r-- 1 oracle oinstall 12K May 1 2013 New_Database.dbt
-rwxr-xr-x 1 oracle oinstall 9.3M Aug 27 2013 Seed_Database.ctl
-rwxr-xr-x 1 oracle oinstall 263M Aug 27 2013 Seed_Database.dfb
[oracle@rac2 response]$
[oracle@rac1 ~]$ cat /u01/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "rac"
SID = "rac"
NODELIST=rac1,rac2
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
STORAGETYPE=ASM
[oracle@rac1 ~]$ dbca -silent -responsefile /u01/dbca.rsp
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/rac1.log" for further details.
[oracle@rac1 ~]$ cat /u01/app/oracle/cfgtoollogs/dbca/rac1.log
Could not connect to ASM due to following error:
ORA-12547: TNS:lost contact
[oracle@rac1 ~]$ ls -l /u01/app/11.2.0/grid/bin/oracle
-rwxr-x--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
[oracle@rac1 ~]$ chmod +s /u01/app/11.2.0/grid/bin/oracle
chmod: changing permissions of ‘/u01/app/11.2.0/grid/bin/oracle’: Operation not permitted
[oracle@rac1 ~]$ su - grid
Password:
Last login: Tue Aug 25 01:21:15 EDT 2020 on pts/1
[grid@rac1 ~]$ chmod +s /u01/app/11.2.0/grid/bin/oracle
[grid@rac1 ~]$ ls -l /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
[grid@rac1 ~]$
[oracle@rac1 ~]$ dbca -silent -responsefile /u01/dbca.rsp
Copying database files
1% complete
3% complete
9% complete
15% complete
21% complete
27% complete
30% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
44% complete
45% complete
48% complete
50% complete
Creating cluster database views
52% complete
70% complete
Completing Database Creation
73% complete
76% complete
85% complete
94% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/rac/rac.log" for further details.

出现 Could not connect to ASM due to following error: ORA-12547: TNS:lost contact

检查两节点 文件 /u01/app/11.2.0/grid/bin/oracle权限是否有所有者和所属组是否有s权限

[oracle@rac2 oracle]$ ls -l /u01/app/11.2.0/grid/bin/oracle && ssh rac1 ls -l /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:02 /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
[oracle@rac2 oracle]$

安装后测试登录检查实例状态

[oracle@rac1 ~]$ sqlplus system/oracle@rac-san:1521/rac

SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 25 02:19:20 2020

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>
SQL> desc gv$instance
Name Null? Type


INST_ID NUMBER
INSTANCE_NUMBER NUMBER
INSTANCE_NAME VARCHAR2(16)
HOST_NAME VARCHAR2(64)
VERSION VARCHAR2(17)
STARTUP_TIME DATE
STATUS VARCHAR2(12)
PARALLEL VARCHAR2(3)
THREAD# NUMBER
ARCHIVER VARCHAR2(7)
LOG_SWITCH_WAIT VARCHAR2(15)
LOGINS VARCHAR2(10)
SHUTDOWN_PENDING VARCHAR2(3)
DATABASE_STATUS VARCHAR2(17)
INSTANCE_ROLE VARCHAR2(18)
ACTIVE_STATE VARCHAR2(9)
BLOCKED VARCHAR2(3)

SQL> select host_name,status,instance_name from gv$instance
2 /

HOST_NAME STATUS


INSTANCE_NAME

rac1 OPEN
rac1

rac2 OPEN
rac2

SQL> column host_name format a30
SQL> /

HOST_NAME STATUS INSTANCE_NAME


rac1 OPEN rac1
rac2 OPEN rac2

SQL>

  (八)安装后测试

srvctl 命令示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[grid@rac2 ~]$ srvctl status instance -d rac -i rac1,rac2
Instance rac1 is running on node rac1
Instance rac2 is running on node rac2
[grid@rac2 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): rac2,rac1
[grid@rac2 ~]$ srvctl status asm -a
ASM is running on rac2,rac1
ASM is enabled.
[grid@rac2 ~]$ srvctl status database -d rac
Instance rac1 is running on node rac1
Instance rac2 is running on node rac2
[grid@rac2 ~]$ srvctl status diskgroup -g DATA
Disk Group DATA is running on rac2,rac1
[grid@rac2 ~]$ srvctl status scan_listener -i 1 -v
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node rac2
[grid@rac2 ~]$

测试oracle 操作系统验证执行如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 22:37:05 2020

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>

查看节点信息

SQL> desc gv$instance
Name Null? Type


INST_ID NUMBER
INSTANCE_NUMBER NUMBER
INSTANCE_NAME VARCHAR2(16)
HOST_NAME VARCHAR2(64)
VERSION VARCHAR2(17)
STARTUP_TIME DATE
STATUS VARCHAR2(12)
PARALLEL VARCHAR2(3)
THREAD# NUMBER
ARCHIVER VARCHAR2(7)
LOG_SWITCH_WAIT VARCHAR2(15)
LOGINS VARCHAR2(10)
SHUTDOWN_PENDING VARCHAR2(3)
DATABASE_STATUS VARCHAR2(17)
INSTANCE_ROLE VARCHAR2(18)
ACTIVE_STATE VARCHAR2(9)
BLOCKED VARCHAR2(3)

SQL> column host_name format a10
SQL> select host_name ,instance_name,status,database_status from gv$instance
2 /

HOST_NAME INSTANCE_NAME STATUS DATABASE_STATUS


rac1 rac1 OPEN ACTIVE
rac2 rac2 OPEN ACTIVE

SQL>

使用ip端口服务名连接

[oracle@rac1 ~]$ sqlplus system/oracle@192.168.2.105:1521/rac

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 22:38:34 2020

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>

查看监听运行在节点rac2上,

[grid@rac2 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node rac2

测试把rac2上的两个网卡全部停用,然后再测oracle连接

执行如下命令 ifdown ens192, ifdown ens224

rac2的远程已经失去连接

登录rac1测试登录Oracle

[oracle@rac1 ~]$ sqlplus system/oracle@192.168.2.105:1521/rac

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 23:21:56 2020

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> desc gv$instance
Name Null? Type


INST_ID NUMBER
INSTANCE_NUMBER NUMBER
INSTANCE_NAME VARCHAR2(16)
HOST_NAME VARCHAR2(64)
VERSION VARCHAR2(17)
STARTUP_TIME DATE
STATUS VARCHAR2(12)
PARALLEL VARCHAR2(3)
THREAD# NUMBER
ARCHIVER VARCHAR2(7)
LOG_SWITCH_WAIT VARCHAR2(15)
LOGINS VARCHAR2(10)
SHUTDOWN_PENDING VARCHAR2(3)
DATABASE_STATUS VARCHAR2(17)
INSTANCE_ROLE VARCHAR2(18)
ACTIVE_STATE VARCHAR2(9)
BLOCKED VARCHAR2(3)

SQL> column host_name format a10
SQL> select host_name,instance_name.status.database_status from gv$instance
2 /
select host_name,instance_name.status.database_status from gv$instance
*
ERROR at line 1:
ORA-00904: "INSTANCE_NAME"."STATUS"."DATABASE_STATUS": invalid identifier

SQL> c/./,
1* select host_name,instance_name,status.database_status from gv$instance
SQL> c/./,
1* select host_name,instance_name,status,database_status from gv$instance
SQL> /

HOST_NAME INSTANCE_NAME STATUS DATABASE_STATUS


rac1 rac1 OPEN ACTIVE

SQL>

查看rac1上的ip地址,查看192.168.2.105 rac-san已经被rac1节点接管,

测试完毕。

  (九)安装问题解决及总结

9.1:执行root.sh脚本时候报错
  ohasd failed to start

  Failed to start the Clusterware. Last 20 lines of the alert log follow:

解决方案:安装oracle补丁p18370031_112040_Linux-x86-64.zip

oracle 官方对于11.2.0.4grid 解释:

https://docs.oracle.com/cd/E11882_01/relnotes.112/e23558/toc.htm#CJAJEBGG

7.2.3 Oracle Grid Infrastructure Installation Issue

During the Oracle Grid Infrastructure installation, you must apply patch 18370031 before configuring the software that is installed. The timing of applying the patch is important and is described in detail in the Note 1951613.1 on My Oracle Support. This patch ensures that the clusterware stack is configured to use systemd for clusterware processes, as Oracle Linux 7 uses systemd for all services.

This issue is tracked with Oracle bug 18370031, which was logged for release 12.1.0.2, but the patch is for release 11.2.0.4.

错误解决,安装补丁18370031,操作步骤如下

1root下执行yum install perl*
2.执行脚本 回退root.sh操作/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
3.解压压缩包,切换到18370031目录执行 /u01/app/11.2.0/grid/OPatch/opatch apply 完成更新,输出没有报错信息,重新运行root脚本。

  执行步骤如下:下载更新包,解压后切换到更新包路径,执行如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
[grid@rac1 ~]$ cd 18370031/
[grid@rac1 18370031]$
[grid@rac1 18370031]$ ls
custom etc files
[grid@rac1 18370031]$ /u01/app/11.2.0/grid/OPatch/opatch apply
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation. All rights reserved.

Oracle Home : /u01/app/11.2.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/11.2.0/grid/oraInst.loc
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.4.0
Log file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/18370031_Jul_24_2020_18_36_32/apply2020-07-24_18-36-32PM_1.log

Applying interim patch '18370031' to OH '/u01/app/11.2.0/grid'
Verifying environment and performing prerequisite checks...
All checks passed.

This node is part of an Oracle Real Application Cluster.
Remote nodes: 'rac2'
Local node: 'rac1'
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/11.2.0/grid')

Is the local system ready for patching? [y|n]

Could not recognize input. Please re-enter.
y
User Responded with: Y
Backing up files...

Patching component oracle.crs, 11.2.0.4.0...

Verifying the update...

The local system has been patched. You can restart Oracle instances on it.

Patching in rolling mode.

The node 'rac2' will be patched next.

Please shutdown Oracle instances running out of this ORACLE_HOME on 'rac2'.
(Oracle Home = '/u01/app/11.2.0/grid')

Is the node ready for patching? [y|n]
Y
User Responded with: Y
Updating nodes 'rac2'
Apply-related files are:
FP = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_files.txt"
DP = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_dirs.txt"
MP = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/make_cmds.txt"
RC = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/remote_cmds.txt"

Instantiating the file "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_files.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_files.txt" with actual path.
Propagating files to remote nodes...
Instantiating the file "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_dirs.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_dirs.txt" with actual path.
Propagating directories to remote nodes...
Instantiating the file "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/make_cmds.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/make_cmds.txt" with actual path.
Running command on remote node 'rac2':
cd /u01/app/11.2.0/grid/srvm/lib; /usr/bin/make -f ins_srvm.mk install_srvm ORACLE_HOME=/u01/app/11.2.0/grid || echo REMOTE_MAKE_FAILED::>&2

Running command on remote node 'rac2':
cd /u01/app/11.2.0/grid/racg/lib; /usr/bin/make -f ins_has.mk install ORACLE_HOME=/u01/app/11.2.0/grid || echo REMOTE_MAKE_FAILED::>&2

The node 'rac2' has been patched. You can restart Oracle instances on it.

There were relinks on remote nodes. Remember to check the binary size and timestamp on the nodes 'rac2' .
The following make commands were invoked on remote nodes:
'cd /u01/app/11.2.0/grid/srvm/lib; /usr/bin/make -f ins_srvm.mk install_srvm ORACLE_HOME=/u01/app/11.2.0/grid
cd /u01/app/11.2.0/grid/racg/lib; /usr/bin/make -f ins_has.mk install ORACLE_HOME=/u01/app/11.2.0/grid
'

Patch 18370031 successfully applied
Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/18370031_Jul_24_2020_18_36_32/apply2020-07-24_18-36-32PM_1.log

OPatch succeeded.
[grid@rac1 18370031]$

更新完毕。

   9.2:安装oracle软件时候报错:INS-35354

错误解释:安装oracle提示信息如下:

The system on which you are attempting to install Oracle RAC is not part of a valid cluster.

解决方案:编辑/u01/app/oraInventory/ContentsXML/inventory.xml,找到属性 添加CRS="true"属性,两个节点都要修改,修改完毕重新执行安装

如下

[oracle@rac2 ~]$ cat /u01/app/oraInventory/ContentsXML/inventory.xml

11.2.0.4.0 2.1.0.6.0 [oracle@rac2 ~]$

  9.3 附加链接静默安装Oracle
  参考个人新浪博客链接如下:

  静默安装Oracle(,由于新浪博客无法修改博文,其中个别参数写的有错误,其中错误无法修复),仅供参考

http://blog.sina.com.cn/s/blog_1722831d10102xm4x.html

  附加参考:

  oracle 11.2.0.4说明:

  只安装oracle仅仅需要下载p13390677_112040_Linux-x86-64_1of7.zip和p13390677_112040_Linux-x86-64_2of7.zip,安装grid需要下载p13390677_112040_Linux-x86-64_3of7.zip, 可运行grid安装包中的readme.html查看。

  (十) asm增加磁盘操作

  ssh登录esxi主机命令如下

虚拟机中配置
两节点都要配置

配置完毕。

rac节点linux操作
登录linux (两节点都要配置),操作如下:

执行fdisk -l 查看如下:发现新增的两块磁盘

节点一

节点二

对磁盘进行创建分区

对磁盘 /dev/sdi /dev/sdj 进行创建分区,此操作只在一个节点上执行即可。

编辑文件 /usr/lib/udev/rules.d/60-raw.rules

编辑新增的两块磁盘

vi /usr/lib/udev/rules.d/60-raw.rules

修改完毕使用scp命令拷贝到rac2节点上

scp /usr/lib/udev/rules.d/60-raw.rules rac2:/usr/lib/udev/rules.d/60-raw.rules

修改完毕,

先重启rac1,节点一,节点一重启完毕,再重启二节点,重启期间oracle服务不会中断。

重启后执行ls -l /dev/raw/ 查看新增设备。

grid用户sql命令示例
操作步骤

操作系统切换grid 用户,sqlplus / as sysasm 登录,操作如下

贴入文本操作如下:

[root@rac1 ~]# su - grid
Last login: Fri Jul 17 01:03:00 EDT 2020 on pts/1
[grid@rac1 ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 17 01:40:36 2020

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL>
SQL>
SQL>
SQL> set lines 200
SQL> column path format a50
SQL> select group_number ,disk_number,mode_status ,name ,path from v$asm_disk
2 /

GROUP_NUMBER DISK_NUMBER MODE_ST NAME PATH


   0           1 ONLINE                 /dev/raw/raw9
   0           2 ONLINE                 /dev/raw/raw8
   1           0 ONLINE  DATA_0000            /dev/raw/raw1
   1           3 ONLINE  DATA_0004            /dev/raw/raw4
   1           6 ONLINE  DATA_0007            /dev/raw/raw7
   1           5 ONLINE  DATA_0006            /dev/raw/raw6
   1           4 ONLINE  DATA_0005            /dev/raw/raw5
   1           2 ONLINE  DATA_0003            /dev/raw/raw3
   1           1 ONLINE  DATA_0001            /dev/raw/raw2

9 rows selected.

SQL> alter diskgroup DATA add disk '/dev/raw/raw8' name DATA_0008
2 /

Diskgroup altered.

SQL> c/8/9
1* alter diskgroup DATA add disk '/dev/raw/raw9' name DATA_0008
SQL> c/8/9
1* alter diskgroup DATA add disk '/dev/raw/raw9' name DATA_0009
SQL> /

Diskgroup altered.

SQL> select group_number ,disk_number,mode_status ,name ,path from v$asm_disk
2 /

GROUP_NUMBER DISK_NUMBER MODE_ST NAME PATH


   1           0 ONLINE  DATA_0000            /dev/raw/raw1
   1           8 ONLINE  DATA_0009            /dev/raw/raw9
   1           7 ONLINE  DATA_0008            /dev/raw/raw8
   1           3 ONLINE  DATA_0004            /dev/raw/raw4
   1           6 ONLINE  DATA_0007            /dev/raw/raw7
   1           5 ONLINE  DATA_0006            /dev/raw/raw6
   1           4 ONLINE  DATA_0005            /dev/raw/raw5
   1           2 ONLINE  DATA_0003            /dev/raw/raw3
   1           1 ONLINE  DATA_0001            /dev/raw/raw2

9 rows selected.

SQL> c/name/name ,total_mb
1* select group_number ,disk_number,mode_status ,name ,total_mb ,path from v$asm_disk
SQL> /

GROUP_NUMBER DISK_NUMBER MODE_ST NAME TOTAL_MB PATH


   1           0 ONLINE  DATA_0000                 10239 /dev/raw/raw1
   1           8 ONLINE  DATA_0009                 20479 /dev/raw/raw9
   1           7 ONLINE  DATA_0008                 20479 /dev/raw/raw8
   1           3 ONLINE  DATA_0004                 10239 /dev/raw/raw4
   1           6 ONLINE  DATA_0007                  1023 /dev/raw/raw7
   1           5 ONLINE  DATA_0006                  1023 /dev/raw/raw6
   1           4 ONLINE  DATA_0005                  1023 /dev/raw/raw5
   1           2 ONLINE  DATA_0003                 10239 /dev/raw/raw3
   1           1 ONLINE  DATA_0001                 10239 /dev/raw/raw2

9 rows selected.

SQL>

ASM Creating Disk Groups 操作参考官方链接如下:

https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmdiskgrps.htm#OSTMG10040

完毕

  (十一)参考链接
官方链接:

安装参考

Grid Infrastructure Installation Guide for linux

https://docs.oracle.com/cd/E11882_01/install.112/e41961/toc.htm

Database 2 Day + Real Application Clusters Guide

https://docs.oracle.com/cd/E11882_01/rac.112/e17264/install_rac.htm#TDPRC169

命令参考

sqlplus 命令

https://docs.oracle.com/cd/E11882_01/server.112/e16604/toc.htm

crsctl命令参考

https://docs.oracle.com/cd/E11882_01/rac.112/e41959/crsref.htm#CWADD91145

srvctl 命令参考

https://docs.oracle.com/cd/E11882_01/rac.112/e41960/srvctladmin.htm#RACAD005

grid必须的包官方参考:

官方链接

https://docs.oracle.com/cd/E11882_01/install.112/e41961/prelinux.htm#CWLIN225

参考官方创建组和用户,链接如下:

https://docs.oracle.com/cd/E11882_01/install.112/e41961/prelinux.htm#CWLIN178

本文中使用的oracle 11.2.0.4 安装包及补丁包如下
百度云链接:
链接:https://pan.baidu.com/s/1WvdpiTs9m3es5vyTBzHb4w
提取码:1111

本实验环境,安装基本操作脚本示例:

https://files.cnblogs.com/files/wenxiao1-2-3-4/OracleRAC脚本.zip

操作系统下载链接:

centos镜像下载

http://mirrors.sohu.com/centos/7.6.1810/isos/x86_64/

redhat
链接:https://pan.baidu.com/s/16-TgKVk_nAxLeakRsOPKkg
提取码:1111

posted @ 2025-12-23 16:26  黄多鱼  阅读(1)  评论(0)    收藏  举报