基于 vSphere 环境安装 Oracle19c RAC 详细过程

news2024/10/7 0:26:56

文章目录

  • 前言
  • 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. 安装环境说明

DescriptionValue
vSphere Version7.0U2
OS VersionRed Hat Enterprise Linux Server release 7.9 (Maipo)
Kernel Version3.10.0-1160.el7.x86_64
Oracle Version19.3.0.0.0
GI PackageLINUX.X64_193000_grid_home.zip
DB PackageLINUX.X64_193000_db_home.zip

2. 配置规划说明

2.1. 网络规划

Cluster Instance Name:orarac
Scan IP:172.16.206.150

NetworkDeviceNode1Node2
Public IPens192172.16.206.151172.16.206.152
Virtual IPens192172.16.206.153172.16.206.154
Private IPens224192.168.100.1192.168.100.2

2.2. 目录规划

DirectoryPath
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 IdentifierDisk SizeDiskgroupDisk Configuration
sda80GBSystem Partition非共享盘,精简置备
sdb80GBSoftware Installation非共享盘,精简置备
sdc15GBOCRVOTE共享磁盘,独立持久,厚置备
sdd15GBOCRVOTE共享磁盘,独立持久,厚置备
sde15GBOCRVOTE共享磁盘,独立持久,厚置备
sdf50GBMGMT共享磁盘,独立持久,厚置备
sdg100GBDATADG共享磁盘,独立持久,厚置备
sdh150GBARCHDG共享磁盘,独立持久,厚置备

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 获取到。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/939568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据分析作业四-基于用户及物品数据进行内容推荐

## 导入支持库 import pandas as pd import matplotlib.pyplot as plt import sklearn.metrics as metrics import numpy as np from sklearn.neighbors import NearestNeighbors from scipy.spatial.distance import correlation from sklearn.metrics.pairwise import pairwi…

【Python|第40期】Python操作MongoDB

日期&#xff1a;2023年8月28日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…

一步一步实验,讲解python中模块和包的使用

背景 为什么要提出这个问题&#xff1f; 在一个项目中&#xff0c;每一个python文件打开后&#xff0c;都会看到依赖了其他的一些包、模块等&#xff1b;概念混乱&#xff0c;魔改目标不清晰 为什么要修改&#xff1f; 如果需要将某开源包进行自定义处理&#xff0c;不再使…

AI智慧,书香飘溢|在图书馆的世界,知识与未来交汇!

“如果有天堂&#xff0c;天堂应该是图书馆的模样。”阿根廷国家图书馆前馆长、著名作家博尔赫斯如此形容图书馆。人类文明的演进与传承&#xff0c;倚仗于知识的积累&#xff0c;而知识的载体往往绕不开书籍&#xff0c;其集散地——图书馆&#xff0c;更是在这一过程扮演着极…

【精算研究01/10】 计量经济学的性质和范围

一、说明 计量经济学是使用统计方法来发展理论或测试经济学或金融学中的现有假设。计量经济学依赖于回归模型和零假设检验等技术。计量经济学也可以用来预测未来的经济或金融趋势。 图片来源&#xff1a;https://marketbusinessnews.com 二、 计量经济之简介 计量经济学是对经济…

javacv基础02-调用本机摄像头并预览摄像头图像画面视频

引入架包&#xff1a; <dependency><groupId>org.openpnp</groupId><artifactId>opencv</artifactId><version>4.5.5-1</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId…

【校招VIP】算法考点之堆排

考点介绍&#xff1a; 排序算法属于数据结构和算法的基础内容&#xff0c;并且也是大厂笔试中的高频考点。 堆排序是使用一棵树存储序列这个课树只保证跟节点是这棵树中的最小值&#xff0c;但并不保证其他节点是按顺序的。因此他的排序是每次从堆中取得堆顶&#xff0c;取得 n…

Qt Scroll Area控件设置,解决无法显示全部内容,且无法滚动显示问题。

前言&#xff0c;因为要显示很多条目的内容&#xff0c;原来是用Vertical Layout控件里面嵌套Horizontal layout显示了很多行控件&#xff0c;发现最简单的方法就是使用滚动条控件&#xff0c;但是无论如何调整需要滚动的控件高度&#xff0c;始终无法滚动显示内容。也就是说添…

5. 线性层及其他层

