一、静默安装GI
1、 配置 hosts 
vi /etc/hosts
-----------------
#public
10.15.66.210 ORACLEN01
10.15.66.211 ORACLEN02
#private
192.168.1.2 ORACLEN01-priv
192.168.1.1 ORACLEN02-priv
#virtual
10.15.66.213 ORACLEN01-vip
10.15.66.214 ORACLEN02-vip
#Scan
10.15.66.215 dcweb-scan
#DR
10.65.19.210 ORACLEDR
2、 关闭 SELINIX
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config   #需要重启生效

cat /etc/selinux/config

setenforce 0

getenforce
3、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
4、 关闭透明大页和NUMA


grub2-editenv - list | grep ker
grub2-editenv - set "kernelopts=root=/dev/mapper/rhel-root ro audit=1 audit_backlog_limit=8192 transparent_hugepage=never numa=off"
reboot

#输入以下命令进行确认:
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /proc/cmdline
grep AnonHugePages /proc/meminfo
5、 修改/etc/sysctl.conf


vi /etc/sysctl.conf

------------------------

kernel.shmmax =269509197823    #内存*1024*1024*1024-1
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
kernel.shmall =65798144    #内存*1024*1024*1024/4096
net.ipv4.ip_local_port_range = 9000 65500
fs.aio-max-nr = 1048576

----------------------

sysctl -p   #生效
6、 修改/etc/security/limits.conf


oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    30720
oracle   hard   stack    32768
oracle   hard   memlock    unlimited
oracle   soft   memlock    unlimited
grid   soft   nofile    1024
grid   hard   nofile    65536
grid   soft   nproc    16384
grid   hard   nproc    16384
grid   soft   stack    30720  
grid   hard   stack    32768
grid   hard   memlock    unlimited
grid   soft   memlock    unlimited
7.编辑环境变量

vi /etc/profile

  if [ $USER = "oracle" ]; then

     if [ $SHELL = "/bin/ksh" ]; then

     ulimit -p 16384

     ulimit -n 65536

     else

     ulimit -u 16384 -n 65536

     fi

  fi

 
  source /etc/profile   #生效环境变量
8、 修改/etc/pam.d/login

echo 'session required pam_limits.so' >> /etc/pam.d/login
cat /etc/pam.d/login |grep pam_limits.so   #查看
9、安装必要的package


yum -y install bc
yum -y install binutils
yum -y install elfutils-libelf
yum -y install elfutils-libelf-devel
yum -y install fontconfig-devel
yum -y install gcc
yum -y install gcc-c++
yum -y install glibc
yum -y install glibc-devel
yum -y install ksh
yum -y install libaio
yum -y install libaio-devel
yum -y install libgcc
yum -y install libgfortran
yum -y install libibverbs
yum -y install libnsl
yum -y install libnsl2
yum -y install librdmacm
yum -y install libstdc++
yum -y install libstdc++-devel
yum -y install libxcb
yum -y install libX11
yum -y install libXau
yum -y install libXi
yum -y install libXrender
yum -y install libXtst
yum -y install make
yum -y install policycoreutils
yum -y install policycoreutils-python-utils
yum -y install smartmontools
yum -y install sysstat
yum -y install unzip
yum -y install bind-utils
10、 用户及组、目录创建
##创建用户组
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper  
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54330 racdba
/usr/sbin/groupadd -g 54329 asmadmin

##创建用户 (需要确保grid用户和oracle用户已经创建)
useradd oracle
useradd grid

passwd oracle
passwd grid

usermod -u 54321 oracle
usermod -u 54331 grid

/usr/sbin/usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
/usr/sbin/usermod -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba,oper grid

# id oracle  
# id grid
11、 创建软件目录并授权
mkdir -p /u01/grid/grid
mkdir -p /u01/grid/19c
mkdir -p /u01/app/oracle/product/19.0.0/db
mkdir -p /u01/grid/oraInventory
mkdir -p /home/oracle/jobs
chown -R oracle:oinstall /home/oracle/jobs
chown -R grid:oinstall /u01/grid/grid
chown -R grid:oinstall /u01/grid/19c
chown -R grid:oinstall  /u01/grid/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chmod -R 755 /u01
12、 检查系统语言环境:

localectl status|grep LANG     ##确认值为:System Locale: LANG=en_US.UTF-8
13、 主机时间、时区检查:

timedatectl         ##Time zone: Asia/Shanghai (CST, +0800)
14、 配置环境变量(节点一):
#配置grid用户的环境变量
[grid@ORACLEN01 ~]$ cat .bash_profile
-------------
PATH=HOME/.local/bin:$HOME/binexport PATH
export ORACLE_SID=+ASM1    
export ORACLE_BASE=/u01/grid/grid
export ORACLE_HOME=/u01/grid/19c
export ORACLE_TERM=xterm
export NLS_DATA_FORMAT="DD-MON-YYYY HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:/u01/app/common/oracle/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CV_ASSUME_DISTID=RHEL7.8   #RHEL 8.0以上要配置这个变量

export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
----------------

