查看原文
其他

使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC

JiekeXu JiekeXu DBA之路 2024-03-03

作者 | JiekeXu

来源 | JiekeXu DBA之路(ID: JiekeXu_IT)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 使用 VMware 16  RHEL7.7 虚拟机静默安装 Oracle 19c RAC ,欢迎点击上方蓝字关注我,标星或置顶,更多干货第一时间到达!


虚拟机安装以及一些基础配置,前面一篇文章已经写过了,这里不在重复,但有些关键步骤这里再次提一下即可。不管安装 11g、12c、19c、21c RAC,只要仔细认真对待,便可以安装成功。推荐先看前段时间的这篇《一步步安装 Oracle 19c RAC 》。

Linux 64 位 19.12 RU :https://www.modb.pro/download/137693Linux 64 位 RAC 安装包:https://www.modb.pro/download/5713

1.新建用户,组,目录 并修改 sshd_config  快速登录

1.1 新建用户和组

groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 backupdbagroupadd -g 54325 dgdbagroupadd -g 54326 kmdbagroupadd -g 54327 asmdbagroupadd -g 54328 asmopergroupadd -g 54329 asmadmingroupadd -g 54330 racdbauseradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -u 10000 oracleuseradd -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba -u 10001 gridecho "Oracle_19C" | passwd --stdin oracleecho "Oracle_19C" | passwd --stdin grid

1.2 创建目录

mkdir -p /u01/app/19.0.0/gridmkdir -p /u01/app/gridmkdir -p /u01/app/oracle/product/19.0.0/dbhome_1mkdir -p /home/softchown -R grid:oinstall /u01chown -R oracle:oinstall /u01/app/oraclechmod -R 775 /u01chmod -R 775 /home/softchown -R oracle:oinstall /home/soft

1.3 环境变量

cat >> /home/oracle/.bash_profile << "EOF"################ add ORACLE_PATH #########################export PS1="`whoami`@`hostname`:"'[$PWD]$'export HOST=`hostname | cut -f1 -d"."`export PS1='${HOST}:$PWD(${ORACLE_SID})$ 'export LANG=en_USumask 022export TMP=/tmpexport TMPDIR=$TMPexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1export ORACLE_HOSTNAME=jiekexu-r1export TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport ORACLE_SID=JiekeXu1export PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATHexport NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"export NLS_LANG=AMERICAN_AMERICA.AL32UTF8export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libalias sas='sqlplus / as sysdba'EOF
--配置LoginGraceTime参数为0, 将timeout wait设置为无限制cp /etc/ssh/sshd_config /etc/ssh/sshd_config_`date +"%Y%m%d_%H%M%S"` && sed -i '/#LoginGraceTime 2m/ s/#LoginGraceTime 2m/LoginGraceTime 0/' /etc/ssh/sshd_config && grep LoginGraceTime /etc/ssh/sshd_config--加快SSH登陆速度,禁用DNScp /etc/ssh/sshd_config /etc/ssh/sshd_config_`date +"%Y%m%d_%H%M%S"` && sed -i '/#UseDNS yes/ s/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config && grep UseDNS /etc/ssh/sshd_config

2.修改 hosts 文件并配置网卡

2.1 hosts 配置

cp /etc/hosts /etc/hosts_`date +"%Y%m%d_%H%M%S"`echo '#public ip192.168.75.128 jiekexu-r1192.168.75.129 jiekexu-r2#private ip10.10.10.128 jiekexu-r1-priv10.10.10.129 jiekexu-r2-priv#vip192.168.75.130 jiekexu-r1-vip192.168.75.131 jiekexu-r2-vip#scanip192.168.75.132 jiekexu-racscan'>> /etc/hosts

2.2 public IP 和 private 私网配置

[root@jiekexu-r1 network-scripts]# more ifcfg-ens32TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="dhcp"DEFROUTE="yes"IPV4_FAILURE_FATAL="yes"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens32"UUID="e8332396-7724-410f-9887-1fc0e27fc818"DEVICE="ens32"ONBOOT="yes"GATEWAY="192.168.75.2"IPADDR="192.168.75.128"PREFIX="24"IPV6_PRIVACY="no"[root@jiekexu-r1 network-scripts]# more ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33DEVICE=ens33HWADDR="00:0C:29:2C:79:D8"uuid="c96bc909-188e-ec64-3a96-6a90982b08ad"ONBOOT=yesGATEWAY="10.10.10.1"IPADDR="10.10.10.128"PREFIX="24"

3.共享存储配置

3.1 命令行新建存储文件

这里暂且规划 3 块 3G OCR 盘,两块 10G DATA 数据盘,一块 10G  ARCH 归档盘。

vmware-vdiskmanager.exe -c -s 3GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-ocr01.vmdk" vmware-vdiskmanager.exe -c -s 3GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-ocr02.vmdk" vmware-vdiskmanager.exe -c -s 3GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-ocr03.vmdk" vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-data01.vmdk"vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-data02.vmdk"vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-arch01.vmdk"

以管理员运行 cmd 命令行进入到 VM ware 安装目录下执行以上命令

C:\WINDOWS\system32>cd C:\Program Files (x86)\VMware\VMware Workstation

3.2关闭两台虚拟机,编辑两台主机的相关 vmx 配置文件

分别将以下配置添加至两台主机的 vmx 配置文件

#shared disks configure
diskLib.dataCacheMaxSize=0        
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096    
diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"
scsi1.sharedBus = "virtual"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"

scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:\VMware_File\Sharedisk19C\share-ocr01.vmdk"  
scsi1:0.redo = ""

scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\VMware_File\Sharedisk19C\share-ocr02.vmdk"
scsi1:1.redo = ""

scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\VMware_File\Sharedisk19C\share-ocr03.vmdk"
scsi1:2.redo = ""

scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\VMware_File\Sharedisk19C\share-data01.vmdk"
scsi1:3.redo = ""

scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\VMware_File\Sharedisk19C\share-data02.vmdk"
scsi1:4.redo = ""

scsi1:5.mode = "independent-persistent"
scsi1:5.deviceType = "disk"
scsi1:5.present = "TRUE"
scsi1:5.fileName = "D:\VMware_File\Sharedisk19C\share-arch01.vmdk"
scsi1:5.redo =file ""

fileName 指定虚拟机共享存储的位置及文件名。"D:\VMware_File\Sharedisk19C\share-arch01.vmdk"

3.3开启虚拟机

3.4 使用 multipath+udev 配置存储

参考前面的文章配置即可

[root@jiekexu-r1 network-scripts]# lsblk
NAME                       MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda                           8:0   0   60G 0 disk
+-sda1                       8:1   0   1G 0 part /boot
+-sda2                       8:2   0   59G 0 part
+-rhel_jiekexu--test-root 253:0   0 35.6G 0 lvm /
+-rhel_jiekexu--test-swap 253:1   0   6G 0 lvm [SWAP]
+-rhel_jiekexu--test-home 253:2   0 17.4G 0 lvm /home
sdb                           8:16   0   3G 0 disk
sdc                           8:32   0   3G 0 disk
sdd                           8:48   0   3G 0 disk
sde                           8:64   0   10G 0 disk
sdf                           8:80   0   10G 0 disk
sdg                           8:96   0   10G 0 disk
sr0                         11:0   1 4.2G 0 rom

4.操作系统配置

4.1挂载光盘镜像配置 yum 源

mkdir /mnt/dvd

mount /dev/sr0 /mnt/dvd

[root@jiekexu-r1 network-scripts]# ls -lh /mnt/dvd
total 974K
dr-xr-xr-x 4 root root 2.0K Jul 23 2019 addons
dr-xr-xr-x 3 root root 2.0K Jul 23 2019 EFI
-r--r--r-- 1 root root 8.1K Jul 23 2019 EULA
-r--r--r-- 1 root root 1.5K Jul 23 2019 extra_files.json
-r--r--r-- 1 root root 18K Jul 23 2019 GPL
dr-xr-xr-x 3 root root 2.0K Jul 23 2019 images
dr-xr-xr-x 2 root root 2.0K Jul 23 2019 isolinux
dr-xr-xr-x 2 root root 2.0K Jul 23 2019 LiveOS
-r--r--r-- 1 root root 114 Jul 23 2019 media.repo
dr-xr-xr-x 2 root root 924K Jul 23 2019 Packages
dr-xr-xr-x 2 root root 2.0K Jul 23 2019 repodata
-r--r--r-- 1 root root 3.3K Jul 3 2019 RPM-GPG-KEY-redhat-beta
-r--r--r-- 1 root root 3.2K Jul 3 2019 RPM-GPG-KEY-redhat-release
-r--r--r-- 1 root root 1.8K Jul 23 2019 TRANS.TBL

/mnt/dvd/  则是配置 yum 仓库要用到的路径


cd /etc/yum.repos.d/cat << EOF >> /etc/yum.repos.d/redhat.repo[rhel7]name=jiekexu repobaseurl=file:///mnt/dvd/gpgcheck=0EOFyum clean allyum list | grep zsh

4.2 配置多路径

##安装multipath

yum install -y device-mapper*

#生成配置文件

mpathconf --enable --with_multipathd y

