文章目录
- 前言
- 1. 安装环境说明
- 2. 配置规划说明
- 2.1. 网络规划
- 2.2. 目录规划
- 2.3. 磁盘规划
- 3. 设置系统环境
- 3.1. 删除 virbr0 设备
- 3.2. 配置主机网络
- 3.3. 配置 hosts 解析
- 3.4. 关闭系统防火墙
- 3.5. 关闭 SELINUX
- 3.6. 关闭时钟同步服务
- 3.7. 关闭 avahi-daemon 守护进程
- 3.8. 准备软件安装包
- 3.9. 配置 yum 源安装依赖包
- 4. 修改参数文件
- 4.1. 修改内核参数
- 4.2. 修改资源限制
- 4.3. 修改 PAM 配置文件
- 4.4. 设置 NOZEROCONF 参数
- 5. 创建用户组和用户
- 6. 创建目录
- 7. 配置环境变量
- 8. 配置节点互信
- 9. 配置 ASM 共享磁盘
- 9.1. vSphere 虚拟化层配置共享磁盘
- 9.2. 使用 udev 规则配置 asm 磁盘
- 10. 安装 Grid 软件
- 10.1. 解压 grid 安装包
- 10.2. 安装 cvuqdisk 包
- 10.3. 执行 grid 软件安装
- 10.4. 配置剩余磁盘组
- 11. 安装 Oracle 软件
- 11.1. 解压 oracle 安装包
- 11.2. 执行 oracle 软件安装
- 12. 创建数据库
- 13. 检查集群和数据库
- 13.1. 检查集群状态
- 13.2. 检查数据库状态
- 13.3. 检查监听服务
- 13.4. 检查实例运行状态
- 总结
前言
前阵子因为工作和考证的事情比较多,很长一段时间没有更新 CSDN 博客导致原力都失效了 ~~ 这阵子得了些空,可以继续更新啦。
搭建 19c rac 这个事情很早之前就想做,断断续续一直拖到现在。还是那句老话,本文仅供安装学习使用,生产环境建议从硬件到软件完成各项检查与评估,依据更加详细和专业的方案完成部署,并根据实际需要对数据库进行优化!
1. 安装环境说明
Description | Value |
---|---|
vSphere Version | 7.0U2 |
OS Version | Red Hat Enterprise Linux Server release 7.9 (Maipo) |
Kernel Version | 3.10.0-1160.el7.x86_64 |
Oracle Version | 19.3.0.0.0 |
GI Package | LINUX.X64_193000_grid_home.zip |
DB Package | LINUX.X64_193000_db_home.zip |
2. 配置规划说明
2.1. 网络规划
Cluster Instance Name:orarac
Scan IP:172.16.206.150
Network | Device | Node1 | Node2 |
---|---|---|---|
Public IP | ens192 | 172.16.206.151 | 172.16.206.152 |
Virtual IP | ens192 | 172.16.206.153 | 172.16.206.154 |
Private IP | ens224 | 192.168.100.1 | 192.168.100.2 |
2.2. 目录规划
Directory | Path |
---|---|
ORACLE_SOFTWARE | /u01/orasoft |
ORACLE_BASE For Oracle | /u01/app/oracle |
ORACLE_HOME For Oracle | /u01/app/oracle/product/19.3.0/db_1 |
ORACLE_BASE For Grid | /u01/app/grid |
ORACLE_HOME For Grid | /u01/app/19.3.0/grid |
2.3. 磁盘规划
Disk Identifier | Disk Size | Diskgroup | Disk Configuration |
---|---|---|---|
sda | 80GB | System Partition | 非共享盘,精简置备 |
sdb | 80GB | Software Installation | 非共享盘,精简置备 |
sdc | 15GB | OCRVOTE | 共享磁盘,独立持久,厚置备 |
sdd | 15GB | OCRVOTE | 共享磁盘,独立持久,厚置备 |
sde | 15GB | OCRVOTE | 共享磁盘,独立持久,厚置备 |
sdf | 50GB | MGMT | 共享磁盘,独立持久,厚置备 |
sdg | 100GB | DATADG | 共享磁盘,独立持久,厚置备 |
sdh | 150GB | ARCHDG | 共享磁盘,独立持久,厚置备 |
3. 设置系统环境
3.1. 删除 virbr0 设备
两个节点都需要执行此操作:
ifconfig virbr0 down
brctl delbr virbr0
systemctl stop libvirtd.service
systemctl disable libvirtd.service
3.2. 配置主机网络
labrac1 节点网络配置信息如下所示:
[root@labrac1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=172.16.206.151
PREFIX=24
GATEWAY=172.16.206.254
DNS1=114.114.114.114
[root@labrac1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.100.1
PREFIX=24
labrac2 节点网络配置信息如下所示:
[root@labrac2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=172.16.206.152
PREFIX=24
GATEWAY=172.16.206.254
DNS1=114.114.114.114
[root@labrac2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.100.2
PREFIX=24
3.3. 配置 hosts 解析
两个节点都需要执行此操作,配置信息相同,如下所示:
[root@labrac1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#Public IP
172.16.206.151 labrac1
172.16.206.152 labrac2
#Virtual IP
172.16.206.153 labrac1-vip
172.16.206.154 labrac2-vip
#Private IP
192.168.100.1 labrac1-priv
192.168.100.2 labrac2-priv
#Scan IP
172.16.206.150 scan-ip
3.4. 关闭系统防火墙
两个节点都需要执行此操作:
systemctl stop firewalld.service
systemctl disable firewalld.service
3.5. 关闭 SELINUX
两个节点都需要执行此操作:
setenforce 0
SELINUX_STATE=`cat /etc/selinux/config |grep "\<SELINUX\>" |grep -v "^#" |awk -F '=' '{print $2}'`
sed -i "s/SELINUX="${SELINUX_STATE}"/SELINUX=disabled/g" /etc/selinux/config //重启系统生效。
3.6. 关闭时钟同步服务
两个节点都需要执行此操作:
[root@labrac1 ~]# systemctl stop chronyd
[root@labrac1 ~]# systemctl disable chronyd
[root@labrac1 ~]# mv /etc/chrony.conf /etc/chrony.conf.bak
3.7. 关闭 avahi-daemon 守护进程
两个节点都需要执行此操作:
[root@labrac1 ~]# systemctl stop avahi-daemon
[root@labrac1 ~]# systemctl disable avahi-daemon
3.8. 准备软件安装包
labrac1 节点配置如下(安装包上传至 labrac1 节点即可):
[root@labrac1 ~]# pvcreate /dev/sdb
[root@labrac1 ~]# vgcreate vgora /dev/sdb
[root@labrac1 ~]# lvcreate -n lvora -l +100%FREE vgora
[root@labrac1 ~]# mkfs.xfs /dev/vgora/lvora
[root@labrac1 ~]# mkdir /u01
[root@labrac1 ~]# echo "/dev/vgora/lvora /u01 xfs defaults 0 0" >> /etc/fstab
[root@labrac1 ~]# mount -a
[root@labrac1 ~]# mkdir /u01/orasoft
[root@labrac1 ~]# ls -ltr /u01/orasoft/
total 5809468
-rw-r--r-- 1 root root 3059705302 Aug 23 10:55 LINUX.X64_193000_db_home.zip
-rw-r--r-- 1 root root 2889184573 Aug 23 11:03 LINUX.X64_193000_grid_home.zip
labrac2 节点配置如下:
[root@labrac2 ~]# pvcreate /dev/sdb
[root@labrac2 ~]# vgcreate vgora /dev/sdb
[root@labrac2 ~]# lvcreate -n lvora -l +100%FREE vgora
[root@labrac2 ~]# mkfs.xfs /dev/vgora/lvora
[root@labrac2 ~]# mkdir /u01
[root@labrac2 ~]# echo "/dev/vgora/lvora /u01 xfs defaults 0 0" >> /etc/fstab
[root@labrac2 ~]# mount -a
[root@labrac2 ~]# mkdir /u01/orasoft
3.9. 配置 yum 源安装依赖包
两个节点都需要配置本地 yum 源,配置步骤相同,如下所示:
[root@labrac1 ~]# mkdir /iso //将 iso 文件上传至此目录。
[root@labrac1 ~]# mkdir /mnt/cdrom
[root@labrac1 ~]# mkdir /etc/yum.repos.d/repo_backup
[root@labrac1 ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_backup/
[root@labrac1 ~]# mount -o loop /iso/rhel-7.9-x86_64-dvd.iso /mnt/cdrom/
[root@labrac1 ~]# vim /etc/yum.repos.d/local.repo //创建新的 repo 文件并填写如下信息。
[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
[root@labrac1 ~]# yum clean all
[root@labrac1 ~]# yum repolist
两个节点都需要安装如下所示的依赖包:
yum -y install binutils* compat-libstdc++-33* elfutils-libelf* elfutils-libelf-devel* gcc* gcc-c++* glibc* glibc-common* glibc-devel* glibc-headers* ksh* libaio* libaio-devel* libgcc-4* libstdc++* libstdc++-devel* make* numactl-devel* sysstat* unixODBC* unixODBC-devel* xterm* bc compat-libcap* libXp* glibc-kernheaders net-tools-*
特别说明
:在使用本地 yum 源安装依赖包时会提示No package compat-libstdc++-33* available
.,需要单独下载这个包进行手动安装,两个节点都需要进行安装。
rpm -ivh /u01/orasoft/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
4. 修改参数文件
4.1. 修改内核参数
两个节点都需要执行此操作:
[root@labrac1 ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 8589934591
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
kernel.panic_on_oops = 1
[root@labrac1 ~]# sysctl -p //使配置立即生效。
4.2. 修改资源限制
两个节点都需要执行此操作:
特别说明
:建议设置 memlock 限制,否则在安装 Oracle 软件进行检查时会显示Maximum locked memory check:Warning
,博主一开始没有设置 memlock 限制,所以在检查那一步执行了Fix & Check Again
,然后发现了Oracle recommended value for memlock is set to 3145728 for user oracle
,所以还是提前设置下比较好。
[root@labrac1 ~]# vim /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728
oracle hard memlock 3145728
4.3. 修改 PAM 配置文件
两个节点都需要执行此操作:
[root@labrac1 ~]# echo "session required pam_limits.so" >> /etc/pam.d/login
4.4. 设置 NOZEROCONF 参数
两个节点都需要执行此操作:
[root@labrac1 ~]# echo "NOZEROCONF=yes" >> /etc/sysconfig/network
5. 创建用户组和用户
两个节点都需要执行此操作:
[root@labrac1 ~]# groupadd -g 54321 oinstall
[root@labrac1 ~]# groupadd -g 54322 dba
[root@labrac1 ~]# groupadd -g 54323 oper
[root@labrac1 ~]# groupadd -g 54324 backupdba
[root@labrac1 ~]# groupadd -g 54325 dgdba
[root@labrac1 ~]# groupadd -g 54326 kmdba
[root@labrac1 ~]# groupadd -g 54327 asmdba
[root@labrac1 ~]# groupadd -g 54328 asmoper
[root@labrac1 ~]# groupadd -g 54329 asmadmin
[root@labrac1 ~]# groupadd -g 54330 racdba
[root@labrac1 ~]# useradd -u 54321 -g oinstall -G dba,asmdba,oper oracle
[root@labrac1 ~]# useradd -u 54322 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba grid
[root@labrac1 ~]# echo "oracle" |passwd --stdin oracle
[root@labrac1 ~]# echo "grid" |passwd --stdin grid
6. 创建目录
两个节点都需要执行此操作:
[root@labrac1 ~]# mkdir -p /u01/app/grid
[root@labrac1 ~]# mkdir -p /u01/app/19.3.0/grid
[root@labrac1 ~]# mkdir -p /u01/app/oracle/product/19.3.0/db_1
[root@labrac1 ~]# chown -R grid:oinstall /u01/
[root@labrac1 ~]# chown -R oracle:oinstall /u01/app/oracle/
[root@labrac1 ~]# chmod -R 775 /u01/
7. 配置环境变量
labrac1 节点 oracle 用户环境变量配置信息如下:
[root@labrac1 ~]# vim /home/oracle/.bash_profile
export PATH //<---在此之后添加如下内容即可。
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
export ORACLE_UNQNAME=orarac
export ORACLE_SID=orarac1
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
labrac2 节点 oracle 用户环境变量配置信息如下:
[root@labrac2 ~]# vim /home/oracle/.bash_profile
export PATH //<---在此之后添加如下内容即可。
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
export ORACLE_UNQNAME=orarac
export ORACLE_SID=orarac2
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
labrac1 节点 grid 用户环境变量配置信息如下:
[root@labrac1 ~]# vim /home/grid/.bash_profile
export PATH //<---在此之后添加如下内容即可。
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
labrac2 节点 grid 用户环境变量配置信息如下:
[root@labrac2 ~]# vim /home/grid/.bash_profile
export PATH //<---在此之后添加如下内容即可。
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
8. 配置节点互信
配置互信的逻辑是:两个节点各自生成 rsa & dsa 密钥
--->
节点1将其公钥写入 authorized_keys 文件--->
节点1将 authorized_keys 文件拷贝至节点2--->
节点2将其公钥写入 authorized_keys 文件--->
节点2再将 authorized_keys 文件拷贝回节点1。
配置 oracle 用户互信:
- labrac1 节点生成 rsa & dsa 密钥。
[root@labrac1 ~]# su - oracle
[oracle@labrac1 ~]$ ssh-keygen -t rsa
[oracle@labrac1 ~]$ ssh-keygen -t dsa
- labrac2 节点生成 rsa & dsa 密钥。
[root@labrac2 ~]# su - oracle
[oracle@labrac2 ~]$ ssh-keygen -t rsa
[oracle@labrac2 ~]$ ssh-keygen -t dsa
- labrac1 节点将其公钥写入 authorized_keys 文件并拷贝到 labrac2 节点。
[oracle@labrac1 ~]$ cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
[oracle@labrac1 ~]$ scp /home/oracle/.ssh/authorized_keys oracle@labrac2:/home/oracle/.ssh/
- labrac2 节点将其公钥写入 authorized_keys 文件并拷贝回 labrac1 节点。
[oracle@labrac2 ~]$ cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
[oracle@labrac2 ~]$ scp /home/oracle/.ssh/authorized_keys oracle@labrac1:/home/oracle/.ssh/
- 验证 oracle 用户互信。
[root@labrac1 ~]# su - oracle
[oracle@labrac1 ~]$ ssh labrac1 date //需要输入“yes”,因为 known_hosts 文件中没有此记录。
[oracle@labrac1 ~]$ ssh labrac2 date //不需要输入“yes”,之前 scp 过因此 known_hosts 文件中有此记录。
[root@labrac2 ~]# su - oracle
[oracle@labrac2 ~]$ ssh labrac1 date //不需要输入“yes”。
[oracle@labrac2 ~]$ ssh labrac2 date //需要输入“yes”。
配置 grid 用户互信:
- labrac1 节点生成 rsa & dsa 密钥。
[root@labrac1 ~]# su - grid
[grid@labrac1 ~]$ ssh-keygen -t rsa
[grid@labrac1 ~]$ ssh-keygen -t dsa
- labrac2 节点生成 rsa & dsa 密钥。
[root@labrac2 ~]# su - grid
[grid@labrac2 ~]$ ssh-keygen -t rsa
[grid@labrac3 ~]$ ssh-keygen -t dsa
- labrac1 节点将其公钥写入 authorized_keys 文件并拷贝到 labrac2 节点。
[grid@labrac1 ~]$ cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
[grid@labrac1 ~]$ scp /home/grid/.ssh/authorized_keys grid@labrac2:/home/grid/.ssh/
- labrac2 节点将其公钥写入 authorized_keys 文件并拷贝回 labrac1 节点。
[grid@labrac2 ~]$ cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
[grid@labrac2 ~]$ scp /home/grid/.ssh/authorized_keys grid@labrac1:/home/grid/.ssh/
- 验证 oracle 用户互信。
[root@labrac1 ~]# su - grid
[grid@labrac1 ~]$ ssh labrac1 date //需要输入“yes”。
[grid@labrac1 ~]$ ssh labrac2 date //不需要输入“yes”。
[root@labrac2 ~]# su - grid
[grid@labrac2 ~]$ ssh labrac1 date //不需要输入“yes”。
[grid@labrac2 ~]$ ssh labrac2 date //需要输入“yes”。
9. 配置 ASM 共享磁盘
9.1. vSphere 虚拟化层配置共享磁盘
关闭两个节点,为 labrac1 节点添加一个新的 SCSI 控制器,然后添加所需硬盘;关于 SCSI 控制器的属性配置以及硬盘的属性配置,请详细查看下面所示的截图。
在 labrac1 节点配置完成后,同样为 labrac2 节点添加一个新的 SCSI 控制器,只不过在添加硬盘时我们不选择新硬盘,而是添加现有硬盘,即找到 labrac1 节点刚刚新加的那些硬盘。关于 SCSI 控制器的属性配置以及硬盘的属性配置,请详细查看下面所示的截图。
两个节点都配置完成后,开机检查硬盘的识别情况,正常两个节点识别到的硬盘应该是一模一样的。
9.2. 使用 udev 规则配置 asm 磁盘
常见的配置 asm 磁盘的方式有两种,一种是用 asmlib 工具来配置,一种是用 udev 规则来生成。关于 asmlib 的配置,可以参考我的另一篇博文《基于 vSphere 环境安装 Oracle 11g RAC 详细过程》,本文来介绍下如何使用 udev 规则来生成盘符。
两个节点都需要执行此操作:
- 创建 udev 规则。
[root@labrac1 ~]# for i in {c..h}; do echo "KERNEL==\"sd*\", ENV{DEVTYPE}==\"disk\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d %N\", RESULT==\"`/usr/lib/udev/scsi_id -g -u /dev/sd$i`\", RUN+=\"/bin/sh -c 'mknod /dev/asmdisk$i b \$major \$minor; chown grid:asmadmin /dev/asmdisk$i; chmod 0660 /dev/asmdisk$i'\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules; done
- 查看 udev 规则。
[root@labrac1 ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d %N", RESULT=="36000c29b98587c0f5880544b26d90bfe", RUN+="/bin/sh -c 'mknod /dev/asmdiskc b $major $minor; chown grid:asmadmin /dev/asmdiskc; chmod 0660 /dev/asmdiskc'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d %N", RESULT=="36000c29ad94f3bebf6fafccc61d80602", RUN+="/bin/sh -c 'mknod /dev/asmdiskd b $major $minor; chown grid:asmadmin /dev/asmdiskd; chmod 0660 /dev/asmdiskd'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d %N", RESULT=="36000c29ede6c75f6712c29510ab2f47a", RUN+="/bin/sh -c 'mknod /dev/asmdiske b $major $minor; chown grid:asmadmin /dev/asmdiske; chmod 0660 /dev/asmdiske'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d %N", RESULT=="36000c29b0fff7f909b32ec0102cb7630", RUN+="/bin/sh -c 'mknod /dev/asmdiskf b $major $minor; chown grid:asmadmin /dev/asmdiskf; chmod 0660 /dev/asmdiskf'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d %N", RESULT=="36000c2992f7ff746479049e15b0da868", RUN+="/bin/sh -c 'mknod /dev/asmdiskg b $major $minor; chown grid:asmadmin /dev/asmdiskg; chmod 0660 /dev/asmdiskg'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d %N", RESULT=="36000c290f244e524c091991abc1297a1", RUN+="/bin/sh -c 'mknod /dev/asmdiskh b $major $minor; chown grid:asmadmin /dev/asmdiskh; chmod 0660 /dev/asmdiskh'"
- 触发 udev 规则。
[root@labrac1 ~]# udevadm control -R
[root@labrac1 ~]# udevadm trigger
- 检查 asm 磁盘属性。
[root@labrac1 ~]# ls -ltr /dev/asm*
brw-rw---- 1 grid asmadmin 8, 32 Aug 24 15:02 /dev/asmdiskc
brw-rw---- 1 grid asmadmin 8, 80 Aug 24 15:02 /dev/asmdiskf
brw-rw---- 1 grid asmadmin 8, 48 Aug 24 15:02 /dev/asmdiskd
brw-rw---- 1 grid asmadmin 8, 64 Aug 24 15:02 /dev/asmdiske
brw-rw---- 1 grid asmadmin 8, 96 Aug 24 15:02 /dev/asmdiskg
brw-rw---- 1 grid asmadmin 8, 112 Aug 24 15:02 /dev/asmdiskh
10. 安装 Grid 软件
10.1. 解压 grid 安装包
以 grid 用户登录系统,将软件直接解压缩到 GRID_HOME 目录,此操作只需要在 labrac1 节点执行:
[root@labrac1 ~]# su - grid
[grid@labrac1 ~]$ unzip -d /u01/app/19.3.0/grid/ /u01/orasoft/LINUX.X64_193000_grid_home.zip
10.2. 安装 cvuqdisk 包
两个节点都需要执行此操作:
[root@labrac1 ~]# rpm -ivh /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
[root@labrac1 ~]# scp /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm root@labrac2:/u01/orasoft/
[root@labrac2 ~]# rpm -ivh /u01/orasoft/cvuqdisk-1.0.10-1.rpm
10.3. 执行 grid 软件安装
详细安装截图如下所示,所有需要进行配置的地方都已经做了特殊标记:
首先在 labrac1 节点以 root 身份执行脚本(执行速度很快):
[root@labrac1 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
然后在 labrac2 节点以 root 身份执行脚本(执行速度很快):
[root@labrac2 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
同样先在 labrac1 节点以 root 身份执行脚本(速度比较慢):
[root@labrac1 ~]# /u01/app/19.3.0/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/19.3.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/19.3.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/labrac1/crsconfig/rootcrs_labrac1_2023-08-24_04-22-40PM.log
2023/08/24 16:23:18 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2023/08/24 16:23:18 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2023/08/24 16:23:18 CLSRSC-363: User ignored prerequisites during installation
2023/08/24 16:23:18 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2023/08/24 16:23:20 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2023/08/24 16:23:21 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
2023/08/24 16:23:21 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
2023/08/24 16:23:21 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
2023/08/24 16:23:39 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
2023/08/24 16:23:43 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2023/08/24 16:23:47 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2023/08/24 16:24:00 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2023/08/24 16:24:00 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2023/08/24 16:24:05 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2023/08/24 16:24:05 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2023/08/24 16:25:17 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2023/08/24 16:27:19 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2023/08/24 16:28:15 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2023/08/24 16:28:19 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
[INFO] [DBT-30161] Disk label(s) created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-230824PM042856.log for details.
2023/08/24 16:32:44 CLSRSC-482: Running command: '/u01/app/19.3.0/grid/bin/ocrconfig -upgrade grid oinstall'
CRS-4256: Updating the profile
Successful addition of voting disk cdfbd49764644fe8bfc9a12907f5d94d.
Successful addition of voting disk fb01445d21d94f00bf490b2f0563595a.
Successful addition of voting disk a36ca609de6a4f33bf848597f5d82806.
Successfully replaced voting disk group with +OCRVOTE.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE cdfbd49764644fe8bfc9a12907f5d94d (AFD:OCRVOTE1) [OCRVOTE]
2. ONLINE fb01445d21d94f00bf490b2f0563595a (AFD:OCRVOTE2) [OCRVOTE]
3. ONLINE a36ca609de6a4f33bf848597f5d82806 (AFD:OCRVOTE3) [OCRVOTE]
Located 3 voting disk(s).
2023/08/24 16:34:24 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2023/08/24 16:35:44 CLSRSC-343: Successfully started Oracle Clusterware stack
2023/08/24 16:35:44 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2023/08/24 16:37:53 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
[INFO] [DBT-30161] Disk label(s) created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-230824PM043758.log for details.
[INFO] [DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-230824PM043758.log for details.
2023/08/24 16:40:50 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
然后在 labrac2 节点以 root 身份执行脚本(速度比较慢,
最后那两个 Error 可以忽略,继续执行
):
[root@labrac2 ~]# /u01/app/19.3.0/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/19.3.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/19.3.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/labrac2/crsconfig/rootcrs_labrac2_2023-08-24_04-41-53PM.log
2023/08/24 16:42:32 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2023/08/24 16:42:32 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2023/08/24 16:42:32 CLSRSC-363: User ignored prerequisites during installation
2023/08/24 16:42:32 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2023/08/24 16:42:34 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2023/08/24 16:42:34 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
2023/08/24 16:42:34 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
2023/08/24 16:42:35 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
2023/08/24 16:42:37 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
2023/08/24 16:42:37 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2023/08/24 16:42:47 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2023/08/24 16:42:47 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2023/08/24 16:42:49 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2023/08/24 16:42:49 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2023/08/24 16:43:00 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2023/08/24 16:43:58 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2023/08/24 16:45:57 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2023/08/24 16:46:47 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2023/08/24 16:46:48 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2023/08/24 16:47:01 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2023/08/24 16:48:11 CLSRSC-343: Successfully started Oracle Clusterware stack
2023/08/24 16:48:11 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2023/08/24 16:48:42 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2023/08/24 16:49:52 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
Error 4 opening dom ASM/Self in 0x7b50220
Domain name to open is ASM/Self
Error 4 opening dom ASM/Self in 0x7b50220
10.4. 配置剩余磁盘组
11. 安装 Oracle 软件
11.1. 解压 oracle 安装包
以 oracle 用户登录系统,将软件直接解压缩到 ORACLE_HOME 目录,此操作只需要在 labrac1 节点执行:
[root@labrac1 ~]# su - oracle
[oracle@labrac1 ~]$ unzip -d /u01/app/oracle/product/19.3.0/db_1/ /u01/orasoft/LINUX.X64_193000_db_home.zip
11.2. 执行 oracle 软件安装
详细安装截图如下所示,所有需要进行配置的地方都已经做了特殊标记:
在点击了
Fix & Check Again
后需要在两个节点上依次执行脚本,该脚本执行完以后,就会在/etc/security/limits.conf
文件中新增memlock
限制;至于其它告警和错误,可以选择Ignore
进行忽略。
[root@labrac2 ~]# /tmp/InstallActions2023-08-25_09-34-15AM/CVU_19.0.0.0.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@labrac1 ~]# /tmp/InstallActions2023-08-25_09-34-15AM/CVU_19.0.0.0.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
首先在 labrac1 节点以 root 身份执行脚本(执行速度很快):
[root@labrac1 ~]# /u01/app/oracle/product/19.3.0/db_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19.3.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
然后在 labrac2 节点以 root 身份执行脚本(执行速度很快):
[root@labrac2 ~]# /u01/app/oracle/product/19.3.0/db_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19.3.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
12. 创建数据库
详细安装截图如下所示,所有需要进行配置的地方都已经做了特殊标记:
注意事项
:如果安装进度在7%左右出现了ORA-00443
错误,大概率是因为主机分配的内存不够,此时可以考虑终止建库动作,将 CRS 集群关闭,然后关闭两台主机并添加内存,开机等待 CRS 服务正常以后,重新执行 dbca 建库;也可以通过合理分配 SGA 和 PGA 来解决这个问题(这种方式博主还没有尝试过,因为是虚拟机,所以博主选择了直接关机加内存的方式)。
13. 检查集群和数据库
13.1. 检查集群状态
[root@labrac1 ~]# su - grid
Last login: Fri Aug 25 17:16:11 CST 2023
[grid@labrac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE labrac1 STABLE
ONLINE ONLINE labrac2 STABLE
ora.MGMT.GHCHKPT.advm
OFFLINE OFFLINE labrac1 STABLE
OFFLINE OFFLINE labrac2 STABLE
ora.chad
ONLINE ONLINE labrac1 STABLE
ONLINE ONLINE labrac2 STABLE
ora.helper
OFFLINE OFFLINE labrac1 IDLE,STABLE
OFFLINE OFFLINE labrac2 IDLE,STABLE
ora.mgmt.ghchkpt.acfs
OFFLINE OFFLINE labrac1 STABLE
OFFLINE OFFLINE labrac2 STABLE
ora.net1.network
ONLINE ONLINE labrac1 STABLE
ONLINE ONLINE labrac2 STABLE
ora.ons
ONLINE ONLINE labrac1 STABLE
ONLINE ONLINE labrac2 STABLE
ora.proxy_advm
OFFLINE OFFLINE labrac1 STABLE
OFFLINE OFFLINE labrac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg(ora.asmgroup)
1 ONLINE ONLINE labrac1 STABLE
2 ONLINE ONLINE labrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE labrac1 STABLE
2 ONLINE ONLINE labrac2 STABLE
3 ONLINE OFFLINE STABLE
ora.DATADG.dg(ora.asmgroup)
1 ONLINE ONLINE labrac1 STABLE
2 ONLINE ONLINE labrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE labrac1 STABLE
ora.MGMT.dg(ora.asmgroup)
1 ONLINE ONLINE labrac1 STABLE
2 ONLINE ONLINE labrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.MGMTLSNR
1 ONLINE ONLINE labrac1 169.254.19.83 192.16
8.100.1,STABLE
ora.OCRVOTE.dg(ora.asmgroup)
1 ONLINE ONLINE labrac1 STABLE
2 ONLINE ONLINE labrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE labrac1 Started,STABLE
2 ONLINE ONLINE labrac2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE labrac1 STABLE
2 ONLINE ONLINE labrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE labrac1 STABLE
ora.labrac1.vip
1 ONLINE ONLINE labrac1 STABLE
ora.labrac2.vip
1 ONLINE ONLINE labrac2 STABLE
ora.mgmtdb
1 ONLINE ONLINE labrac1 Open,STABLE
ora.orarac.db
1 ONLINE ONLINE labrac1 Open,HOME=/u01/app/o
racle/product/19.3.0
/db_1,STABLE
2 ONLINE ONLINE labrac2 Open,HOME=/u01/app/o
racle/product/19.3.0
/db_1,STABLE
ora.qosmserver
1 ONLINE ONLINE labrac1 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE labrac1 STABLE
--------------------------------------------------------------------------------
13.2. 检查数据库状态
[oracle@labrac1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 25 12:09:27 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> select status from v$instance;
STATUS
------------
OPEN
13.3. 检查监听服务
[root@labrac1 ~]# su - grid
Last login: Fri Aug 25 17:26:02 CST 2023 on pts/0
[grid@labrac1 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 25-AUG-2023 17:26:37
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 25-AUG-2023 12:33:53
Uptime 0 days 4 hr. 52 min. 44 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/19.3.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/labrac1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.206.151)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.206.153)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_ARCHDG" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATADG" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_MGMT" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_OCRVOTE" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "03b85b99ca66b766e06398ce10ac9fbe" has 1 instance(s).
Instance "orarac1", status READY, has 1 handler(s) for this service...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).
Instance "orarac1", status READY, has 1 handler(s) for this service...
Service "orarac" has 1 instance(s).
Instance "orarac1", status READY, has 1 handler(s) for this service...
Service "oraracXDB" has 1 instance(s).
Instance "orarac1", status READY, has 1 handler(s) for this service...
Service "pdb" has 1 instance(s).
Instance "orarac1", status READY, has 1 handler(s) for this service...
The command completed successfully
13.4. 检查实例运行状态
[root@labrac1 ~]# ps -ef |grep pmon
grid 4387 1 0 12:33 ? 00:00:01 asm_pmon_+ASM1
grid 7539 1 0 12:34 ? 00:00:01 mdb_pmon_-MGMTDB
oracle 7766 1 0 12:34 ? 00:00:01 ora_pmon_orarac1
root 70416 78256 0 17:28 pts/0 00:00:00 grep --color=auto pmon
[root@labrac2 ~]# ps -ef |grep pmon
grid 13416 1 0 12:36 ? 00:00:01 asm_pmon_+ASM2
oracle 15118 1 0 12:37 ? 00:00:01 ora_pmon_orarac2
root 56632 72188 0 17:28 pts/0 00:00:00 grep --color=auto pmon
总结
以上所涉及到的 Oracle 软件安装包,大家可以通过我上传的资源 Oracle 19c RAC 获取到。