#配置Oracle用户的环境变量
[oracle@ORACLEN01 ~]$ cat .bash_profile
------------
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
export ORACLE_HOSTNAME= ORACLEN01  
export ORACLE_SID=oraclerac1   
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"
export NLS_LANG="American_America.ZHS16GBK"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/u01/app/oracle/product/19.0.0/db/perl/bin
export PATH=${PATH}:/u01/app/common/oracle/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CV_ASSUME_DISTID=RHEL7.8  #RHEL 8.0以上要配置这个变量

export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
----------------

配置环境变量(节点二):

#配置grid用户的环境变量
[grid@ORACLEN02 ~]$ cat .bash_profile
-------------
PATH=HOME/.local/bin:$HOME/binexport PATH
export ORACLE_SID=+ASM2  
export ORACLE_BASE=/u01/grid/grid
export ORACLE_HOME=/u01/grid/19c
export ORACLE_TERM=xterm
export NLS_DATA_FORMAT="DD-MON-YYYY HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:/u01/app/common/oracle/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CV_ASSUME_DISTID=RHEL7.8   #RHEL 8.0以上要配置这个变量

export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
----------------

#配置Oracle用户的环境变量
[oracle@ORACLEN02 ~]$ cat .bash_profile
------------
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
export ORACLE_HOSTNAME= ORACLEN02   
export ORACLE_SID=oraclerac2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"
export NLS_LANG="American_America.ZHS16GBK"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/u01/app/oracle/product/19.0.0/db/perl/bin
export PATH=${PATH}:/u01/app/common/oracle/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CV_ASSUME_DISTID=RHEL7.8  #RHEL 8.0以上要配置这个变量

export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
----------------
15、 使用udev绑定设备权限

##获取UUID,例子:

multipath -ll    #如果是多路径可以通过这个方式获取
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/dm-3

##编辑文件

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac000000000000003670001d6af", SYMLINK+="asmdisk_udev_data1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac000000000000003680001d6af", SYMLINK+="asmdisk_udev_data2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac000000000000003690001d6af", SYMLINK+="asmdisk_udev_mgmt", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac0000000000000036a0001d6af", SYMLINK+="asmdisk_udev_data3", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac0000000000000036b0001d6af", SYMLINK+="asmdisk_udev_data4", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac0000000000000036c0001d6af", SYMLINK+="asmdisk_udev_data5", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac0000000000000036d0001d6af", SYMLINK+="asmdisk_udev_ocrvote1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac0000000000000036e0001d6af", SYMLINK+="asmdisk_udev_ocrvote2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360002ac0000000000000036f0001d6af", SYMLINK+="asmdisk_udev_ocrvote3", OWNER="grid", GROUP="asmadmin", MODE="0660"

##生效
/sbin/udevadm control --reload-rules
/sbin/udevadm trigger --type=devices --action=change

#查看权限是否正确
[root@ORACLEN01 ~]# ll /dev |grep asm
drwxrwx---  2 root asmadmin      920 Apr 17 18:01 asm
lrwxrwxrwx  1 root root            4 Apr 18 15:02 asmdisk_udev_data1 -> dm-3
lrwxrwxrwx  1 root root            4 Apr 18 15:02 asmdisk_udev_data2 -> dm-4
lrwxrwxrwx  1 root root            4 Apr 18 15:15 asmdisk_udev_data3 -> dm-6
lrwxrwxrwx  1 root root            4 Apr 18 15:31 asmdisk_udev_data4 -> dm-7
lrwxrwxrwx  1 root root            4 Apr 18 15:15 asmdisk_udev_data5 -> dm-8
lrwxrwxrwx  1 root root            4 Apr 18 15:15 asmdisk_udev_mgmt -> dm-5
lrwxrwxrwx  1 root root            4 Apr 18 15:15 asmdisk_udev_ocrvote1 -> dm-9
lrwxrwxrwx  1 root root            5 Apr 18 15:15 asmdisk_udev_ocrvote2 -> dm-10
lrwxrwxrwx  1 root root            5 Apr 18 15:15 asmdisk_udev_ocrvote3 -> dm-11
brw-rw----  1 grid asmadmin 253,  10 Apr 18 15:36 dm-10
brw-rw----  1 grid asmadmin 253,  11 Apr 18 15:36 dm-11
brw-rw----  1 grid asmadmin 253,   3 Apr 18 15:36 dm-3
brw-rw----  1 grid asmadmin 253,   4 Apr 18 15:02 dm-4
brw-rw----  1 grid asmadmin 253,   5 Apr 18 15:36 dm-5
brw-rw----  1 grid asmadmin 253,   6 Apr 18 15:15 dm-6
brw-rw----  1 grid asmadmin 253,   7 Apr 18 15:36 dm-7
brw-rw----  1 grid asmadmin 253,   8 Apr 18 15:36 dm-8
brw-rw----  1 grid asmadmin 253,   9 Apr 18 15:36 dm-9
16、 解压grid组件和patch包:

su - grid      切换到grid用户解压缩包
mkdir /u01/grid/patch
copy包到相应目录下
cd /u01/grid/patch/
unzip p30159782_193000OCWRU_Generic.zip ##静默安装必备包,仅限于当前版本

cd $ORACLE_HOME/   解压缩到grid家目录
unzip LINUX.X64_193000_grid_home.zip
17、 互信(使用root用户配置)
#配置grid用户的
/u01/grid/19c/oui/prov/resources/scripts/sshUserSetup.sh -user grid  -hosts "ORACLEN01 ORACLEN02"  -advanced -noPromptPassphrase