[root@jiekexu-r1 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 60G 0 disk +-sda1 8:1 0 1G 0 part /boot+-sda2 8:2 0 59G 0 part +-rhel_jiekexu--test-root 253:0 0 35.6G 0 lvm / +-rhel_jiekexu--test-swap 253:1 0 6G 0 lvm [SWAP] +-rhel_jiekexu--test-home 253:2 0 17.4G 0 lvm /homesdb 8:16 0 3G 0 disk sdc 8:32 0 3G 0 disk sdd 8:48 0 3G 0 disk sde 8:64 0 10G 0 disk sdf 8:80 0 10G 0 disk sdg 8:96 0 10G 0 disk sr0 11:0 1 4.2G 0 rom /mnt/dvd
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdb36000c29714156f014c53bf30fbcc4162[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdc36000c296835807593a81c0c4597f64d6[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdd36000c29760b3f5110218e88d0fe6710c[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sde36000c29c671fc199d01bebc6e05e3270[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdf36000c291ffdcc7e2ea852fe4a4e29fcc[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdg36000c29ddf7a88a288da95203aa0a929
##配置multipath,wwid 的值为上面获取的 scsi_id(multipath -v3 也可以查看到),alias 可自定义,这里配置 3 块 OCR 盘,2块DATA盘,一块 ARCH 盘。cp /etc/multipath.conf /etc/multipath.conf.bak配置文件中有以下内容:defaults { user_friendly_names yes find_multipaths yes}
blacklist {}
如下需要在 blacklist 添加一行 devnode 信息,删除原有的 blacklistcat <<EOF>> /etc/multipath.conf
blacklist { devnode "^sda"}
multipaths { multipath { wwid "36000c29714156f014c53bf30fbcc4162" alias asm_ocr01 } multipath { wwid "36000c296835807593a81c0c4597f64d6" alias asm_ocr02 } multipath { wwid "36000c29760b3f5110218e88d0fe6710c" alias asm_ocr03 } multipath { wwid "36000c29c671fc199d01bebc6e05e3270" alias asm_data01 } multipath { wwid "36000c291ffdcc7e2ea852fe4a4e29fcc" alias asm_data02 } multipath { wwid "36000c29ddf7a88a288da95203aa0a929" alias asm_arch01 }}EOF
##激活multipath多路径:multipath -Fmultipath -v2multipath -ll

#查看状态

systemctl status multipathd.service

#创建多路径开机自启动服务

systemctl enable multipathd.service

[root@jiekexu-r1 mapper]# multipath -v3 | grep 3600Aug 22 21:16:59 | sdb: uid = 36000c29714156f014c53bf30fbcc4162 (udev)Aug 22 21:16:59 | sdc: uid = 36000c296835807593a81c0c4597f64d6 (udev)Aug 22 21:16:59 | sdd: uid = 36000c29760b3f5110218e88d0fe6710c (udev)Aug 22 21:16:59 | sde: uid = 36000c29c671fc199d01bebc6e05e3270 (udev)Aug 22 21:16:59 | sdf: uid = 36000c291ffdcc7e2ea852fe4a4e29fcc (udev)Aug 22 21:16:59 | sdg: uid = 36000c29ddf7a88a288da95203aa0a929 (udev)36000c29714156f014c53bf30fbcc4162 33:0:0:0 sdb 8:16 1 undef undef VMware, 36000c296835807593a81c0c4597f64d6 33:0:1:0 sdc 8:32 1 undef undef VMware, 36000c29760b3f5110218e88d0fe6710c 33:0:2:0 sdd 8:48 1 undef undef VMware, 36000c29c671fc199d01bebc6e05e3270 33:0:3:0 sde 8:64 1 undef undef VMware, 36000c291ffdcc7e2ea852fe4a4e29fcc 33:0:4:0 sdf 8:80 1 undef undef VMware, 36000c29ddf7a88a288da95203aa0a929 33:0:5:0 sdg 8:96 1 undef undef VMware, [root@jiekexu-r1 repodata]# [root@jiekexu-r1 repodata]# mpathconfmultipath is enabledfind_multipaths is enableduser_friendly_names is enableddm_multipath module is loadedmultipathd is running



4.3 配置 UDEV

cd /dev/mapper
[root@jiekexu-r1 mapper]# lltotal 0lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_arch01 -> ../dm-8lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_data01 -> ../dm-6lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_data02 -> ../dm-7lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_ocr01 -> ../dm-3lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_ocr02 -> ../dm-4lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_ocr03 -> ../dm-5crw------- 1 root root 10, 236 Aug 22 19:44 controllrwxrwxrwx 1 root root 7 Aug 22 19:44 rhel_jiekexu--test-home -> ../dm-2lrwxrwxrwx 1 root root 7 Aug 22 19:44 rhel_jiekexu--test-root -> ../dm-0lrwxrwxrwx 1 root root 7 Aug 22 19:44 rhel_jiekexu--test-swap -> ../dm-1
for i in asm_*; do printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/udev_infodonewhile read -r line; do dm_uuid=$(echo "$line" | awk -F'=' '{print $2}') disk_name=$(echo "$line" | awk '{print $1}') echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rulesdone < /dev/mapper/udev_info##重载udevudevadm control --reload-rulesudevadm trigger --type=devicesll /dev/asm*
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_arch01 -> dm-8lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_data01 -> dm-6lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_data02 -> dm-7lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_ocr01 -> dm-3lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_ocr02 -> dm-4lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_ocr03 -> dm-5
[root@jiekexu-r1 mapper]# more /etc/udev/rules.d/99-oracle-asmdevices.rulesKERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29ddf7a88a288da95203aa0a929",SYMLINK+="asm_arch01",OWNER="grid",GROUP="asmadmin",MODE="0660"KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29c671fc199d01bebc6e05e3270",SYMLINK+="asm_data01",OWNER="grid",GROUP="asmadmin",MODE="0660"KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c291ffdcc7e2ea852fe4a4e29fcc",SYMLINK+="asm_data02",OWNER="grid",GROUP="asmadmin",MODE="0660"KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29714156f014c53bf30fbcc4162",SYMLINK+="asm_ocr01",OWNER="grid",GROUP="asmadmin",MODE="0660"KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c296835807593a81c0c4597f64d6",SYMLINK+="asm_ocr02",OWNER="grid",GROUP="asmadmin",MODE="0660"KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29760b3f5110218e88d0fe6710c",SYMLINK+="asm_ocr03",OWNER="grid",GROUP="asmadmin",MODE="0660"[root@jiekexu-r1 mapper]# 节点2
[root@jiekexu-r2 dev]# ll /dev/dm*brw-rw----. 1 root disk 253, 0 Aug 22 21:32 /dev/dm-0brw-rw----. 1 root disk 253, 1 Aug 22 21:32 /dev/dm-1brw-rw----. 1 root disk 253, 2 Aug 22 21:32 /dev/dm-2brw-rw----. 1 grid asmadmin 253, 3 Aug 22 21:32 /dev/dm-3brw-rw----. 1 grid asmadmin 253, 4 Aug 22 21:32 /dev/dm-4brw-rw----. 1 grid asmadmin 253, 5 Aug 22 21:32 /dev/dm-5brw-rw----. 1 grid asmadmin 253, 6 Aug 22 21:32 /dev/dm-6brw-rw----. 1 grid asmadmin 253, 7 Aug 22 21:32 /dev/dm-7brw-rw----. 1 grid asmadmin 253, 8 Aug 22 21:32 /dev/dm-8
[root@jiekexu-r2 mapper]# lltotal 4lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_arch01 -> ../dm-8lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_data01 -> ../dm-6lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_data02 -> ../dm-7lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_ocr01 -> ../dm-3lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_ocr02 -> ../dm-4lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_ocr03 -> ../dm-5crw-------. 1 root root 10, 236 Aug 22 21:32 controllrwxrwxrwx. 1 root root 7 Aug 22 21:32 rhel_jiekexu--r2-home -> ../dm-2lrwxrwxrwx. 1 root root 7 Aug 22 21:32 rhel_jiekexu--r2-root -> ../dm-0lrwxrwxrwx. 1 root root 7 Aug 22 21:32 rhel_jiekexu--r2-swap -> ../dm-1-rw-r--r--. 1 root root 369 Aug 22 21:28 udev_info

5、操作系统检查

操作系统检查,可参考之前的文章第四章 19cRAC安装准备工作

`[root@jiekexu-r1 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.7 (Maipo)`
[root@jiekexu-r2 ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.7 (Maipo)
##内存
[root@jiekexu-r2 ~]# grep MemTotal /proc/meminfo | awk '{print $2}'8154996[root@jiekexu-r2 ~]# [root@jiekexu-r2 ~]# dmidecode|grep -A5 "Memory Device"|grep Size|grep -v No |grep -v Range Size: 8192 MB
##swap
[root@jiekexu-r1 ~]# free -h total used free shared buff/cache availableMem: 7.6G 550M 6.6G 12M 519M 7.0GSwap: 6.0G 0B 6.0G[root@jiekexu-r1 ~]# grep SwapTotal /proc/meminfo | awk '{print $2}'6291452
[root@jiekexu-r2 ~]# free -h total used free shared buff/cache availableMem: 7.8G 627M 6.7G 12M 497M 6.9GSwap: 7.9G 0B 7.9G[root@jiekexu-r2 ~]# grep SwapTotal /proc/meminfo | awk '{print $2}'8257532
##时区 主机名
[root@jiekexu-r2 ~]# timedatectl status Local time: Tue 2021-08-24 09:42:32 CST Universal time: Tue 2021-08-24 01:42:32 UTC RTC time: Tue 2021-08-24 01:42:32 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: noNTP synchronized: no RTC in local TZ: no DST active: n/a[root@jiekexu-r2 ~]# hostnamectl status Static hostname: jiekexu-r2 Icon name: computer-vm Chassis: vm Machine ID: 445856a0ecb7468cacc9e44b6c0b0130 Boot ID: a6fb4d7304c34687bdb8ab1986fc992d Virtualization: vmware Operating System: Red Hat Enterprise Linux Server 7.7 (Maipo) CPE OS Name: cpe:/o:redhat:enterprise_linux:7.7:GA:server Kernel: Linux 3.10.0-1062.el7.x86_64      Architecture: x86-64
--安装所需的 rmp 包yum install -y bc* ntp* binutils* compat-libcap1* compat-libstdc++* dtrace-modules* dtrace-modules-headers* dtrace-modules-provider-headers* dtrace-utils* elfutils-libelf* elfutils-libelf-devel* fontconfig-devel* glibc* glibc-devel* ksh* libaio* libaio-devel* libdtrace-ctf-devel* libXrender* libXrender-devel* libX11* libXau* libXi* libXtst* libgcc* librdmacm-devel* libstdc++* libstdc++-devel* libxcb* make* net-tools* nfs-utils* python* python-configshell* python-rtslib* python-six* targetcli* smartmontools* sysstat* gcc* nscd* unixODBC* unzip readline tigervnc*---检查rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \bc \binutils \compat-libcap1 \compat-libstdc++-33 \elfutils-libelf \elfutils-libelf-devel \fontconfig-devel \glibc \gcc \gcc-c++ \glibc \glibc-devel \ksh \libstdc++ \libstdc++-devel \libaio \libaio-devel \libXrender \libXrender-devel \libxcb \libX11 \libXau \libXi \libXtst \libgcc \libstdc++-devel \make \sysstat \unzip \readline \smartmontools | grep 'not installed' |column -t
--需单独安装此包rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

核心参数设置

/etc/sysctl.d/97-oracle-database-sysctl.conf

--在 Linux 7之前,内核参数文件是修改 /etc/sysctl.conf 文件,--但在 Linux 7.x 之后发生了变化(/etc/sysctl.d/97-oracle-database-sysctl.conf):--但仍然可以修改这个文件,没有什么不一样,官方文档中 19c 使用 97-oracle-database-sysctl.conf。--生效方式:/sbin/sysctl --system
SHMMAX:单个共享内存段最大值(字节)SHMMIN:单个共享内存段最小值(字节)SHMMNI:系统共享内存段数量SHMALL:可用共享内存的总数量(字节或者页面),以字节为单位,与 SHMMAX 一样,以页为单位,大小为 seil(SHMMAX/PAGE_SIZE)。一般 Linux 的 page 页为 4096.SHMSEQ:每进程最大共享内存段数量
主要核心参数手工计算如下:
MEM=$(expr $(grep MemTotal /proc/meminfo|awk '{print $2}') \* 1024)SHMALL=$(expr $MEM / $(getconf PAGE_SIZE))SHMMAX=$(expr $MEM \* 3 / 5) # 这里配置为3/5 RAM大小echo $MEMecho $SHMALLecho $SHMMAX
--min_free_kbytes=$(expr sqrt($MEM \* 16))
min_free_kbytes = sqrt(lowmem_kbytes * 16) = 4 * sqrt(lowmem_kbytes)(注:lowmem_kbytes即可认为是系统内存大小)
vm.nr_hugepages =(内存M/3+ASM内存大小4096M)/Hugepagesize M#操作系统内存的1/3加上ASM实例内存4G。#x86平台 Hugepagesize =2048即2M,linuxone平台Hugepagesize=1024 即1M# 例x86平台64G内存 (64G*1024/3+4096M)/2M=12971例x86平台32G内存 (32G*1024/3+4096M)/2M=7509例x86平台16G内存 (16G*1024/3+4096M)/2M=4778#linuxone平台 64G内存 (64G*1024/3+4096M)/1M=25942
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')totalMemory=$((memTotal / 2048))shmall=$((memTotal / 4))if [ $shmall -lt 2097152 ]; thenshmall=2097152fishmmax=$((memTotal * 1024 - 1))if [ "$shmmax" -lt 4294967295 ]; thenshmmax=4294967295ficat <<EOF>> /etc/sysctl.d/97-oracle-database-sysctl.conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = $shmallkernel.shmmax = $shmmaxkernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 16777216net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.wmem_default = 16777216fs.aio-max-nr = 6194304vm.min_free_kbytes=524288vm.dirty_ratio=20vm.dirty_background_ratio=3vm.dirty_writeback_centisecs=100vm.dirty_expire_centisecs=500vm.swappiness=10net.core.netdev_max_backlog = 30000net.core.netdev_budget = 600#vm.nr_hugepages =net.ipv4.conf.all.rp_filter = 2net.ipv4.conf.default.rp_filter = 2net.ipv4.ipfrag_time = 60net.ipv4.ipfrag_low_thresh=6291456net.ipv4.ipfrag_high_thresh = 8388608EOF

[root@jiekexu-r1 ~]# /sbin/sysctl --system* Applying /usr/lib/sysctl.d/00-system.conf ...* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...kernel.yama.ptrace_scope = 0* Applying /usr/lib/sysctl.d/50-default.conf ...kernel.sysrq = 16kernel.core_uses_pid = 1net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.all.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.default.promote_secondaries = 1net.ipv4.conf.all.promote_secondaries = 1fs.protected_hardlinks = 1fs.protected_symlinks = 1* Applying /usr/lib/sysctl.d/60-libvirtd.conf ...fs.aio-max-nr = 1048576* Applying /etc/sysctl.d/97-oracle-database-sysctl.conf ...fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 8181903359kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 16777216net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.wmem_default = 16777216fs.aio-max-nr = 6194304vm.min_free_kbytes = 524288vm.dirty_ratio = 20vm.dirty_background_ratio = 3vm.dirty_writeback_centisecs = 100vm.dirty_expire_centisecs = 500vm.swappiness = 10net.core.netdev_max_backlog = 30000net.core.netdev_budget = 600net.ipv4.conf.all.rp_filter = 2net.ipv4.conf.default.rp_filter = 2net.ipv4.ipfrag_time = 60net.ipv4.ipfrag_low_thresh = 6291456net.ipv4.ipfrag_high_thresh = 8388608* Applying /etc/sysctl.d/99-sysctl.conf ...* Applying /etc/sysctl.conf ...

6、静默安装 GI

6.1 安装操作系统包 cvuqdisk

如果没有 cvuqdisk,群集验证实用程序(CVU)将无法找到共享磁盘,并且在运行群集验证实用程序时将收到 “Package cvuqdisk not installed” 错误。对于您的硬件(例如,x86_64或i386),请使用 cvuqdisk RPM。

[root@jiekexu-r1 ~]# cd /u01/app/19.0.0/grid/cv/rpm[root@jiekexu-r1 rpm]# lltotal 12-rw-r--r-- 1 grid oinstall 11412 Mar 13 2019 cvuqdisk-1.0.10-1.rpm[root@jiekexu-r1 rpm]# export CVUQDISK_GRP=oinstall[root@jiekexu-r1 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm Preparing... ################################# [100%]Updating / installing... 1:cvuqdisk-1.0.10-1 ################################# [100%][root@jiekexu-r1 rpm]# scp /u01/app/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm jiekexu-r2:/home/soft/The authenticity of host 'jiekexu-r2 (192.168.75.129)' can't be established.ECDSA key fingerprint is SHA256:FQQR4hFlkEWUNpTyB7nYfdCMPGN2PulHJW/P/I4n4f0.ECDSA key fingerprint is MD5:30:c3:28:3a:44:f2:5b:cf:cf:72:79:33:2e:cf:ee:81.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'jiekexu-r2,192.168.75.129' (ECDSA) to the list of known hosts.root@jiekexu-r2's password: cvuqdisk-1.0.10-1.rpm 100% 11KB 3.3MB/s 00:00 [root@jiekexu-r1 rpm]# systemctl stop avahi-daemon.socket
[root@jiekexu-r2 rpm]# systemctl stop avahi-daemon.socket

6.2 互信

分别使用grid和oracle用户调用sshUserSetup.sh脚本配置SSH connectivity,根据提示输入密码 Oracle_19C。

$ cd $ORACLE_HOME/oui/prov/resources/scripts
<grid>$ ./sshUserSetup.sh -user grid -hosts "jiekexu-r1 jiekexu-r2" -advanced -confirm -noPromptPassphrase
cd /u01/app/19.0.0/grid/oui/prov/resources/scripts<oracle>$ ./sshUserSetup.sh -user oracle -hosts "jiekexu-r1 jiekexu-r2" -advanced -confirm -noPromptPassphrase
分别使用grid和oracle用户验证SSH connectivity:<grid>$ for h in jiekexu-r1 jiekexu-r1-priv jiekexu-r2 jiekexu-r2-priv;dossh -l grid -o StrictHostKeyChecking=no $h date;done
<oracle>$ for h in jiekexu-r1 jiekexu-r1-priv jiekexu-r2 jiekexu-r2-priv;dossh -l oracle -o StrictHostKeyChecking=no $h date;done

6.3 GI配置预检查

在配置GRID前,使用grid用户执行runcluvf.sh脚本检查环境,修复不满足安装需求的项。

su - grid/u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -fixup -verbose
$/u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -method rootEnter "ROOT" password:

6.3.1 增加Swap分区

1.创建交换分区的文件:增加2G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。

#dd if=/dev/zero of=/home/swapfile bs=1M count=2048

2.设置交换分区文件:

# mkswap /home/swapfile #建立swap的文件系统

3.立即启用交换分区文件:

# swapon /home/swapfile  #启用swap文件

4.使系统开机时自启用,在文件/etc/fstab中添加一行:

echo  '/home/swapfile swap swap defaults 0 0'  >> /etc/fstab

5.完成

[grid@jiekexu-r1:/u01/app/19.0.0/grid]$ /u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -fixup -verbose
Verifying Physical Memory ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 7.7772GB (8155004.0KB) 8GB (8388608.0KB) passed jiekexu-r1 7.62GB (7990132.0KB) 8GB (8388608.0KB) passed Verifying Physical Memory ...PASSEDVerifying Available Physical Memory ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 6.953GB (7290788.0KB) 50MB (51200.0KB) passed jiekexu-r1 6.5808GB (6900520.0KB) 50MB (51200.0KB) passed Verifying Available Physical Memory ...PASSEDVerifying Swap Size ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 7.875GB (8257532.0KB) 7.7772GB (8155004.0KB) passed jiekexu-r1 8GB (8388600.0KB) 7.62GB (7990132.0KB) passed Verifying Swap Size ...PASSEDVerifying Free Space: jiekexu-r2:/usr,jiekexu-r2:/var,jiekexu-r2:/etc,jiekexu-r2:/sbin,jiekexu-r2:/tmp ... Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr jiekexu-r2 / 47.5273GB 25MB passed /var jiekexu-r2 / 47.5273GB 5MB passed /etc jiekexu-r2 / 47.5273GB 25MB passed /sbin jiekexu-r2 / 47.5273GB 10MB passed /tmp jiekexu-r2 / 47.5273GB 1GB passed Verifying Free Space: jiekexu-r2:/usr,jiekexu-r2:/var,jiekexu-r2:/etc,jiekexu-r2:/sbin,jiekexu-r2:/tmp ...PASSEDVerifying Free Space: jiekexu-r1:/usr,jiekexu-r1:/var,jiekexu-r1:/etc,jiekexu-r1:/sbin,jiekexu-r1:/tmp ... Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr jiekexu-r1 / 8.8099GB 25MB passed /var jiekexu-r1 / 8.8099GB 5MB passed /etc jiekexu-r1 / 8.8099GB 25MB passed /sbin jiekexu-r1 / 8.8099GB 10MB passed /tmp jiekexu-r1 / 8.8099GB 1GB passed Verifying Free Space: jiekexu-r1:/usr,jiekexu-r1:/var,jiekexu-r1:/etc,jiekexu-r1:/sbin,jiekexu-r1:/tmp ...PASSEDVerifying User Existence: grid ... Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists(10001) jiekexu-r1 passed exists(10001)
Verifying Users With Same UID: 10001 ...PASSEDVerifying User Existence: grid ...PASSEDVerifying Group Existence: asmadmin ... Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists jiekexu-r1 passed exists Verifying Group Existence: asmadmin ...PASSEDVerifying Group Existence: asmdba ... Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists jiekexu-r1 passed exists Verifying Group Existence: asmdba ...PASSEDVerifying Group Existence: oinstall ... Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists jiekexu-r1 passed exists Verifying Group Existence: oinstall ...PASSEDVerifying Group Membership: asmdba ... Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 yes yes yes passed jiekexu-r1 yes yes yes passed Verifying Group Membership: asmdba ...PASSEDVerifying Group Membership: asmadmin ... Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 yes yes yes passed jiekexu-r1 yes yes yes passed Verifying Group Membership: asmadmin ...PASSEDVerifying Group Membership: oinstall(Primary) ... Node Name User Exists Group Exists User in Group Primary Status
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r2 yes yes yes yes passed jiekexu-r1 yes yes yes yes passed Verifying Group Membership: oinstall(Primary) ...PASSEDVerifying Run Level ... Node Name run level Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 5 3,5 passed jiekexu-r1 5 3,5 passed Verifying Run Level ...PASSEDVerifying Hard Limit: maximum open file descriptors ... Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 hard 65536 65536 passed jiekexu-r1 hard 65536 65536 passed Verifying Hard Limit: maximum open file descriptors ...PASSEDVerifying Soft Limit: maximum open file descriptors ... Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 soft 1024 1024 passed jiekexu-r1 soft 1024 1024 passed Verifying Soft Limit: maximum open file descriptors ...PASSEDVerifying Hard Limit: maximum user processes ... Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 hard 16384 16384 passed jiekexu-r1 hard 16384 16384 passed Verifying Hard Limit: maximum user processes ...PASSEDVerifying Soft Limit: maximum user processes ... Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 soft 2047 2047 passed jiekexu-r1 soft 2047 2047 passed Verifying Soft Limit: maximum user processes ...PASSEDVerifying Soft Limit: maximum stack size ... Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 soft 10240 10240 passed jiekexu-r1 soft 10240 10240 passed Verifying Soft Limit: maximum stack size ...PASSEDVerifying Architecture ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 x86_64 x86_64 passed jiekexu-r1 x86_64 x86_64 passed Verifying Architecture ...PASSEDVerifying OS Kernel Version ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 3.10.0-1062.el7.x86_64 3.10.0 passed jiekexu-r1 3.10.0-1062.el7.x86_64 3.10.0 passed Verifying OS Kernel Version ...PASSEDVerifying OS Kernel Parameter: semmsl ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 250 250 250 passed jiekexu-r2 250 250 250 passed Verifying OS Kernel Parameter: semmsl ...PASSEDVerifying OS Kernel Parameter: semmns ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 32000 32000 32000 passed jiekexu-r2 32000 32000 32000 passed Verifying OS Kernel Parameter: semmns ...PASSEDVerifying OS Kernel Parameter: semopm ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 100 100 100 passed jiekexu-r2 100 100 100 passed Verifying OS Kernel Parameter: semopm ...PASSEDVerifying OS Kernel Parameter: semmni ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 128 128 128 passed jiekexu-r2 128 128 128 passed Verifying OS Kernel Parameter: semmni ...PASSEDVerifying OS Kernel Parameter: shmmax ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 8181903359 8181903359 4090947584 passed jiekexu-r2 8350715903 8350715903 4175362048 passed Verifying OS Kernel Parameter: shmmax ...PASSEDVerifying OS Kernel Parameter: shmmni ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 4096 4096 4096 passed jiekexu-r2 4096 4096 4096 passed Verifying OS Kernel Parameter: shmmni ...PASSEDVerifying OS Kernel Parameter: shmall ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 2097152 2097152 1997534 passed jiekexu-r2 2097152 2097152 2038748 passed Verifying OS Kernel Parameter: shmall ...PASSEDVerifying OS Kernel Parameter: file-max ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 6815744 6815744 6815744 passed jiekexu-r2 6815744 6815744 6815744 passed Verifying OS Kernel Parameter: file-max ...PASSEDVerifying OS Kernel Parameter: ip_local_port_range ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 passed jiekexu-r2 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 passed Verifying OS Kernel Parameter: ip_local_port_range ...PASSEDVerifying OS Kernel Parameter: rmem_default ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 262144 passed jiekexu-r2 16777216 16777216 262144 passed Verifying OS Kernel Parameter: rmem_default ...PASSEDVerifying OS Kernel Parameter: rmem_max ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 4194304 passed jiekexu-r2 16777216 16777216 4194304 passed Verifying OS Kernel Parameter: rmem_max ...PASSEDVerifying OS Kernel Parameter: wmem_default ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 262144 passed jiekexu-r2 16777216 16777216 262144 passed Verifying OS Kernel Parameter: wmem_default ...PASSEDVerifying OS Kernel Parameter: wmem_max ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 1048576 passed jiekexu-r2 16777216 16777216 1048576 passed Verifying OS Kernel Parameter: wmem_max ...PASSEDVerifying OS Kernel Parameter: aio-max-nr ... Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 6194304 6194304 1048576 passed jiekexu-r2 6194304 6194304 1048576 passed Verifying OS Kernel Parameter: aio-max-nr ...PASSEDVerifying Package: kmod-20-21 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 kmod(x86_64)-20-25.el7 kmod(x86_64)-20-21 passed jiekexu-r1 kmod(x86_64)-20-25.el7 kmod(x86_64)-20-21 passed Verifying Package: kmod-20-21 (x86_64) ...PASSEDVerifying Package: kmod-libs-20-21 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 kmod-libs(x86_64)-20-25.el7 kmod-libs(x86_64)-20-21 passed jiekexu-r1 kmod-libs(x86_64)-20-25.el7 kmod-libs(x86_64)-20-21 passed Verifying Package: kmod-libs-20-21 (x86_64) ...PASSEDVerifying Package: binutils-2.23.52.0.1 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 binutils-2.27-41.base.el7 binutils-2.23.52.0.1 passed jiekexu-r1 binutils-2.27-41.base.el7 binutils-2.23.52.0.1 passed Verifying Package: binutils-2.23.52.0.1 ...PASSEDVerifying Package: compat-libcap1-1.10 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 passed jiekexu-r1 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 passed Verifying Package: compat-libcap1-1.10 ...PASSEDVerifying Package: libgcc-4.8.2 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libgcc(x86_64)-4.8.5-39.el7 libgcc(x86_64)-4.8.2 passed jiekexu-r1 libgcc(x86_64)-4.8.5-39.el7 libgcc(x86_64)-4.8.2 passed Verifying Package: libgcc-4.8.2 (x86_64) ...PASSEDVerifying Package: libstdc++-4.8.2 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libstdc++(x86_64)-4.8.5-39.el7 libstdc++(x86_64)-4.8.2 passed jiekexu-r1 libstdc++(x86_64)-4.8.5-39.el7 libstdc++(x86_64)-4.8.2 passed Verifying Package: libstdc++-4.8.2 (x86_64) ...PASSEDVerifying Package: libstdc++-devel-4.8.2 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libstdc++-devel(x86_64)-4.8.5-39.el7 libstdc++-devel(x86_64)-4.8.2 passed jiekexu-r1 libstdc++-devel(x86_64)-4.8.5-39.el7 libstdc++-devel(x86_64)-4.8.2 passed Verifying Package: libstdc++-devel-4.8.2 (x86_64) ...PASSEDVerifying Package: sysstat-10.1.5 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 sysstat-10.1.5-18.el7 sysstat-10.1.5 passed jiekexu-r1 sysstat-10.1.5-18.el7 sysstat-10.1.5 passed Verifying Package: sysstat-10.1.5 ...PASSEDVerifying Package: gcc-c++-4.8.2 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 gcc-c++-4.8.5-39.el7 gcc-c++-4.8.2 passed jiekexu-r1 gcc-c++-4.8.5-39.el7 gcc-c++-4.8.2 passed Verifying Package: gcc-c++-4.8.2 ...PASSEDVerifying Package: ksh ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 ksh ksh passed jiekexu-r1 ksh ksh passed Verifying Package: ksh ...PASSEDVerifying Package: make-3.82 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 make-3.82-24.el7 make-3.82 passed jiekexu-r1 make-3.82-24.el7 make-3.82 passed Verifying Package: make-3.82 ...PASSEDVerifying Package: glibc-2.17 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 glibc(x86_64)-2.17-292.el7 glibc(x86_64)-2.17 passed jiekexu-r1 glibc(x86_64)-2.17-292.el7 glibc(x86_64)-2.17 passed Verifying Package: glibc-2.17 (x86_64) ...PASSEDVerifying Package: glibc-devel-2.17 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 glibc-devel(x86_64)-2.17-292.el7 glibc-devel(x86_64)-2.17 passed jiekexu-r1 glibc-devel(x86_64)-2.17-292.el7 glibc-devel(x86_64)-2.17 passed Verifying Package: glibc-devel-2.17 (x86_64) ...PASSEDVerifying Package: libaio-0.3.109 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 passed jiekexu-r1 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 passed Verifying Package: libaio-0.3.109 (x86_64) ...PASSEDVerifying Package: libaio-devel-0.3.109 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 passed jiekexu-r1 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 passed Verifying Package: libaio-devel-0.3.109 (x86_64) ...PASSEDVerifying Package: nfs-utils-1.2.3-15 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 nfs-utils-1.3.0-0.65.el7 nfs-utils-1.2.3-15 passed jiekexu-r1 nfs-utils-1.3.0-0.65.el7 nfs-utils-1.2.3-15 passed Verifying Package: nfs-utils-1.2.3-15 ...PASSEDVerifying Package: smartmontools-6.2-4 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 smartmontools-7.0-1.el7 smartmontools-6.2-4 passed jiekexu-r1 smartmontools-7.0-1.el7 smartmontools-6.2-4 passed Verifying Package: smartmontools-6.2-4 ...PASSEDVerifying Package: net-tools-2.0-0.17 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 net-tools-2.0-0.25.20131004git.el7 net-tools-2.0-0.17 passed jiekexu-r1 net-tools-2.0-0.25.20131004git.el7 net-tools-2.0-0.17 passed Verifying Package: net-tools-2.0-0.17 ...PASSEDVerifying Package: compat-libstdc++-33-3.2.3 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 compat-libstdc++-33(x86_64)-3.2.3-72.el7 compat-libstdc++-33(x86_64)-3.2.3 passed jiekexu-r1 compat-libstdc++-33(x86_64)-3.2.3-72.el7 compat-libstdc++-33(x86_64)-3.2.3 passed Verifying Package: compat-libstdc++-33-3.2.3 (x86_64) ...PASSEDVerifying Package: libxcb-1.11 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libxcb(x86_64)-1.13-1.el7 libxcb(x86_64)-1.11 passed jiekexu-r1 libxcb(x86_64)-1.13-1.el7 libxcb(x86_64)-1.11 passed Verifying Package: libxcb-1.11 (x86_64) ...PASSEDVerifying Package: libX11-1.6.3 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libX11(x86_64)-1.6.7-2.el7 libX11(x86_64)-1.6.3 passed jiekexu-r1 libX11(x86_64)-1.6.7-2.el7 libX11(x86_64)-1.6.3 passed Verifying Package: libX11-1.6.3 (x86_64) ...PASSEDVerifying Package: libXau-1.0.8 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libXau(x86_64)-1.0.8-2.1.el7 libXau(x86_64)-1.0.8 passed jiekexu-r1 libXau(x86_64)-1.0.8-2.1.el7 libXau(x86_64)-1.0.8 passed Verifying Package: libXau-1.0.8 (x86_64) ...PASSEDVerifying Package: libXi-1.7.4 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libXi(x86_64)-1.7.9-1.el7 libXi(x86_64)-1.7.4 passed jiekexu-r1 libXi(x86_64)-1.7.9-1.el7 libXi(x86_64)-1.7.4 passed Verifying Package: libXi-1.7.4 (x86_64) ...PASSEDVerifying Package: libXtst-1.2.2 (x86_64) ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libXtst(x86_64)-1.2.3-1.el7 libXtst(x86_64)-1.2.2 passed jiekexu-r1 libXtst(x86_64)-1.2.3-1.el7 libXtst(x86_64)-1.2.2 passed Verifying Package: libXtst-1.2.2 (x86_64) ...PASSEDVerifying Port Availability for component "Oracle Notification Service (ONS)" ... Node Name Port Number Protocol Available Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 6200 TCP yes successful jiekexu-r1 6200 TCP yes successful jiekexu-r2 6100 TCP yes successful jiekexu-r1 6100 TCP yes successful Verifying Port Availability for component "Oracle Notification Service (ONS)" ...PASSEDVerifying Port Availability for component "Oracle Cluster Synchronization Services (CSSD)" ... Node Name Port Number Protocol Available Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 42424 TCP yes successful jiekexu-r1 42424 TCP yes successful Verifying Port Availability for component "Oracle Cluster Synchronization Services (CSSD)" ...PASSEDVerifying Users With Same UID: 0 ...PASSEDVerifying Current Group ID ...PASSEDVerifying Root user consistency ... Node Name Status
------------------------------------ ------------------------
jiekexu-r2 passed jiekexu-r1 passed Verifying Root user consistency ...PASSEDVerifying Package: cvuqdisk-1.0.10-1 ... Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 cvuqdisk-1.0.10-1 cvuqdisk-1.0.10-1 passed jiekexu-r1 cvuqdisk-1.0.10-1 cvuqdisk-1.0.10-1 passed Verifying Package: cvuqdisk-1.0.10-1 ...PASSEDVerifying Host name ...PASSEDVerifying Node Connectivity ... Verifying Hosts File ... Node Name Status
------------------------------------ ------------------------
jiekexu-r1 passed jiekexu-r2 passed Verifying Hosts File ...PASSED
Interface information for node "jiekexu-r2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
ens32 192.168.75.30 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:E4:CE:69 1500 ens32 192.168.75.129 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:E4:CE:69 1500 ens33 10.10.10.129 10.0.0.0 0.0.0.0 10.10.10.1 00:0C:29:E4:CE:73 1500
Interface information for node "jiekexu-r1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
ens32 192.168.75.28 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:2C:79:CE 1500 ens32 192.168.75.128 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:2C:79:CE 1500 ens33 10.10.10.128 10.0.0.0 0.0.0.0 10.10.10.1 00:0C:29:2C:79:D8 1500
Check: MTU consistency of the subnet "192.168.75.0".
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 ens32 192.168.75.30 192.168.75.0 1500 jiekexu-r2 ens32 192.168.75.129 192.168.75.0 1500 jiekexu-r1 ens32 192.168.75.28 192.168.75.0 1500 jiekexu-r1 ens32 192.168.75.128 192.168.75.0 1500
Check: MTU consistency of the subnet "10.0.0.0".
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 ens33 10.10.10.129 10.0.0.0 1500 jiekexu-r1 ens33 10.10.10.128 10.0.0.0 1500 Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED
Source Destination Connected?
------------------------------ ------------------------------ ----------------
jiekexu-r1[ens32:192.168.75.28] jiekexu-r2[ens32:192.168.75.129] yes jiekexu-r1[ens32:192.168.75.28] jiekexu-r2[ens32:192.168.75.30] yes jiekexu-r1[ens32:192.168.75.28] jiekexu-r1[ens32:192.168.75.128] yes jiekexu-r2[ens32:192.168.75.129] jiekexu-r2[ens32:192.168.75.30] yes jiekexu-r2[ens32:192.168.75.129] jiekexu-r1[ens32:192.168.75.128] yes jiekexu-r2[ens32:192.168.75.30] jiekexu-r1[ens32:192.168.75.128] yes
Source Destination Connected?
------------------------------ ------------------------------ ----------------
jiekexu-r1[ens33:10.10.10.128] jiekexu-r2[ens33:10.10.10.129] yes Verifying subnet mask consistency for subnet "192.168.75.0" ...PASSED Verifying subnet mask consistency for subnet "10.0.0.0" ...PASSEDVerifying Node Connectivity ...PASSEDVerifying Multicast or broadcast check ...Checking subnet "192.168.75.0" for multicast communication with multicast group "224.0.0.251"Verifying Multicast or broadcast check ...PASSEDVerifying Network Time Protocol (NTP) ...PASSEDVerifying Same core file name pattern ...PASSEDVerifying User Mask ... Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
jiekexu-r2 0022 0022 passed jiekexu-r1 0022 0022 passed Verifying User Mask ...PASSEDVerifying User Not In Group "root": grid ... Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed does not exist jiekexu-r1 passed does not exist Verifying User Not In Group "root": grid ...PASSEDVerifying Time zone consistency ...PASSEDVerifying Time offset between nodes ...PASSEDVerifying resolv.conf Integrity ... Node Name Status
------------------------------------ ------------------------
jiekexu-r1 failed jiekexu-r2 failed
checking response for name "jiekexu-r2" from each of the name servers specifiedin "/etc/resolv.conf"
Node Name Source Comment Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 192.168.75.2 IPv4 failed
checking response for name "jiekexu-r1" from each of the name servers specifiedin "/etc/resolv.conf"
Node Name Source Comment Status
------------ ------------------------ ------------------------ ----------
jiekexu-r1 192.168.75.2 IPv4 failed Verifying resolv.conf Integrity ...FAILED (PRVF-5636, PRVG-10048)Verifying DNS/NIS name service ...PASSEDVerifying Domain Sockets ...PASSEDVerifying /boot mount ...PASSEDVerifying Daemon "avahi-daemon" not configured and running ... Node Name Configured Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed jiekexu-r1 no passed
Node Name Running? Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed jiekexu-r1 no passed Verifying Daemon "avahi-daemon" not configured and running ...PASSEDVerifying Daemon "proxyt" not configured and running ... Node Name Configured Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed jiekexu-r1 no passed
Node Name Running? Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed jiekexu-r1 no passed Verifying Daemon "proxyt" not configured and running ...PASSEDVerifying User Equivalence ...PASSEDVerifying RPM Package Manager database ...INFORMATION (PRVG-11250)Verifying /dev/shm mounted as temporary file system ...PASSEDVerifying File system mount options for path /var ...PASSEDVerifying DefaultTasksMax parameter ...PASSEDVerifying zeroconf check ...PASSEDVerifying 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 ...FAILEDjiekexu-r2: PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: jiekexu-r1,jiekexu-r2jiekexu-r2: PRVG-10048 : Name "jiekexu-r2" was not resolved to an address of the specified type by name servers "192.168.75.2".
jiekexu-r1: PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: jiekexu-r1,jiekexu-r2jiekexu-r1: PRVG-10048 : Name "jiekexu-r1" was not resolved to an address of the specified type by name servers "192.168.75.2".
Verifying RPM Package Manager database ...INFORMATIONPRVG-11250 : The check "RPM Package Manager database" was not performed becauseit needs 'root' user privileges.
CVU operation performed: stage -pre crsinstDate: Aug 25, 2021 8:41:59 PMCVU home: /u01/app/19.0.0/grid/User: grid


[grid@jiekexu-r1:/home/grid]$ /u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -method rootEnter "ROOT" password:
Verifying Physical Memory ...PASSEDVerifying Available Physical Memory ...PASSEDVerifying Swap Size ...PASSEDVerifying Free Space: jiekexu-r2:/usr,jiekexu-r2:/var,jiekexu-r2:/etc,jiekexu-r2:/sbin,jiekexu-r2:/tmp ...PASSEDVerifying Free Space: jiekexu-r1:/usr,jiekexu-r1:/var,jiekexu-r1:/etc,jiekexu-r1:/sbin,jiekexu-r1:/tmp ...PASSEDVerifying User Existence: grid ... Verifying Users With Same UID: 10001 ...PASSEDVerifying User Existence: grid ...PASSEDVerifying Group Existence: asmadmin ...PASSEDVerifying Group Existence: asmdba ...PASSEDVerifying Group Existence: oinstall ...PASSEDVerifying Group Membership: asmdba ...PASSEDVerifying Group Membership: asmadmin ...PASSEDVerifying Group Membership: oinstall(Primary) ...PASSEDVerifying Run Level ...PASSEDVerifying Hard Limit: maximum open file descriptors ...PASSEDVerifying Soft Limit: maximum open file descriptors ...PASSEDVerifying Hard Limit: maximum user processes ...PASSEDVerifying Soft Limit: maximum user processes ...PASSEDVerifying Soft Limit: maximum stack size ...PASSEDVerifying Architecture ...PASSEDVerifying OS Kernel Version ...PASSEDVerifying OS Kernel Parameter: semmsl ...PASSEDVerifying OS Kernel Parameter: semmns ...PASSEDVerifying OS Kernel Parameter: semopm ...PASSEDVerifying OS Kernel Parameter: semmni ...PASSEDVerifying OS Kernel Parameter: shmmax ...PASSEDVerifying OS Kernel Parameter: shmmni ...PASSEDVerifying OS Kernel Parameter: shmall ...PASSEDVerifying OS Kernel Parameter: file-max ...PASSEDVerifying OS Kernel Parameter: ip_local_port_range ...PASSEDVerifying OS Kernel Parameter: rmem_default ...PASSEDVerifying OS Kernel Parameter: rmem_max ...PASSEDVerifying OS Kernel Parameter: wmem_default ...PASSEDVerifying OS Kernel Parameter: wmem_max ...PASSEDVerifying OS Kernel Parameter: aio-max-nr ...PASSEDVerifying Package: kmod-20-21 (x86_64) ...PASSEDVerifying Package: kmod-libs-20-21 (x86_64) ...PASSEDVerifying Package: binutils-2.23.52.0.1 ...PASSEDVerifying Package: compat-libcap1-1.10 ...PASSEDVerifying Package: libgcc-4.8.2 (x86_64) ...PASSEDVerifying Package: libstdc++-4.8.2 (x86_64) ...PASSEDVerifying Package: libstdc++-devel-4.8.2 (x86_64) ...PASSEDVerifying Package: sysstat-10.1.5 ...PASSEDVerifying Package: gcc-c++-4.8.2 ...PASSEDVerifying Package: ksh ...PASSEDVerifying Package: make-3.82 ...PASSEDVerifying Package: glibc-2.17 (x86_64) ...PASSEDVerifying Package: glibc-devel-2.17 (x86_64) ...PASSEDVerifying Package: libaio-0.3.109 (x86_64) ...PASSEDVerifying Package: libaio-devel-0.3.109 (x86_64) ...PASSEDVerifying Package: nfs-utils-1.2.3-15 ...PASSEDVerifying Package: smartmontools-6.2-4 ...PASSEDVerifying Package: net-tools-2.0-0.17 ...PASSEDVerifying Package: compat-libstdc++-33-3.2.3 (x86_64) ...PASSEDVerifying Package: libxcb-1.11 (x86_64) ...PASSEDVerifying Package: libX11-1.6.3 (x86_64) ...PASSEDVerifying Package: libXau-1.0.8 (x86_64) ...PASSEDVerifying Package: libXi-1.7.4 (x86_64) ...PASSEDVerifying Package: libXtst-1.2.2 (x86_64) ...PASSEDVerifying Port Availability for component "Oracle Notification Service (ONS)" ...PASSEDVerifying Port Availability for component "Oracle Cluster Synchronization Services (CSSD)" ...PASSEDVerifying Users With Same UID: 0 ...PASSEDVerifying Current Group ID ...PASSEDVerifying Root user consistency ...PASSEDVerifying Package: cvuqdisk-1.0.10-1 ...PASSEDVerifying Host name ...PASSEDVerifying Node Connectivity ... Verifying Hosts File ...PASSED Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED Verifying subnet mask consistency for subnet "192.168.75.0" ...PASSED Verifying subnet mask consistency for subnet "10.0.0.0" ...PASSEDVerifying Node Connectivity ...PASSEDVerifying Multicast or broadcast check ...PASSEDVerifying Network Time Protocol (NTP) ...PASSEDVerifying Same core file name pattern ...PASSEDVerifying User Mask ...PASSEDVerifying User Not In Group "root": grid ...PASSEDVerifying Time zone consistency ...PASSEDVerifying Time offset between nodes ...PASSEDVerifying resolv.conf Integrity ...FAILED (PRVG-13159)Verifying DNS/NIS name service ...PASSEDVerifying Domain Sockets ...PASSEDVerifying /boot mount ...PASSEDVerifying Daemon "avahi-daemon" not configured and running ...PASSEDVerifying Daemon "proxyt" not configured and running ...PASSEDVerifying User Equivalence ...PASSEDVerifying RPM Package Manager database ...PASSEDVerifying /dev/shm mounted as temporary file system ...PASSEDVerifying File system mount options for path /var ...PASSEDVerifying DefaultTasksMax parameter ...PASSEDVerifying zeroconf check ...PASSEDVerifying 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 ...FAILEDjiekexu-r2: PRVG-13159 : On node "jiekexu-r2" the file "/etc/resolv.conf" could not be parsed because the file is empty.
jiekexu-r1: PRVG-13159 : On node "jiekexu-r1" the file "/etc/resolv.conf" could not be parsed because the file is empty.
CVU operation performed: stage -pre crsinstDate: Aug 30, 2021 7:49:20 PMCVU home: /u01/app/19.0.0/grid/User: grid

6.4 查看静默安装文件

[root@jiekexu-r2 soft]# lvmdiskscan /dev/sda1 [ 1.00 GiB] /dev/sda2 [ <99.00 GiB] LVM physical volume /dev/asm_data01 [ 10.00 GiB] /dev/asm_ocr02 [ 3.00 GiB] /dev/asm_ocr01 [ 3.00 GiB] /dev/asm_data02 [ 10.00 GiB] /dev/asm_arch01 [ 10.00 GiB] /dev/asm_ocr03 [ 3.00 GiB] 0 disks 7 partitions 0 LVM physical volume whole disks 1 LVM physical volume

响应文件位置

/u01/app/19.0.0/grid/install/response

${ORACLE_HOME}/install/response/gridsetup.rsp

参数说明:

oracle.install.crs.config.clusterNodes=网卡名:公网IP地址段:1,私网网卡名:私网IP地址段:5

这里的 1 代表 PUBLIC,5 代表 ASM & PRIVATE

#############################################################################oracle.install.crs.config.clusterNodes=#############################################################################The value should be a comma separated strings where each string is as shown belowInterfaceName:SubnetAddress:InterfaceTypewhere InterfaceType can be either "1", "2", "3", "4", or "5"InterfaceType stand for the following values1 : PUBLIC2 : PRIVATE3 : DO NOT USE4 : ASM5 : ASM & PRIVATE#For example: eth0:140.87.24.0:1,eth1:10.2.1.0:2,eth2:140.87.52.0:3#############################################################################12.2:Post upgrade steps for Grid infrastructure reports INS-32601 error (Doc ID 2380863.1)

6.5 执行补丁和 GI 安装

jiekexu-r1:/home/grid(+ASM1)$ $ORACLE_HOME/gridSetup.sh --helpUsage: gridSetup.sh [<flag>] [<option>]Following are the possible flags: -help - 显示帮助。 -silent - 在无提示模式下运行。输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。 [-ignorePrereqFailure - 忽略所有先决条件检查失败。] [-lenientInstallMode - 通过自动忽略输入参数中的无效数据, 执行“最佳效果”安装。] -responseFile - 指定要使用的响应文件的完整路径。 -logLevel - 根据此参数所提供的优先级启用消息日志。有效选项包括: 严重, 警告, 信息, 配置, 详细, 较为详细, 非常详细。 -executePrereqs | -executeConfigTools | -createGoldImage | -switchGridHome | -downgrade | -dryRunForUpgrade -executePrereqs - 仅执行先决条件检查。 -executeConfigTools - 对安装的主目录执行配置工具。 [-skipStackCheck - 跳过堆栈状态检查。] -createGoldImage - 从当前 Oracle 主目录创建 Gold Image。 -destinationLocation - 指定将存放所创建 Gold Image 的位置的完整路径。 [-exclFiles - 指定要从新 Gold Image 中排除的文件的完整路径。] -switchGridHome - 更改 Oracle Grid Infrastructure 主目录路径。 -downgrade - 将网格基础结构降级回旧主目录 (仅在升级不完整的情况下使用)。 -silent - 在无提示模式下运行。输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。 [-ignorePrereqFailure - 忽略所有先决条件检查失败。] [-lenientInstallMode - 通过自动忽略输入参数中的无效数据, 执行“最佳效果”安装。] [-configmethod - 指定以授权用户身份执行脚本的方法。如果未指定, 则系统将指示用户以授权用户身份登录来运行脚本。有效选项为: root,sudo。] [-sudopath - 指定 sudo 程序的完整路径。这是可选参数。在为 configmethod 指定了 'sudo' 并且默认路径中没有 'sudo' 程序时, 需要此项。] [-sudousername - 指定 sudoer 的名称。] -dryRunForUpgrade - 执行网格基础结构升级过程的预演。 -debug - 在调试模式下运行。 -printdiskusage - 记录有关磁盘使用情况的调试信息。 -printmemory - 记录有关内存使用情况的调试信息。 -printtime - 记录有关时间使用情况的调试信息。 -waitForCompletion - 等待安装完成, 而不是衍生安装程序并返回控制台提示符。 -noconfig - 不执行配置工具。 -noconsole - 禁止在控制台中显示消息。不分配控制台。 -ignoreInternalDriverError - 忽略任何内部驱动程序错误。 -noCopy - 执行配置, 但不将软件复制到远程节点。 -applyRU - 将发行版更新应用于 Oracle 主目录。        -applyOneOffs - 将一次性补丁程序应用于 Oracle 主目录。多个一次性补丁程序可以采用逗号分隔的位置列表格式传递。

$ORACLE_HOME/gridSetup.sh -silent -applyRU /home/soft/32900083/32895426 -force -noconfig -ignorePrereq -waitforcompletion \-responseFile ${ORACLE_HOME}/install/response/gridsetup.rsp \INVENTORY_LOCATION=/u01/app/oraInventory \ORACLE_BASE=/u01/app/grid \ORACLE_HOME=/u01/app/19.0.0/grid \oracle.install.asm.OSDBA=asmdba \oracle.install.asm.OSOPER=asmoper \oracle.install.asm.OSASM=asmadmin \oracle.install.crs.config.storageOption=ASM \oracle.install.crs.config.useIPMI=false \oracle.install.asm.diskGroup.name=OCR \oracle.install.asm.diskGroup.AUSize=4 \oracle.install.asm.diskGroup.redundancy=NORMAL \oracle.install.crs.config.ClusterConfiguration=STANDALONE \oracle.install.crs.config.configureAsExtendedCluster=false \oracle.install.crs.config.gpnp.scanPort=1521 \oracle.install.crs.config.gpnp.configureGNS=false \oracle.install.option=CRS_CONFIG \oracle.install.asm.SYSASMPassword=Oracle19C \oracle.install.asm.monitorPassword=Oracle19C \oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm_* \oracle.install.asm.diskGroup.disks=/dev/asm_ocr01,/dev/asm_ocr02,/dev/asm_ocr03 \oracle.install.crs.config.gpnp.scanName=jiekexu-racscan \oracle.install.crs.config.clusterName=jiekexu-racscan \oracle.install.crs.config.autoConfigureClusterNodeVIP=false \oracle.install.crs.config.clusterNodes=jiekexu-r1:jiekexu-r1-vip,jiekexu-r2:jiekexu-r2-vip \oracle.install.crs.config.networkInterfaceList=ens32:192.168.75.0:1,ens33:10.10.10.0:5 \oracle.install.asm.configureGIMRDataDG=false \oracle.install.crs.configureRHPS=false \oracle.install.crs.config.ignoreDownNodes=false \oracle.install.config.managementOption=NONE \oracle.install.config.omsPort=0 \oracle.install.crs.rootconfig.executeRootScript=false 

--注:这里尝试配置 root 自动执行 root.sh 脚本时,需要输入密码,但很快就过去了,根本来不及输入密码。无奈则取消掉 oracle.install.crs.rootconfig.configMethod=ROOT 这行,将 oracle.install.crs.rootconfig.executeRootScript=true  改为 oracle.install.crs.rootconfig.executeRootScript=false

[grid@jiekexu-r2:/home/grid]$ cd /u01/app/19.0.0/grid[grid@jiekexu-r2:/u01/app/19.0.0/grid]$ ls addnode clone dbs gpnp inventory lib opatchautocfg ord plsql rdbms root.sh.old.2 sqlpatch usm xdkassistants crs deinstall gridSetup.sh javavm md OPatch.bak0826 ords precomp relnotes root.sh.old.3 sqlplus utlbin css demo has jdbc network opmn oss pylib rhp rootupgrade.sh srvm welcome.htmlcfgtoollogs ctx diagnostics hs jdk nls oracore oui QOpatch root.sh runcluvfy.sh suptools wlmcha cv env.ora install jlib olap oradiag_grid owm qos root.sh.old sdk tomcat wwgclient dbjava evm instantclient ldap OPatch oraInst.loc perl racg root.sh.old.1 slax ucp xag[grid@jiekexu-r2:/u01/app/19.0.0/grid]$ opatch version OPatch Version: 12.2.0.1.25
OPatch succeeded.[grid@jiekexu-r2:/u01/app/19.0.0/grid]$ opatch lspatches32918050;TOMCAT RELEASE UPDATE 19.0.0.0.0 (32918050)32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)32915586;ACFS RELEASE UPDATE 19.12.0.0.0 (32915586)32904851;Database Release Update : 19.12.0.0.210720 (32904851)32585572;DBWLM RELEASE UPDATE 19.0.0.0.0 (32585572)
OPatch succeeded.

You can find the log of this install session at: /u01/app/oraInventory/logs/GridSetupActions2021-08-30_08-16-41PM/gridSetupActions2021-08-30_08-16-41PM.log
As a root user, execute the following script(s): 1. /u01/app/19.0.0/grid/root.sh
Execute /u01/app/19.0.0/grid/root.sh on the following nodes: [jiekexu-r1, jiekexu-r2]
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/app/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/19.0.0/grid/install/response/gridsetup.rsp [-silent]


6.5.1 root 脚本执行

/u01/app/oraInventory/orainstRoot.sh

/u01/app/19.0.0/grid/root.sh

[root@jiekexu-r1 ~]# /u01/app/19.0.0/grid/root.shCheck /u01/app/19.0.0/grid/install/root_jiekexu-r1_2021-08-28_19-52-00-806173517.log for the output of root script[root@jiekexu-r1 ~]#

执行脚本遇到如下错误ORA-39511,这个问题前面一篇文章已经说了,可点此查看

ORA-39511: Start of CRS resource for instance '215' failed with error:[CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'jiekexu-r1'oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-39511: Start of CRS resource for instance '215' failed with error:[CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'jiekexu-r1'

6.5.2 卸载 GI

如果脚本执行错误,重复执行也无法修复时,则需要使用 deinstall 卸载重新安装。

cd $ORACLE_HOME/deinstall./deinstall根据提示输入和执行脚本 n n y 另开会话执行脚本 ./rootcrs.sh -force -deconfig -paramfile ……,等待十几分钟rm -rf /opt/ORCLfmaprm -rf /etc/oraInst.loc检查所有节点的配置文件/etc/oraInst.loc、/etc/oratab是否存在相关配置,若有,则删除之。使用 root 用户登录所有节点,执行:# rm -rf /etc/oracle /tmp/.oracle /var/tmp/.oracle /u01/app/oraInventory /u01/app/grid/* /tmp/GridSetupActions*卸载后新建 mkdir -p /u01/app/19.0.0/gridchown -R grid:oinstall /u01chmod -R 775 /u01chown -R oracle:oinstall /u01/app/oracle另一节点如果还没执行 root.sh 则直接 /u01/app/19.0.0/grid :cd $ORACLE_HOMErm -rf * rm -rf .opatchauto_storage rm -rf .patch_storagecd /u01/app/gridrm -rf *rm -rf /u01/app/oraInventory

6.6 重新解压 GI 安装包继续安装


unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOMEcd $ORACLE_HOME/OPatchmv OPatch/ OPatch.bakcp -r /home/soft/OPatch/ ./

两节点均需配置,使用ifconfigip link show查看mac地址。修改文件/etc/udev/rules.d/70-persistent-ipoib.rules

cat > /etc/udev/rules.d/70-persistent-ipoib.rules <<"EOF"SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e4:ce:69", ATTR{type}=="1", KERNEL=="eth*", NAME="ens32"SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e4:ce:73", ATTR{type}=="1", KERNEL=="eth*", NAME="ens33"EOF
[root@jiekexu-r1 ~]# ip link show1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:e4:ce:69 brd ff:ff:ff:ff:ff:ff3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:e4:ce:73 brd ff:ff:ff:ff:ff:ff
cat > /etc/sysconfig/network-scripts/ifcfg-ens32 <<"EOF"DEVICE=ens32NAME=ens32IPADDR=192.168.75.128NETMASK=255.255.255.0GATEWAY=192.168.75.2ONBOOT=yesUSERCTL=noBOOTPROTO=staticHWADDR=00:0c:29:e4:ce:69TYPE=EthernetIPV6INIT=noDNS1=114.114.114.114DNS2=8.8.8.8NM_CONTROLLED=noEOF

注意第二块网卡不配置网关,否则系统默认网关就变成了第二块网卡的网关,从而导致系统不能上外网。

cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<"EOF"DEVICE=ens33NAME=ens33IPADDR=10.10.10.128NETMASK=255.255.255.0ONBOOT=yesUSERCTL=noBOOTPROTO=staticHWADDR=00:0c:29:e4:ce:73TYPE=EthernetIPV6INIT=noDNS1=114.114.114.114DNS2=8.8.8.8NM_CONTROLLED=noEOF

重跑 root.sh

[root@jiekexu-r1 network-scripts]# cat /u01/app/19.0.0/grid/install/root_jiekexu-r1_2021-08-31_18-14-46-714402688.logPerforming root user operation.
The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/19.0.0/grid Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.Relinking oracle with rac_on optionUsing configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_paramsThe log of current session can be found at: /u01/app/grid/crsdata/jiekexu-r1/crsconfig/rootcrs_jiekexu-r1_2021-08-31_06-14-47PM.log2021/08/31 18:14:50 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.2021/08/31 18:14:50 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.2021/08/31 18:14:50 CLSRSC-363: User ignored prerequisites during installation2021/08/31 18:14:50 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.2021/08/31 18:14:52 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.2021/08/31 18:14:53 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.2021/08/31 18:14:53 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.2021/08/31 18:14:53 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.2021/08/31 18:14:54 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.2021/08/31 18:14:57 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.2021/08/31 18:14:57 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.2021/08/31 18:14:57 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.2021/08/31 18:14:58 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.2021/08/31 18:15:00 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.2021/08/31 18:15:00 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.2021/08/31 18:15:01 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.2021/08/31 18:15:04 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.2021/08/31 18:15:22 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
ASM has been created and started successfully.
[DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-210831PM061542.log for details.
2021/08/31 18:16:34 CLSRSC-482: Running command: '/u01/app/19.0.0/grid/bin/ocrconfig -upgrade grid oinstall'CRS-4256: Updating the profileSuccessful addition of voting disk 14ed0aa13ffd4f89bfe2d79061f96fbc.Successful addition of voting disk 27cc8fbc135f4fd3bf574b4d2e62531e.Successful addition of voting disk c5c806e3a2414f74bf1c70f2add4a821.Successfully replaced voting disk group with +OCR.CRS-4256: Updating the profileCRS-4266: Voting file(s) successfully replaced
STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 14ed0aa13ffd4f89bfe2d79061f96fbc (/dev/asm_ocr03) [OCR] 2. ONLINE 27cc8fbc135f4fd3bf574b4d2e62531e (/dev/asm_ocr01) [OCR] 3. ONLINE c5c806e3a2414f74bf1c70f2add4a821 (/dev/asm_ocr02) [OCR] Located 3 voting disk(s). 2021/08/31 18:17:29 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'. 2021/08/31 18:18:28 CLSRSC-343: Successfully started Oracle Clusterware stack 2021/08/31 18:18:28 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'. 2021/08/31 18:20:11 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'. 2021/08/31 18:20:38 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded


节点 2 执行 root.sh 也成功了,兴奋中……

[grid@jiekexu-r2:/home/grid]$ tail -30f /u01/app/19.0.0/grid/install/root_jiekexu-r2_2021-08-31_18-25-18-796337893.logPerforming root user operation.
The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/19.0.0/grid Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.Relinking oracle with rac_on optionUsing configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_paramsThe log of current session can be found at: /u01/app/grid/crsdata/jiekexu-r2/crsconfig/rootcrs_jiekexu-r2_2021-08-31_06-25-49PM.log2021/08/31 18:25:53 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.2021/08/31 18:25:53 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.2021/08/31 18:25:53 CLSRSC-363: User ignored prerequisites during installation2021/08/31 18:25:53 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.2021/08/31 18:25:55 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.2021/08/31 18:25:55 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.Redirecting to /bin/systemctl restart rsyslog.service2021/08/31 18:25:56 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.2021/08/31 18:25:58 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.2021/08/31 18:26:02 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.2021/08/31 18:26:02 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.2021/08/31 18:26:16 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.2021/08/31 18:26:16 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.2021/08/31 18:26:20 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.2021/08/31 18:26:20 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'2021/08/31 18:26:43 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.2021/08/31 18:26:43 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.2021/08/31 18:27:30 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.2021/08/31 18:27:33 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.2021/08/31 18:27:42 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.2021/08/31 18:27:56 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.2021/08/31 18:28:28 CLSRSC-343: Successfully started Oracle Clusterware stack2021/08/31 18:28:29 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.2021/08/31 18:29:13 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.2021/08/31 18:29:19 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded


[root@jiekexu-r1 ~]# systemctl status oracle-ohasd.service? oracle-ohasd.service - Oracle High Availability Services Loaded: loaded (/etc/systemd/system/oracle-ohasd.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/oracle-ohasd.service.d +-00_oracle-ohasd.conf Active: active (running) since Thu 2021-09-02 10:55:47 CST; 37min ago Main PID: 1638 (init.ohasd) CGroup: /system.slice/oracle-ohasd.service +- 1638 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
…………省略更多输出…………
Sep 02 11:29:49 jiekexu-r1 CLSD[4579]: The clock on host jiekexu-r1 has been updated by the Cluster Time Synchronization Service to be synchronous with the mean cluster time.Sep 02 11:31:58 jiekexu-r1 oracle_26819_+a[26819]: Oracle Audit[26819]: LENGTH : '247' ACTION :[7] 'CONNECT' DATABASE USER:[1] '/' PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[4] 'gri...R:[3] '100'Hint: Some lines were ellipsized, use -l to show in full.

6.9 配置集群

根据 6.5.1 节前的内容,执行完 root.sh 脚本,执行 executeConfigTools 配置,更新节点信息。

/u01/app/19.0.0/grid/gridSetup.sh -silent -executeConfigTools -waitforcompletion \-responseFile /u01/app/19.0.0/grid/install/response/gridsetup.rsp \INVENTORY_LOCATION=/u01/app/oraInventory \ORACLE_BASE=/u01/app/grid \ORACLE_HOME=/u01/app/19.0.0/grid \oracle.install.asm.OSDBA=asmdba \oracle.install.asm.OSOPER=asmoper \oracle.install.asm.OSASM=asmadmin \oracle.install.crs.config.storageOption=ASM \oracle.install.crs.config.useIPMI=false \oracle.install.asm.diskGroup.name=OCR \oracle.install.asm.diskGroup.AUSize=4 \oracle.install.asm.diskGroup.redundancy=NORMAL \oracle.install.crs.config.ClusterConfiguration=STANDALONE \oracle.install.crs.config.configureAsExtendedCluster=false \oracle.install.crs.config.gpnp.scanPort=1521 \oracle.install.crs.config.gpnp.configureGNS=false \oracle.install.option=CRS_CONFIG \oracle.install.asm.SYSASMPassword=Oracle19C \oracle.install.asm.monitorPassword=Oracle19C \oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm_* \oracle.install.asm.diskGroup.disks=/dev/asm_ocr01,/dev/asm_ocr02,/dev/asm_ocr03 \oracle.install.crs.config.gpnp.scanName=jiekexu-racscan \oracle.install.crs.config.clusterName=jiekexu-racscan \oracle.install.crs.config.autoConfigureClusterNodeVIP=false \oracle.install.crs.config.clusterNodes=jiekexu-r1:jiekexu-r1-vip,jiekexu-r2:jiekexu-r2-vip \oracle.install.crs.config.networkInterfaceList=ens32:192.168.75.0:1,ens33:10.10.10.0:5 \oracle.install.asm.configureGIMRDataDG=false \oracle.install.crs.configureRHPS=false \oracle.install.crs.config.ignoreDownNodes=false \oracle.install.config.managementOption=NONE \oracle.install.config.omsPort=0 \oracle.install.crs.rootconfig.executeRootScript=false


Launching Oracle Grid Infrastructure Setup Wizard...
You can find the logs of this session at:/u01/app/oraInventory/logs/GridSetupActions2021-08-31_06-44-55PM
You can find the log of this install session at: /u01/app/oraInventory/logs/UpdateNodeList2021-08-31_06-44-55PM.logConfiguration failed.[WARNING] [INS-43080] Some of the configuration assistants failed, were cancelled or skipped. ACTION: Refer to the logs or contact Oracle Support Services.

注意:在 /u01/app/19.0.0/grid/install/response 目录下,新生成了 grid_2021-08-31_02-31-29PM.rsp 响应文件,可以使用新生成的,我这里沿用了前面的配置项也可以。

7.创建磁盘组

创建磁盘组可使用图形化 asmca 创建,也可以使用 asmca -silent 静默创建,更可以使用 SQL 语句创建。

在这里创建3个磁盘组:

OCR: 存放OCR voting 文件。AU size 4MB  ,redundance NORMAL。

DATA : 存放数据文件等。AU size 4MB  ,redundance EXTERNAL 。

ARCH : 存放归档日志和镜像的 ONLINE LOGFILE。redundance EXTERNAL 。

#创建 DATA 磁盘组

asmca -silent -createDiskGroup -sysAsmPassword Oracle_19c -asmsnmpPassword Oracle_19c -oui_internal -diskString '/dev/asm_\*\' -diskGroupName DATA -diskList /dev/asm_data01,/dev/asm_data02 -redundancy EXTERNAL -au_size 4 -compatible.asm 19.0.0.0.0
[INFO] [DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-210902AM105901.log for details.

查看创建日志发现执行了以下的创建 SQL 语句,并且两节点均已挂载。

ALTER SYSTEM SET asm_diskstring='/dev/asm_' SID='';select name from v$parameter where isdefault='FALSE'union select name from v$system_parameter where ismodified='MODIFIED';CREATE DISKGROUP DATA EXTERNAL REDUNDANCY DISK '/dev/asm_data01' SIZE 10240M DISK '/dev/asm_data02' SIZE 10240M ATTRIBUTE 'compatible.asm'='19.0.0.0.0','compatible.advm'='19.0.0.0','au_size'='4M';

#创建 ARCH 磁盘组

asmca -silent -createDiskGroup -sysAsmPassword Oracle_19c -asmsnmpPassword Oracle_19c -oui_internal -diskString '/dev/asm_*' -diskGroupName ARCH -diskList /dev/asm_arch01 -redundancy EXTERNAL -au_size 4 -compatible.asm 19.0.0.0.0

以下是官方文档 SQL 创建磁盘组示例:

ExampleCreating the FRA disk groupCREATE DISKGROUP fra NORMAL REDUNDANCY DISK '/devices/diskc*'; CREATE DISKGROUP data external REDUNDANCY DISK '/dev/asmdisks/asm-data' ATTRIBUTE 'au_size'='4M', 'compatible.asm' = '19.0', 'compatible.rdbms' = '19.0', 'compatible.advm' = '19.0';CREATE DISKGROUP fra external REDUNDANCY DISK '/dev/asmdisks/asm-fra' ATTRIBUTE 'au_size'='4M', 'compatible.asm' = '19.0', 'compatible.rdbms' = '19.0', 'compatible.advm' = '19.0';

图形化创建比较简单就不演示了;创建完磁盘组后,检查磁盘组 DATA 兼容性.

su - grid sqlplus / as sysasmselect GROUP_NUMBER,name,value from v$asm_attribute where GROUP_NUMBER=2 and name like 'compatible%';
GROUP_NUMBER NAME VALUE
------------ ------------------ ------------------------------
2 compatible.asm 19.0.0.0.0 2 compatible.rdbms 10.1.0.0.0 2 compatible.advm 19.0.0.0.0
修改兼容性ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0';

8.安装 DB 软件

8.1 修改软件包权限并解压

[root@jiekexu-r1 soft]# chown oracle:oinstall LINUX.X64_193000_db_home.zip[root@jiekexu-r1 soft]# chown -R oracle:oinstall OPatch$ unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

8.2 替换 OPatch

mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bakcp -r OPatch $ORACLE_HOME$ opatch version OPatch Version: 12.2.0.1.25OPatch succeeded.

8.3 使用 RU 静默安装 DB 软件

${ORACLE_HOME}/runInstaller -hUsage: runInstaller [<flag>] [<option>]Following are the possible flags: -help - 显示帮助。 -silent - 在无提示模式下运行。输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。 [-ignorePrereqFailure - 忽略所有先决条件检查失败。] -responseFile - 指定要使用的响应文件的完整路径。 -logLevel - 根据此参数所提供的优先级启用消息日志。有效选项包括: 严重, 警告, 信息, 配置, 详细, 较为详细, 非常详细。 -executePrereqs | -executeConfigTools | -createGoldImage -executePrereqs - 仅执行先决条件检查。 -executeConfigTools - 对安装的主目录执行配置工具。 -createGoldImage - 从当前 Oracle 主目录创建 Gold Image。 -destinationLocation - 指定将存放所创建 Gold Image 的位置的完整路径。 [-exclFiles - 指定要从新 Gold Image 中排除的文件的完整路径。] -debug - 在调试模式下运行。 -printdiskusage - 记录有关磁盘使用情况的调试信息。 -printmemory - 记录有关内存使用情况的调试信息。 -printtime - 记录有关时间使用情况的调试信息。 -waitForCompletion - 等待安装完成, 而不是衍生安装程序并返回控制台提示符。 -noconfig - 不执行配置工具。 -noconsole - 禁止在控制台中显示消息。不分配控制台。 -ignoreInternalDriverError - 忽略任何内部驱动程序错误。 -noCopy - 执行配置, 但不将软件复制到远程节点。 -applyRU - 将发行版更新应用于 Oracle 主目录。 -applyOneOffs - 将一次性补丁程序应用于 Oracle 主目录。多个一次性补丁程序可以采用逗号分隔的位置列表格式传递。
db 响应文件位置 $ORACLE_HOME/install/response/db_install.rsp
$ORACLE_HOME/runInstaller -ignorePrereq -waitforcompletion -silent -applyRU /home/soft/32900083/32895426 \-responseFile $ORACLE_HOME/install/response/db_install.rsp \oracle.install.option=INSTALL_DB_SWONLY \ORACLE_HOSTNAME=/u01/app/oraInventory \UNIX_GROUP_NAME=oinstall \INVENTORY_LOCATION=/u01/app/oraInventory \ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 \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.CLUSTER_NODES=jiekexu-r1,jiekexu-r2

8.3.1 卸载 DB 软件

卸载 DB 软件很简单 $ORACLE_HOME/deinstall/deinstall  根据提示先回车 然后 y 继续,等待一会儿则卸载完毕,dbhome 清理完成。再次安装时需要新建,然后解压软件。

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

8.4 静默创建实例

字符集为 32UTF8

DBCA 建库

非容器数据库创建方法:

dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname JiekeXu -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword Oracle19c \ -systemPassword Oracle19c \ -createAsContainerDatabase false \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement false \ -totalMemory 8192 \ -redoLogFileSize 1024 \ -emConfiguration NONE \ -ignorePreReqs \ -nodelist jiekexu-r1,jiekexu-r2 \ -storageType ASM \ -diskGroupName +DATA \ -asmsnmpPassword Oracle19c \ -recoveryAreaDestination NONE

PDB容器数据库创建方法:

dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname JiekeXu -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword Oracle_19C \ -systemPassword Oracle_19C \ -createAsContainerDatabase true \ -numberOfPDBs 1 \ -pdbName JiekeXupdb1 \ -pdbAdminPassword Oracle_19C \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement false \ -totalMemory 1500 \ -redoLogFileSize 200 \ -emConfiguration NONE \ -ignorePreReqs \ -nodelist jiekexu-r1,jiekexu-r2 \ -storageType ASM \ -diskGroupName +DATA \ -asmsnmpPassword Oracle_19C \ -recoveryAreaDestination NONE

本次创建容器数据库。

[root@jiekexu-r1 ~]# tail -f /u01/app/oracle/cfgtoollogs/dbca/JiekeXu/JiekeXu.log[ 2021-09-02 16:26:50.800 CST ] Prepare for db operationDBCA_PROGRESS : 7%[ 2021-09-02 16:27:27.683 CST ] Copying database filesDBCA_PROGRESS : 27%[ 2021-09-02 16:30:53.347 CST ] Creating and starting Oracle instanceDBCA_PROGRESS : 28%DBCA_PROGRESS : 31%DBCA_PROGRESS : 35%DBCA_PROGRESS : 37%DBCA_PROGRESS : 40%[ 2021-09-02 17:10:05.458 CST ] Creating cluster database viewsDBCA_PROGRESS : 41%DBCA_PROGRESS : 53%[ 2021-09-02 17:11:35.673 CST ] Completing Database CreationDBCA_PROGRESS : 57%DBCA_PROGRESS : 59%DBCA_PROGRESS : 60%[ 2021-09-02 17:21:42.870 CST ] Creating Pluggable DatabasesDBCA_PROGRESS : 64%DBCA_PROGRESS : 80%[ 2021-09-02 17:22:41.957 CST ] Executing Post Configuration ActionsDBCA_PROGRESS : 100%[ 2021-09-02 17:22:41.971 CST ] Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/JiekeXu.Database Information:Global Database Name:JiekeXuSystem Identifier(SID) Prefix:JiekeXu

到达 31% 则比较慢,半小时多没有反应,关闭微信、浏览器等其他软件后总共花费 56 分钟完成。

8.4.1 静默删除实例

静默删除数据库实例

dbca -silent -deleteDatabase -sourceDB JiekeXu -sysDBAUserName SYS -sysDBAPassword Oracle19c

8.5 数据库状态检查

8.5.1集群状态查看
jiekexu-r1:/home/grid(+ASM1)$ crsctl status res -t
Name Target State Server State details
Local Resources
ora.LISTENER.lsnr ONLINE ONLINE jiekexu-r1 STABLE ONLINE ONLINE jiekexu-r2 STABLEora.chad ONLINE ONLINE jiekexu-r1 STABLE ONLINE ONLINE jiekexu-r2 STABLEora.net1.network ONLINE ONLINE jiekexu-r1 STABLE ONLINE ONLINE jiekexu-r2 STABLEora.ons ONLINE ONLINE jiekexu-r1 STABLE
ONLINE ONLINE jiekexu-r2 STABLE
Cluster Resources
ora.ARCH.dg(ora.asmgroup) 1 ONLINE ONLINE jiekexu-r1 STABLE 2 ONLINE ONLINE jiekexu-r2 STABLEora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE jiekexu-r1 STABLE 2 ONLINE ONLINE jiekexu-r2 STABLEora.DATA.dg(ora.asmgroup) 1 ONLINE ONLINE jiekexu-r1 STABLE 2 ONLINE ONLINE jiekexu-r2 STABLEora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE jiekexu-r2 STABLEora.OCR.dg(ora.asmgroup) 1 ONLINE ONLINE jiekexu-r1 STABLE 2 ONLINE ONLINE jiekexu-r2 STABLEora.asm(ora.asmgroup) 1 ONLINE ONLINE jiekexu-r1 Started,STABLE 2 ONLINE ONLINE jiekexu-r2 Started,STABLEora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE jiekexu-r1 STABLE 2 ONLINE ONLINE jiekexu-r2 STABLEora.cvu 1 ONLINE ONLINE jiekexu-r2 STABLEora.jiekexu-r1.vip 1 ONLINE ONLINE jiekexu-r1 STABLEora.jiekexu-r2.vip 1 ONLINE ONLINE jiekexu-r2 STABLEora.jiekexu.db 1 ONLINE ONLINE jiekexu-r1 Open,HOME=/u01/app/o racle/product/19.0.0 /dbhome_1,STABLE 2 ONLINE ONLINE jiekexu-r2 Open,HOME=/u01/app/o racle/product/19.0.0 /dbhome_1,STABLEora.qosmserver 1 ONLINE ONLINE jiekexu-r2 STABLEora.scan1.vip
1 ONLINE ONLINE jiekexu-r2 STABLE
jiekexu-r1:/home/grid(+ASM1)$


8.5.2 监听状态查看

8.5.3 数据库信息查看
jiekexu-r1:/home/oracle(JiekeXu1)$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 2 18:05:30 2021Version 19.12.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.

Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.12.0.0.0
SQL> set line 240 col HOST_NAME for a30 SQL> SQL> select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$instance; SQL> INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME STATUS
---------------- ------------------------------ ----------------- ------------------- ------------
JiekeXu1 jiekexu-r1 19.0.0.0.0 2021-09-02 17:20:52 OPENJiekeXu2 jiekexu-r2 19.0.0.0.0 2021-09-02 17:20:57 OPEN
Elapsed: 00:00:00.02SQL> col status for a10SQL> col action for a10SQL> col action_time for a30SQL> col description for a60SQL> select patch_id,patch_type,action,status,action_time,description from dba_registry_sqlpatch;

PATCH_ID PATCH_TYPE ACTION STATUS ACTION_TIME DESCRIPTION
---------- ---------- ---------- ---------- ------------------------------ ------------------------------------------------------------
32904851 RU APPLY SUCCESS 02-SEP-21 05.05.15.051185 PM Database Release Update : 19.12.0.0.210720 (32904851)
SQL> SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO 3 JIEKEXUPDB1 READ WRITE NO
SQL> col version for a25SQL> col comments for a80SQL> select ACTION_TIME,VERSION,COMMENTS from dba_registry_history;
ACTION_TIME VERSION COMMENTS
------------------------------ ------------------------- --------------------------------------------------------------------------------
19 RDBMS_19.12.0.0.0DBRU_LINUX.X64_210715
02-SEP-21 05.02.53.625968 PM 19.0.0.0.0 Patch applied from 19.3.0.0.0 to 19.12.0.0.0: Release_Update - 210716141810

8.5.4 连接测试


SQL> col File_Name for a88col Con_Name for a16set pages 345with Containers as (select PDB_ID Con_ID, PDB_Name Con_Name from DBA_PDBs union select 1 Con_ID, 'CDB$ROOT' Con_Name from Dual) select Con_ID,Con_Name "Con_Name",Tablespace_Name "T'space_Name",File_Name "File_Name" from CDB_Data_Files inner join Containers using (Con_ID) union select Con_ID,Con_Name "Con_Name",Tablespace_Name "T'space_Name",File_Name "File_Name" from CDB_Temp_Files inner join Containers using (Con_ID) order by 1, 3;


CON_ID Con_Name T'space_Name File_Name
---------- ---------------- ------------------------------ ----------------------------------------------------------------------------------------
1 CDB$ROOT SYSAUX +DATA/JIEKEXU/DATAFILE/sysaux.258.1082219405 1 CDB$ROOT SYSTEM +DATA/JIEKEXU/DATAFILE/system.257.1082219301 1 CDB$ROOT TEMP +DATA/JIEKEXU/TEMPFILE/temp.264.1082219523 1 CDB$ROOT UNDOTBS1 +DATA/JIEKEXU/DATAFILE/undotbs1.259.1082219451 1 CDB$ROOT UNDOTBS2 +DATA/JIEKEXU/DATAFILE/undotbs2.269.1082221805 1 CDB$ROOT USERS +DATA/JIEKEXU/DATAFILE/users.260.1082219453 3 JIEKEXUPDB1 SYSAUX +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/sysaux.275.1082222507 3 JIEKEXUPDB1 SYSTEM +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/system.274.1082222507 3 JIEKEXUPDB1 TEMP +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/TEMPFILE/temp.276.1082222513 3 JIEKEXUPDB1 UNDOTBS1 +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/undotbs1.273.1082222507 3 JIEKEXUPDB1 UNDO_2 +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/undo_2.277.1082222553 3 JIEKEXUPDB1 USERS +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/users.278.1082222557
12 rows selected.

8.6 SQL 连接提示符修改

cd $ORACLE_HOME/sqlplus/adminvi glogin.sqlset linesize 250set pagesize 9999col Name format a80col owner format a30col file_name for a88set termout offALTER SESSION SET nls_date_format = 'yyyy-mm-dd HH24:MI:SS';set termout onset serveroutput on size 1000000set long 2000set time onset timing ondefine _editor=viset sqlprompt "_user'@'_connect_identifier> "

8.7 安装 rlwrap

*安装 rlwrap 包实现 sqlplus 历史命令上下翻转回退等操作。*

先使用 yum 安装 readline(一定要安装成功) 然后编译安装 rlwrap

下载 https://github.com/hanslub42/rlwrap/releases
# yum install -y readline*# tar -zxvf  rlwrap-0.45.2.tar.gz# cd rlwrap-0.45.2# ./configure && make && make install添加 oracle 用户环境变量# su - oracle $ cat <<EOF>>/home/oracle/.bash_profilealias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'alias lsnrctl='rlwrap lsnrctl'alias asmcmd='rlwrap asmcmd'alias adrci='rlwrap adrci'alias ggsci='rlwrap ggsci'alias sas=’sqlplus / as sysdba’EOF
$ . .bash_profile --生效

Linux 64 位 19.12 RU :https://www.modb.pro/download/137693

Linux 64 位 RAC 安装包:https://www.modb.pro/download/5713


吐血整理,实属不易,原作者更加辛苦,如认真阅读,此文一定对您有帮助,欢迎点赞、在看与转发,写作不易,坚持写作更不易,您的点赞、转发,举手之劳,便是对作者最大的支持,也能让更多的人受益,感谢!

——————————————————————--—--————

公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
腾讯云:https://cloud.tencent.com/developer/user/5645107

————————————————————————----———



2021年7月国产数据库排行榜:openGauss高歌猛进,GBase持续下跌

Oracle 12c 及以上版本补丁更新说明及下载方法(收藏版)

Oracle 19c 19.10DBRU 最新补丁升级看这一篇就够了

Redhat 7.7 安装最新版 MongoDB 5.0.1 手册

ASM 管理的内部工具:KFED、KFOD、AMDU

性能优化|关于数据库历史性能问题的一道面试题

一线运维 DBA 五年经验常用 SQL 大全(二)

ORA-00349|激活 ADG 备库时遇到的问题

Oracle 轻量级实时监控工具 oratop

MySQL OCP 认证考试你知道吗?

Oracle 19C RAC 安装遇到的坑

国产数据库|TiDB 5.0 快速体验

Oracle 19C MAA 搭建指南

Oracle 每日一题系列合集

百花齐放的国产数据库


继续滑动看下一个

使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC

JiekeXu JiekeXu DBA之路
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存