5.1 神经网络结构 5.2 线性拉平 import torch import torchvision from torch import nn from torch.nn import ReLU from torch.nn import Sigmoid from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterdataset torchvision.datase…

ant-vue1.78版监听a-modal遮罩层的滚动事件

监听a-modal遮罩层的滚动事件 我们开发过程中经常有遇到监听页面滚动的事件需求&#xff0c;去做一些下拉加载或者是下拉分页的需求&#xff0c;我们直接在vue的生命周期中去绑定事件监听非常的方便&#xff0c;但如果是弹框的遮罩层的滚动监听呢&#xff1f;页面的监听完全是…

Stone Prover:StarkWare的STARK Prover

1. 引言 StarkWare将基于Apache 2.0 license&#xff0c;开源其以C编写的STARK Prover&#xff0c;名为Stone&#xff08;STARK one&#xff09;。 其基本流程为&#xff1a; 1&#xff09;编写Cairo0程序。2&#xff09;使用Cairo工具 将Cairo0程序编译为CASM。3&#xff…

数据结构:八种数据结构大全

数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式&#xff1b;通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能&#xff1b;常用的数据结构有&#xff1a;数组&#xff08;Array&#xff…

K8S Nginx Ingress实现金丝雀发布

通过给 Ingress 资源指定 Nginx Ingress 所支持的 annotation 可实现金丝雀发布。 需给服务创建2个 Ingress&#xff0c;其中1个常规 Ingress&#xff0c;另1个为带 nginx.ingress.kubernetes.io/canary: "true" 固定的 annotation 的 Ingress&#xff0c;称为 Cana…

浅谈Lua协程和函数的尾调用

前言 虽然不经常用到协程&#xff0c;但是也不能谈虎色变。同时&#xff0c;在有些场景&#xff0c;协程会起到一种不可比拟的作用。所以&#xff0c;了解它&#xff0c;对于一些功能&#xff0c;也会有独特的思路和想法。 协程 概念 关于进程和线程的概念就不多说。 那么…

这所985专业课均分130!复试笔试很难!淘汰率很高!

一、学校及专业介绍 东南大学坐落于六朝古都南京&#xff0c;是享誉海内外的著名高等学府。学校是国家教育部直属并与江苏省共建的全国重点大学&#xff0c;是国家“双一流”、“985工程”、“211工程”重点建设高校。2017年&#xff0c;东南大学入选世界一流大学建设名单。 …

字符集(Latin1,GBK,utf8,utf8mb4)

Latin1 1个字符占一个字节GBK 1个字符占两个字节utf8utfmb3 1个字节占三个字节utf8mb4 1个字符占四个字节

OLED透明屏高清:什么是OLED透明屏?未来显示技术的巅峰之作

在现代科技快速发展的时代&#xff0c;高清显示已经成为人们对于视觉体验的基本要求。 而OLED透明屏作为一种先进的显示技术&#xff0c;以其出色的高清显示效果和透明度&#xff0c;正逐渐成为未来显示技术的巅峰之作。 一、什么是OLED透明屏 OLED透明屏采用有机发光二极管技…

Zabbix下载安装及SNMP Get使用

帮助文档&#xff1a;6. Zabbix Appliance 一、zabbix下载安装 1、获取Zabbix Appliance镜像 Download Zabbix appliance 2、使用该镜像创建虚拟机 3、打开虚拟机控制台自动安装&#xff0c;等待安装完成即可 默认配置 系统/数据库&#xff1a;root:zabbix Zabbix 前端&am…

javacv基础01-HelloWorld

JavaCV是一个针对Java编程语言的开源计算机视觉和机器学习库。它为各种流行的计算机视觉和图像处理库&#xff08;如OpenCV、FFmpeg等&#xff09;提供了Java包装&#xff0c;使Java开发人员能够在其Java应用程序中访问这些库的功能&#xff0c;无需编写本地代码。 JavaCV提供…

SpringBoot Mybatis 多数据源 MySQL+Oracle

一、背景 在SpringBoot Mybatis 项目中&#xff0c;需要连接 多个数据源&#xff0c;连接多个数据库&#xff0c;需要连接一个MySQL数据库和一个Oracle数据库 二、依赖 pom.xml <dependencies><dependency><groupId>org.springframework.boot</groupId&…