#配置oracle用户的
/u01/grid/19c/oui/prov/resources/scripts/sshUserSetup.sh -user oracle  -hosts "ORACLEN01 ORACLEN02"  -advanced -noPromptPassphrase
18、 安装cvuqdisk(两个节点都需要安装)

$ORACLE_HOME/下的/cv/rpm/cvuqdisk

su - root
export CVUQDISK_GRP=asmadmin
rpm –ivh cvuqdisk-1.0.10-1.rpm
\*\*将cvuqdisk-1.0.10-1.rpm拷贝到另一节点,执行安装。
 19、 安装前检查

su - grid
$ORACLE_HOME/runcluvfy.sh  stage -pre crsinst -n "ORACLEN01,ORACLEN02"  -method root  -verbose   #需要输入root密码

=================具体检查过程========================
[grid@ORACLEN01 19c]$ ./runcluvfy.sh  stage -pre crsinst -n "ORACLEN01,ORACLEN02"  -method root  -verbose
Enter "ROOT" password:

Verifying Physical Memory ...
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  ORACLEN02  251.5474GB (2.6376652E8KB)  8GB (8388608.0KB)         passed
  ORACLEN01  251.5472GB (2.63766348E8KB)  8GB (8388608.0KB)         passed
Verifying Physical Memory ...PASSED
Verifying Available Physical Memory ...
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  ORACLEN02  250.3069GB (2.62465812E8KB)  50MB (51200.0KB)          passed
  ORACLEN01  249.7887GB (2.61922424E8KB)  50MB (51200.0KB)          passed
Verifying Available Physical Memory ...PASSED
Verifying Swap Size ...
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  ORACLEN02  64GB (6.710886E7KB)       16GB (1.6777216E7KB)      passed
  ORACLEN01  64GB (6.710886E7KB)       16GB (1.6777216E7KB)      passed
Verifying Swap Size ...PASSED
Verifying Free Space: ORACLEN02:/usr,ORACLEN02:/var,ORACLEN02:/etc,ORACLEN02:/sbin,ORACLEN02:/tmp ...
  Path              Node Name     Mount point   Available     Required      Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  /usr              ORACLEN02  /             1.4316TB      25MB          passed
  /var              ORACLEN02  /             1.4316TB      5MB           passed
  /etc              ORACLEN02  /             1.4316TB      25MB          passed
  /sbin             ORACLEN02  /             1.4316TB      10MB          passed
  /tmp              ORACLEN02  /             1.4316TB      1GB           passed
Verifying Free Space: ORACLEN02:/usr,ORACLEN02:/var,ORACLEN02:/etc,ORACLEN02:/sbin,ORACLEN02:/tmp ...PASSED
Verifying Free Space: ORACLEN01:/usr,ORACLEN01:/var,ORACLEN01:/etc,ORACLEN01:/sbin,ORACLEN01:/tmp ...
  Path              Node Name     Mount point   Available     Required      Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  /usr              ORACLEN01  /             1.4221TB      25MB          passed
  /var              ORACLEN01  /             1.4221TB      5MB           passed
  /etc              ORACLEN01  /             1.4221TB      25MB          passed
  /sbin             ORACLEN01  /             1.4221TB      10MB          passed
  /tmp              ORACLEN01  /             1.4221TB      1GB           passed
Verifying Free Space: ORACLEN01:/usr,ORACLEN01:/var,ORACLEN01:/etc,ORACLEN01:/sbin,ORACLEN01:/tmp ...PASSED
Verifying User Existence: grid ...
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  ORACLEN02  passed                    exists(54331)
  ORACLEN01  passed                    exists(54331)

  Verifying Users With Same UID: 54331 ...PASSED
Verifying User Existence: grid ...PASSED
Verifying Group Existence: asmadmin ...
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  ORACLEN02  passed                    exists
  ORACLEN01  passed                    exists
Verifying Group Existence: asmadmin ...PASSED
Verifying Group Existence: asmdba ...
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  ORACLEN02  passed                    exists
  ORACLEN01  passed                    exists
Verifying Group Existence: asmdba ...PASSED
Verifying Group Existence: oinstall ...
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  ORACLEN02  passed                    exists
  ORACLEN01  passed                    exists
Verifying Group Existence: oinstall ...PASSED
Verifying Group Membership: asmdba ...
  Node Name         User Exists   Group Exists  User in Group  Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    yes           yes           yes           passed
  ORACLEN01    yes           yes           yes           passed
Verifying Group Membership: asmdba ...PASSED
Verifying Group Membership: asmadmin ...
  Node Name         User Exists   Group Exists  User in Group  Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    yes           yes           yes           passed
  ORACLEN01    yes           yes           yes           passed
Verifying Group Membership: asmadmin ...PASSED
Verifying Group Membership: oinstall(Primary) ...
  Node Name         User Exists   Group Exists  User in Group  Primary       Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  ORACLEN02    yes           yes           yes           yes           passed
  ORACLEN01    yes           yes           yes           yes           passed
Verifying Group Membership: oinstall(Primary) ...PASSED
Verifying Run Level ...
  Node Name     run level                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  ORACLEN02  3                         3,5                       passed
  ORACLEN01  3                         3,5                       passed
Verifying Run Level ...PASSED
Verifying Hard Limit: maximum open file descriptors ...
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    hard          65536         65536         passed
  ORACLEN01    hard          65536         65536         passed
Verifying Hard Limit: maximum open file descriptors ...PASSED
Verifying Soft Limit: maximum open file descriptors ...
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    soft          1024          1024          passed
  ORACLEN01    soft          1024          1024          passed
Verifying Soft Limit: maximum open file descriptors ...PASSED
Verifying Hard Limit: maximum user processes ...
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    hard          16384         16384         passed
  ORACLEN01    hard          16384         16384         passed
Verifying Hard Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum user processes ...
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    soft          16384         2047          passed
  ORACLEN01    soft          16384         2047          passed
Verifying Soft Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum stack size ...
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    soft          30720         10240         passed
  ORACLEN01    soft          30720         10240         passed
Verifying Soft Limit: maximum stack size ...PASSED
Verifying Users With Same UID: 0 ...PASSED
Verifying Current Group ID ...PASSED
Verifying Root user consistency ...
  Node Name                             Status
  ------------------------------------  ------------------------
  ORACLEN02                        passed
  ORACLEN01                        passed
Verifying Root user consistency ...PASSED
Verifying Package: cvuqdisk-1.0.10-1 ...
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  ORACLEN02  cvuqdisk-1.0.10-1         cvuqdisk-1.0.10-1         passed
  ORACLEN01  cvuqdisk-1.0.10-1         cvuqdisk-1.0.10-1         passed
Verifying Package: cvuqdisk-1.0.10-1 ...PASSED
Verifying Host name ...PASSED
Verifying Node Connectivity ...
  Verifying Hosts File ...
  Node Name                             Status
  ------------------------------------  ------------------------
  ORACLEN01                        passed
  ORACLEN02                        passed
  Verifying Hosts File ...PASSED

Interface information for node "ORACLEN02"

 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 bond1  192.168.1.1     192.168.1.0     UNKNOWN         UNKNOWN         B4:05:5D:AD:E8:82 1500
 bond0  10.15.66.211    10.15.66.0      UNKNOWN         UNKNOWN         B4:05:5D:AD:E9:90 1500

Interface information for node "ORACLEN01"

 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 bond1  192.168.1.2     192.168.1.0     UNKNOWN         UNKNOWN         B4:05:5D:AD:E9:94 1500
 bond0  10.15.66.210    10.15.66.0     UNKNOWN         UNKNOWN         B4:05:5D:AD:EA:48 1500

Check: MTU consistency of the subnet "192.168.1.0".

  Node              Name          IP Address    Subnet        MTU
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    bond1         192.168.1.1   192.168.1.0   1500
  ORACLEN01    bond1         192.168.1.2   192.168.1.0   1500

Check: MTU consistency of the subnet "10.15.66.0".

  Node              Name          IP Address    Subnet        MTU
  ----------------  ------------  ------------  ------------  ----------------
  ORACLEN02    bond0         10.15.66.211  10.15.66.0   1500
  ORACLEN01    bond0         10.15.66.210  10.15.66.0   1500
  Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED

  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  ORACLEN01[bond1:192.168.1.2]  ORACLEN02[bond1:192.168.1.1]  yes

  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  ORACLEN01[bond0:10.15.66.210]  ORACLEN02[bond0:10.15.66.211]  yes
  Verifying subnet mask consistency for subnet "192.168.1.0" ...PASSED
  Verifying subnet mask consistency for subnet "10.15.66.0" ...PASSED
Verifying Node Connectivity ...PASSED
Verifying Multicast or broadcast check ...
Checking subnet "192.168.1.0" for multicast communication with multicast group "224.0.0.251"
Verifying Multicast or broadcast check ...PASSED
Verifying Network Time Protocol (NTP) ...PASSED
Verifying Same core file name pattern ...PASSED
Verifying User Mask ...
  Node Name     Available                 Required                  Comment
  ------------  ------------------------  ------------------------  ----------
  ORACLEN02  0022                      0022                      passed
  ORACLEN01  0022                      0022                      passed
Verifying User Mask ...PASSED
Verifying User Not In Group "root": grid ...
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  ORACLEN02  passed                    does not exist
  ORACLEN01  passed                    does not exist
Verifying User Not In Group "root": grid ...PASSED
Verifying Time zone consistency ...PASSED
Verifying Time offset between nodes ...PASSED
Verifying resolv.conf Integrity ...FAILED (PRVG-2002)
Verifying DNS/NIS name service ...FAILED (PRVG-2002)
Verifying Domain Sockets ...PASSED
Verifying /boot mount ...PASSED
Verifying Daemon "avahi-daemon" not configured and running ...
  Node Name     Configured                Status
  ------------  ------------------------  ------------------------
  ORACLEN02  no                        passed
  ORACLEN01  no                        passed

  Node Name     Running?                  Status
  ------------  ------------------------  ------------------------
  ORACLEN02  no                        passed
  ORACLEN01  no                        passed
Verifying Daemon "avahi-daemon" not configured and running ...PASSED
Verifying Daemon "proxyt" not configured and running ...
  Node Name     Configured                Status
  ------------  ------------------------  ------------------------
  ORACLEN02  no                        passed
  ORACLEN01  no                        passed

  Node Name     Running?                  Status
  ------------  ------------------------  ------------------------
  ORACLEN02  no                        passed
  ORACLEN01  no                        passed
Verifying Daemon "proxyt" not configured and running ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying File system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...FAILED (PRVE-10077)
Verifying ASM Filter Driver configuration ...PASSED

Pre-check for cluster services setup was unsuccessful on all the nodes.


Failures were encountered during execution of CVU verification request "stage -pre crsinst".

Verifying resolv.conf Integrity ...FAILED
ORACLEN02: PRVG-2002 : Encountered error in copying file
				"/etc/resolv.conf" from node "ORACLEN02" to node
				"ORACLEN01"
				protocol error: filename does not match request

Verifying DNS/NIS name service ...FAILED
ORACLEN02: PRVG-2002 : Encountered error in copying file
				"/etc/nsswitch.conf" from node "ORACLEN02" to node
				"ORACLEN01"
				protocol error: filename does not match request

Verifying zeroconf check ...FAILED
ORACLEN02: PRVE-10077 : NOZEROCONF parameter was not  specified or was not
				set to 'yes' in file "/etc/sysconfig/network" on node
				"ORACLEN02"

ORACLEN01: PRVE-10077 : NOZEROCONF parameter was not  specified or was not
				set to 'yes' in file "/etc/sysconfig/network" on node
				"ORACLEN01"


CVU operation performed:      stage -pre crsinst
Date:                         Apr 16, 2024 4:08:30 PM
CVU home:                     /u01/grid/19c/
User:                         grid
==================================================
20、 编辑响应文件
su - grid
vi ${ORACLE_HOME}/install/response/gridsetup.rsp
##vi /u01/grid/19c/install/response/gridsetup.rsp/gridsetup.rsp    #具体路径信息
-----------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/grid/oraInventory
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/grid/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.SCANClientDataFile=
oracle.install.crs.config.gpnp.scanName=oracle-scan  #这里是SCANIP 对应的别名。必须在/etc/hosts 中可以找到。
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false # 是否要配置为Extended Cluster,新装RAC时,都是false
oracle.install.crs.config.memberClusterManifestFile=
oracle.install.crs.config.clusterName=blkoracle    # 集群名
oracle.install.crs.config.gpnp.configureGNS=false   # 不配置GNS
oracle.install.crs.config.autoConfigureClusterNodeVIP=false    # 不自动分配VIP
oracle.install.crs.config.gpnp.gnsOption=
oracle.install.crs.config.gpnp.gnsClientDataFile=
oracle.install.crs.config.gpnp.gnsSubDomain=
oracle.install.crs.config.gpnp.gnsVIPAddress=
oracle.install.crs.config.sites=
oracle.install.crs.config.clusterNodes=ORACLEN01:ORACLEN01-vip,ORACLEN02:ORACLEN02-vip    # 格式为 /etc/hosts 文件中的 主机名:VIP名:HUB,主机名:vip名:HUB,关于hub请查找 flex ASM hub node 与leaf node.
oracle.install.crs.config.networkInterfaceList=bond0:10.15.66.0:1,bond1:192.168.1.0:5  # 格式为 网卡名:ip段:1:网卡名:ip段:5, 1--> 公网ip,5--> asm & private ip
oracle.install.crs.configureGIMR=true
oracle.install.asm.configureGIMRDataDG=true
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ipmi.bmcUsername=
oracle.install.crs.config.ipmi.bmcPassword=
oracle.install.asm.SYSASMPassword=123456    # sysasm 用户密码
oracle.install.asm.diskGroup.name=CRSDATA     #仲裁磁盘组名称,如果是迁移要和之前的保持一致,select group_number,name,state,total_mb,free_mb,type,offline_disks from v$asm_diskgroup;
oracle.install.asm.diskGroup.redundancy=NORMAL
oracle.install.asm.diskGroup.AUSize=4
oracle.install.asm.diskGroup.FailureGroups=
oracle.install.asm.diskGroup.disksWithFailureGroupNames=/dev/asmdisk_udev_ocrvote1,,/dev/asmdisk_udev_ocrvote2,,/dev/asmdisk_udev_ocrvote3,
oracle.install.asm.diskGroup.disks=/dev/asmdisk_udev_ocrvote1,/dev/asmdisk_udev_ocrvote2,/dev/asmdisk_udev_ocrvote3
oracle.install.asm.diskGroup.quorumFailureGroupNames=
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asmdisk*
oracle.install.asm.monitorPassword=123456   #表示ASMSNMP账户的密码
oracle.install.asm.gimrDG.name=MGMT
oracle.install.asm.gimrDG.redundancy=EXTERNAL
oracle.install.asm.gimrDG.AUSize=4
oracle.install.asm.gimrDG.FailureGroups=
oracle.install.asm.gimrDG.disksWithFailureGroupNames=/dev/asmdisk_udev_mgmt,
oracle.install.asm.gimrDG.disks=/dev/asmdisk_udev_mgmt
oracle.install.asm.gimrDG.quorumFailureGroupNames=
oracle.install.asm.configureAFD=false   #8.0以上的操作系统需要设置成false
oracle.install.crs.configureRHPS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsHost=
oracle.install.config.omsPort=0
oracle.install.config.emAdminUser=
oracle.install.config.emAdminPassword=
oracle.install.crs.rootconfig.executeRootScript=false
oracle.install.crs.rootconfig.configMethod=ROOT
oracle.install.crs.rootconfig.sudoPath=
oracle.install.crs.rootconfig.sudoUserName=
oracle.install.crs.config.batchinfo=
oracle.install.crs.app.applicationAddress=
oracle.install.crs.deleteNode.nodes=
21、安装、按要求执行脚本
su - grid
${ORACLE_HOME}/gridSetup.sh -applyOneOffs /u01/grid/patch/30159782 -ignorePrereq -waitforcompletion -silent -responseFile ${ORACLE_HOME}/install/response/oracle.rsp

=============具体执行过程==============
[grid@ORACLEN01 19c]$ ${ORACLE_HOME}/gridSetup.sh -applyOneOffs /u01/grid/patch/30159782 -ignorePrereq -waitforcompletion -silent -responseFile ${ORACLE_HOME}/install/response/oracle.rsp
Preparing the home to patch...
Applying the patch /u01/grid/patch/30159782...
Successfully applied the patch.
The log can be found at: /tmp/GridSetupActions2024-04-16_04-33-28PM/installerPatchActions_2024-04-16_04-33-28PM.log
Launching Oracle Grid Infrastructure Setup Wizard...

[WARNING] [INS-13013] Target environment does not meet some mandatory requirements.
   CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /tmp/GridSetupActions2024-04-16_04-33-28PM/gridSetupActions2024-04-16_04-33-28PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: /tmp/GridSetupActions2024-04-16_04-33-28PM/gridSetupActions2024-04-16_04-33-28PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/grid/19c/install/response/grid_2024-04-16_04-33-28PM.rsp

You can find the log of this install session at:
 /tmp/GridSetupActions2024-04-16_04-33-28PM/gridSetupActions2024-04-16_04-33-28PM.log

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

Execute /u01/grid/oraInventory/orainstRoot.sh on the following nodes:
[ORACLEN01, ORACLEN02]
Execute /u01/grid/19c/root.sh on the following nodes:
[ORACLEN01, ORACLEN02]

Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes.

Successfully Setup Software with warning(s).
As install user, execute the following command to complete the configuration.
		/u01/grid/19c/gridSetup.sh -executeConfigTools -responseFile /u01/grid/19c/install/response/oracle.rsp [-silent]


Moved the install session logs to:
 /u01/grid/oraInventory/logs/GridSetupActions2024-04-16_04-33-28PM
22、执行root脚本
1. /u01/grid/oraInventory/orainstRoot.sh
2. /u01/grid/19c/root.sh
注意:先在安装节点执行root.sh,再在另一个节点执行


====执行过程-脚本2. /u01/grid/19c/root.sh======共19个步骤=====
[root@ORACLEN02 ~]# /u01/grid/19c/root.sh
Check /u01/grid/19c/install/root_ORACLEN02_2024-04-16_16-50-55-507976557.log for the output of root script

tail -f /u01/grid/19c/install/root_ORACLEN02_2024-04-16_16-50-55-507976557.log
2024/04/16 16:51:04 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2024/04/16 16:51:04 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2024/04/16 16:51:05 CLSRSC-363: User ignored prerequisites during installation
2024/04/16 16:51:05 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2024/04/16 16:51:05 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2024/04/16 16:51:05 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
2024/04/16 16:51:05 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
2024/04/16 16:51:06 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
2024/04/16 16:51:06 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
2024/04/16 16:51:06 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2024/04/16 16:51:09 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2024/04/16 16:51:09 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2024/04/16 16:51:10 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2024/04/16 16:51:10 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2024/04/16 16:51:25 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2024/04/16 16:51:26 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2024/04/16 16:51:27 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2024/04/16 16:51:28 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2024/04/16 16:51:29 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2024/04/16 16:51:35 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2024/04/16 16:52:15 CLSRSC-343: Successfully started Oracle Clusterware stack
2024/04/16 16:52:15 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2024/04/16 16:52:23 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2024/04/16 16:52:27 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
23.按照要求安装工具(在主节点执行)
su - grid
$ORACLE_HOME/gridSetup.sh -executeConfigTools -silent -response ${ORACLE_HOME}/install/response/gridsetup.rsp

查看日志
========执行过程======有warning没有关系,查看日志文件,只要没有ERROR信息就行=============
[grid@ORACLEN01 GridSetupActions2024-04-16_04-33-28PM]$ /u01/grid/19c/gridSetup.sh -executeConfigTools -responseFile /u01/grid/19c/install/response/oracle.rsp -silent
Launching Oracle Grid Infrastructure Setup Wizard...

You can find the logs of this session at:
/u01/grid/oraInventory/logs/GridSetupActions2024-04-16_04-55-02PM

You can find the log of this install session at:
 /u01/grid/oraInventory/logs/UpdateNodeList2024-04-16_04-55-02PM.log
Configuration failed.
[WARNING] [INS-43080] Some of the configuration assistants failed, were cancelled or skipped.
   ACTION: Refer to the logs or contact Oracle Support Services.
24、检查集群状态
crsctl stat res -t
crsctl stat res ora.MGMT.dg -t

===========执行过程===========
[grid@ORACLEN01 GridSetupActions2024-04-16_04-33-28PM]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
			   ONLINE  ONLINE       ORACLEN01           STABLE
			   ONLINE  ONLINE       ORACLEN02           STABLE
ora.chad
			   ONLINE  ONLINE       ORACLEN01           STABLE
			   ONLINE  ONLINE       ORACLEN02           STABLE
ora.net1.network
			   ONLINE  ONLINE       ORACLEN01           STABLE
			   ONLINE  ONLINE       ORACLEN02           STABLE
ora.ons
			   ONLINE  ONLINE       ORACLEN01           STABLE
			   ONLINE  ONLINE       ORACLEN02           STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
	  2        ONLINE  ONLINE       ORACLEN02           STABLE
	  3        OFFLINE OFFLINE                               STABLE
ora.CRSDG.dg(ora.asmgroup)
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
	  2        ONLINE  ONLINE       ORACLEN02           STABLE
	  3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
ora.MGMT.dg(ora.asmgroup)
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
	  2        ONLINE  ONLINE       ORACLEN02           STABLE
	  3        OFFLINE OFFLINE                               STABLE
ora.MGMTLSNR
	  1        ONLINE  ONLINE       ORACLEN01           169.254.20.184 192.1
															 68.1.2,STABLE
ora.asm(ora.asmgroup)
	  1        ONLINE  ONLINE       ORACLEN01           Started,STABLE
	  2        ONLINE  ONLINE       ORACLEN02           Started,STABLE
	  3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
	  2        ONLINE  ONLINE       ORACLEN02           STABLE
	  3        OFFLINE OFFLINE                               STABLE
ora.ORACLEN01.vip
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
ora.ORACLEN02.vip
	  1        ONLINE  ONLINE       ORACLEN02           STABLE
ora.cvu
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
ora.mgmtdb
	  1        ONLINE  ONLINE       ORACLEN01           Open,STABLE
ora.qosmserver
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
ora.scan1.vip
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
--------------------------------------------------------------------------------
[grid@ORACLEN01 GridSetupActions2024-04-16_04-33-28PM]$ crsctl stat res ora.MGMT.dg -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.MGMT.dg(ora.asmgroup)
	  1        ONLINE  ONLINE       ORACLEN01           STABLE
	  2        ONLINE  ONLINE       ORACLEN02           STABLE
	  3        OFFLINE OFFLINE                               STABLE
--------------------------------------------------------------------------------
25、重启集群确保正常
[root@ORACLEN01 ~]# cd /u01/grid/19c/bin/
[root@ORACLEN01 bin]# ./crsctl stop crs
[root@ORACLEN01 bin]# ./crsctl start  crs
二、RAC静默安装DB
1.拷贝安装包到oracle用户的$ORACLE_HOME下面
su - root
cd /software
cp LINUX.X64_193000_db_home.zip   /u01/app/oracle/product/19.0.0/db
cp p30159782_193000OCWRU_Generic.zip  /u01/app/oracle/product/19.0.0/db

chown oracle:oinstall /u01/app/oracle/product/19.0.0/db/LINUX.X64_193000_db_home.zip
chown oracle:oinstall /u01/app/oracle/product/19.0.0/db/p30159782_193000OCWRU_Generic.zip
2.将DB的包解压在$ORACLE_HOME下
su - oracle
cd /u01/app/oracle/product/19.0.0/db
unzip LINUX.X64_193000_db_home.zip
unzip p30159782_193000OCWRU_Generic.zip
3.编辑响应文件
vi /home/oracle/db.rsp
----------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/grid/oraInventory    #RAC下必须放在这个目录下
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.rootconfig.configMethod=ROOT
oracle.install.db.rootconfig.sudoPath=
oracle.install.db.rootconfig.sudoUserName=
oracle.install.db.CLUSTER_NODES=ORACLEN01,ORACLEN02  #修改机器的名字为对应的名字
----------------------
4.静默安装数据库软件(只在当前节点执行)
su - oracle
cd $ORACLE_HOME
./runInstaller -applyOneOffs /u01/app/oracle/product/19.0.0/db/30159782 -silent -ignorePrereqFailure -responseFile /home/oracle/db.rsp -logLevel info


===============执行过程==============
[oracle@ORACLEN01 ~]$ cd $ORACLE_HOME
[oracle@ORACLEN01 db]$ ./runInstaller -applyOneOffs /u01/app/oracle/product/19.0.0/db/30159782 -silent -ignorePrereqFailure -responseFile /home/oracle/db.rsp -logLevel info
Preparing the home to patch...
Applying the patch /u01/app/oracle/product/19.0.0/db/30159782...
Successfully applied the patch.
The log can be found at: /u01/grid/oraInventory/logs/InstallActions2024-04-17_12-47-27PM/installerPatchActions_2024-04-17_12-47-27PM.log
Launching Oracle Database Setup Wizard...

[WARNING] [INS-13013] Target environment does not meet some mandatory requirements.
   CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /u01/grid/oraInventory/logs/InstallActions2024-04-17_12-47-27PM/installActions2024-04-17_12-47-27PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: /u01/grid/oraInventory/logs/InstallActions2024-04-17_12-47-27PM/installActions2024-04-17_12-47-27PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/app/oracle/product/19.0.0/db/install/response/db_2024-04-17_12-47-27PM.rsp

You can find the log of this install session at:
 /u01/grid/oraInventory/logs/InstallActions2024-04-17_12-47-27PM/installActions2024-04-17_12-47-27PM.log

As a root user, execute the following script(s):
		1. /u01/app/oracle/product/19.0.0/db/root.sh

Execute /u01/app/oracle/product/19.0.0/db/root.sh on the following nodes:
[ORACLEN01, ORACLEN02]


Successfully Setup Software with warning(s).
=============================================================
5.按要求执行root.sh (两个节点都要执行)

su - root
/u01/app/oracle/product/19.0.0/db/root.sh
6.查看日志,确认没有ERROR
su - oracle
cd $ORACLE_BASE/diag/rdbms/oraclerac/oraclerac1/trace/
cat alert_oraclerac1.log |grep ERROR
三、RAC创建ASM磁盘
1.获取原始RAC的asm磁盘信息
su - grid
sqlplus / as sysdba
SQL> select group_number,name,state,total_mb,free_mb,type,offline_disks from v$asm_diskgroup;

GROUP_NUMBER NAME                           STATE         TOTAL_MB    FREE_MB TYPE   OFFLINE_DISKS
------------ ------------------------------ ----------- ---------- ---------- ------ -------------
		   1 DATA                           MOUNTED           6144       5228 NORMAL             0
		   2 MGMT                           MOUNTED         102400      77804 EXTERN             0
		   3 DATADG2                        MOUNTED         307200     307097 EXTERN             0
		   4 DATADG                         CONNECTED      1024000     268417 EXTERN             0
2.查看当前的asm磁盘
[grid@ORACLEN01 ~]$ ll /dev |grep asm
lrwxrwxrwx  1 root root            4 Apr 17 09:47 asmdisk_udev_data1 -> dm-3
lrwxrwxrwx  1 root root            4 Apr 17 09:47 asmdisk_udev_data2 -> dm-4
lrwxrwxrwx  1 root root            4 Apr 17 09:47 asmdisk_udev_data3 -> dm-6
lrwxrwxrwx  1 root root            4 Apr 17 09:47 asmdisk_udev_data4 -> dm-7
lrwxrwxrwx  1 root root            4 Apr 17 09:47 asmdisk_udev_data5 -> dm-8
lrwxrwxrwx  1 root root            4 Apr 17 10:13 asmdisk_udev_mgmt -> dm-5
lrwxrwxrwx  1 root root            4 Apr 17 10:13 asmdisk_udev_ocrvote1 -> dm-9
lrwxrwxrwx  1 root root            5 Apr 17 09:47 asmdisk_udev_ocrvote2 -> dm-10
lrwxrwxrwx  1 root root            5 Apr 17 09:47 asmdisk_udev_ocrvote3 -> dm-11
brw-rw----  1 grid asmadmin 253,  10 Apr 17 10:13 dm-10
brw-rw----  1 grid asmadmin 253,  11 Apr 17 10:13 dm-11
brw-rw----  1 grid asmadmin 253,   3 Apr 17 09:47 dm-3
brw-rw----  1 grid asmadmin 253,   4 Apr 17 09:47 dm-4
brw-rw----  1 grid asmadmin 253,   5 Apr 17 10:13 dm-5
brw-rw----  1 grid asmadmin 253,   6 Apr 17 09:47 dm-6
brw-rw----  1 grid asmadmin 253,   7 Apr 17 09:47 dm-7
brw-rw----  1 grid asmadmin 253,   8 Apr 17 09:47 dm-8
brw-rw----  1 grid asmadmin 253,   9 Apr 17 10:13 dm-9
3.创建ASM磁盘
sqlplus / as sysasm   #这里要进入asm中
create diskgroup DATADG EXTERNAL REDUNDANCY  disk '/dev/asmdisk_udev_data1','/dev/asmdisk_udev_data2';
create diskgroup DATAREG EXTERNAL REDUNDANCY  disk '/dev/asmdisk_udev_data4';
create diskgroup DATADS EXTERNAL REDUNDANCY  disk '/dev/asmdisk_udev_data5';

select name,path from v$asm_disk;
4.检查磁盘版本信息:
select COMPATIBILITY,NAME,DATABASE_COMPATIBILITY from v$asm_diskgroup;

COMPATIBILITY    NAME       DATABASE_COMPATIBILITY
19.0.0.0.0	     DATADG	    10.1.0.0.0
19.0.0.0.0	     DATA	    10.1.0.0.0
19.0.0.0.0	     MGMT	    19.0.0.0.0
19.0.0.0.0	     DATADG2	10.1.0.0.0
确认COMPATIBILITY值为'19.0.0.0.0'

	
#如不是执行命令进行修改(例):
alter diskgroup DATADG  set attribute 'compatible.asm' = '19.0.0.0.0';
alter diskgroup DATA set attribute 'compatible.asm' = '19.0.0.0.0';
alter diskgroup DATADG2  set attribute 'compatible.asm' = '19.0.0.0.0';
5.分别在两节点进行检查


asmcmd lsdg
若未检查到磁盘组,查看集群中磁盘中状态,若状态为offline,在未挂载的节点执行如下命令:
alter diskgroup DATA mount;
select group_number,name,state,total_mb,free_mb,type,offline_disks from v$asm_diskgroup;
asmcmd lsdg