银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC

麒麟软件有限公司

Oracle19c-19.3.0.0 RAC 安装

|------|------------------|----|------------|
| 文档编号 | Ky-jx-2022-03-14 | 日期 | 2022-03-14 |

Advanced Server V10 (SP1)

|------|------|------|------------------|
| 文档等级 | 内部文件 | 操作系统 | Build20/20210518 |

x86_64

|-------|----------------|
| ■版权声明 | ©2022 麒麟软件 |

■版权声明

本文档所涉及到的文字、图表等,仅限于麒麟软件有限公司及被呈送方内部使用,未经麒麟软件有限公司

书面许可,请勿扩散到第三方。

注:麒麟的内核是CenterOS 7-8

■版本变更记录

|------------|-----|----|-----|
| 时间 | 版本 | 说明 | 参与人 |
| 2022/03/14 | 1.0 | 创建 | 熊佳 |

■适用性声明

本文档用于银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC。

麒麟软件有限公司

目录

Oracle19c-19.3.0.0 RAC 安装.......................................................................................................... 1

  1. 说明..................................................................................................................................................... 1

  2. 软件下载............................................................................................................................................. 2

  3. 准备工作............................................................................................................................................. 2

3.1. 机器规划................................................................................................................................. 2

3.2. 配置 IP 等相关服务(两节点都需要配置)........................................................................3

3.2.1. 配置主机名.............................................................................................................. 3

3.2.2. 配置 IP......................................................................................................................4

3.2.3. 开启 SSH 服务........................................................................................................ 4

3.2.4. 添加 IP 信息.............................................................................................................4

3.2.5. 关闭时间服务.......................................................................................................... 5

3.2.6. 关闭防火墙.............................................................................................................. 5

3.2.7. 关闭 SELINUX........................................................................................................ 6

3.3. 检查所需安装包(两节点都需要)..................................................................................... 6

3.4. 修改参数(两节点都需要修改)............................................................................................... 6

3.4.1. 修改/etc/sysctl.conf 配置文件........................................................................... 6

3.4.2. 修改/etc/security/limits.conf 配置文件.......................................................... 7

3.4.3. 修改/etc/pam.d/login 配置文件.........................................................................8

3.4.4. 修改/etc/profile 配置文件:................................................................................8

3.4.5. 配置 NOZEROCONF.............................................................................................8

3.4.6. 添加用户及组.......................................................................................................... 8

麒麟软件有限公司

3.4.7. 创建需要的目录...................................................................................................... 9

3.4.8. 配置 oracle 用户的环境变量................................................................................ 9

3.4.9. 配置 grid 用户的环境变量..................................................................................10

3.5. 设置 ssh 信任关系................................................................................................................11

3.5.1. 设置 rsa 和 dsa 加密...........................................................................................11

3.5.2. 编辑 authorized_keys 文件............................................................................. 12

3.5.3. 在 rac2 中也进行【3.6.1 设置 rsa 和 dsa 加密】操作.................................12

3.5.4. 传输 authorized_keys 文件............................................................................. 12

3.5.5. 在 rac2 中也进行【3.6.2.编辑 authorized_keys 文件】操作...................12

3.5.6. 传输 authorized_keys 文件............................................................................. 12

3.5.7. 查看 authorized_keys 文件............................................................................. 13

3.5.8. 测试信赖关系........................................................................................................13

3.6. 创建、配置共享存储(udev)........................................................................................... 14

  1. 软件安装(只在 rac1 上安装)....................................................................................................17

4.1. 安装介质解压.......................................................................................................................17

4.1.1. 解压 grid...............................................................................................................17

4.1.2. 解压 Oracle..........................................................................................................18

4.1.3. 修改 cvu_config..................................................................................................18

4.2. 安装 GI..................................................................................................................................18

4.2.1. 安装 cvuqdisk..................................................................................................... 18

4.2.2. 安装过程需要的包................................................................................................19

4.2.3. 运行安装脚本 gridSetup.sh..............................................................................20

麒麟软件有限公司

4.2.4. 验证集群................................................................................................................34

4.3. ASM 配置............................................................................................................................... 35

1、 高度冗余(high redundancy):.......................................................................36

2、 默认冗余(normal redundancy):..................................................................36

3、 外部冗余(external redundancy):............................................................... 36

4.4. 安装 ORACLE.......................................................................................................................36

4.5. 创建数据库...........................................................................................................................43

  1. 验证及使用.......................................................................................................................................51

5.1. 验证集群、数据库...............................................................................................................51

5.1.1. 验证集群是否正常................................................................................................51

5.1.2. 检查集群运行状态................................................................................................51

5.1.3. 查看 PDB...............................................................................................................52

5.1.4. 查看监听状态........................................................................................................52

5.1.5. 查看节点的应用程序............................................................................................53

5.1.6. 查看 ASM 状态..................................................................................................... 54

5.2. 数据库的关闭与启动...........................................................................................................54

5.2.1. 关闭数据库............................................................................................................54

5.2.2. 开启数据库............................................................................................................54

5.3. 数据库使用...........................................................................................................................54

  1. 相关报错及处理方法.......................................................................................................................56

6.1. 运行./gridSetup.sh 或者安装 Oracle 报错 requires X display 弹不出窗口.........................56

6.2. 报错 PRVG-0282..................................................................................................................57

麒麟软件有限公司

6.3. 报错 INS-06003 INS-06006.................................................................................................58

6.4. 报错 CRS-1705.....................................................................................................................59

麒麟软件有限公司

Oracle19c-19.3.0.0 RAC 安装

1. 说明

RAC 集群是由若干物理机组成,每个物理机为一个节点,节点之间通过公 共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网 络的功能是提供用户的访问。

在每个节点上分别运行一个 Oracle 数据库实例和一个监听器。

这些实例通过 CRS(CRS 通过一系列的进程和服务来保证集群的运行,提 供高可用性)的协助,共同操作一个数据库,是一个典型的"多实例,单数据库"架构,数据库被所有节点共享、并行访问。共享存储是 RAC 架构的核心。数据 库的数据文件、控制文件、参数文件、重做日志文件等等都要放到共享存储上,各节点可以对这些文件进行并行访问。如果其中某个节点发生故障,RAC 能够 将连接自动切换到另外一个节点上,无单点故障问题,从而实现应用的无缝切换。

监听器分别监听一个 IP 地址上的用户请求,这个地址称为 VIP(Virtual IP)。用户可以向任何一个 VIP 所在的数据库服务器发出请求,通过任何一个数据库实 例访问数据库。Clusterware 负责监视每个节点的状态,如果发现某个节点出 现故障,便把这个节点上的数据库实例和它所对应的 VIP 以及其他资源切换到另 外一个节点上,这样可以保证用户仍然可通过这个 VIP 访问数据库。

麒麟软件有限公司

2. 软件下载

https://www.oracle.com/database/technologies/oracle19c-linux-d

++++ownloads.html++++

LINUX.X64_193000_db_home.zip 数据库文件

LINUX.X64_193000_grid_home.zip grid 文件

软件包只需传至节点 1 机器。

注:

OCR:oracle集群注册表:存储集群配置,包含所有RAC集群节点的信息。

Voting文件:表决文件:集群出现脑裂时,决定哪个节点获得控制盘。

3. 准备工作

3.1. 机器规划

麒麟软件有限公司

以两节点 RAC 为例,两台虚机参考配置内存 8G、CPU 4 核、用于存储数 据的磁盘 100G,至少 2 个网卡,且网卡名称一致,两张网卡配置 IP 分别为 Public IP 地址、Private IP 地址,VIP 地址、SCAN IP 地址不需要配置在网卡上。

两台虚机分别作为 RAC 节点 1、节点 2,参考 IP 规划如下:

|-------------------|-----------------|-----------------|
| 主机名 | rac1 | rac2 |
| Public IP 地址 | 10.66.62.177 | 10.66.62.180 |
| VIP 地址 | 10.66.62.181 | 10.66.62.183 |
| Private IP 地址 | 200.200.200.201 | 200.200.200.202 |
| SCAN IP 地址 | 10.66.62.176 ||

Public IP 地址为集群成员节点的主地址,真实 IP;
VIP 地址供客户端访问使用,在其节点机器发生故障的时候会自动漂移到另 外正常的节点机器上;
PrivateIP 地址供集群节点内互连访问,用于心跳同步;
SCAN IP 地址相当于集群主机虚拟 IP,是客户端访问数据库时的公共域名; SCAN IP、VIP 和 Public IP 必须属于同一子网,Private IP 属于另一子网。

注:安装前快照虚机,避免安装出现问题无法还原干净环境。

注:

在麒麟虚拟机上增加心跳地址:

  1. 在物理机上给以太网口插网线,配IP地址:200.200.200.200,子网掩码:255.255.255.0
  2. 在VMware->编辑->虚拟网络编辑器->添加网络->VMnet2->桥接模式、已桥接至:Intel(R) I350千兆网络连接
  3. 在麒麟虚拟机中->开始->控制面板->网络连接->(左下)添加一个新的连接->以太网->新建->连接名称:ens36、设备:ens36->IPv4设置->方法:手动->添加->地址:200.200.200.201、子网掩码:255.255.255.0->保存
  4. ping 200.200.200.200
  5. 在第二台虚拟机上同样操作,配置IP地址200.200.200.202

3.2. 配置 IP 等相关服务(两节点都需要配置)3.2.1.配置主机名
在/etc/hostname 中修改,重启生效。

rac1 rac1
rac2 rac2

注:修改主机名:

vim /etc/hostname

A机:rac1

B机:rac2

生效:

systemctl restart NetworkManager

麒麟软件有限公司

3.2.2.配置 IP

添加网络适配器,为桥接模式,即节点为双网卡。

注:两边网卡名称必须一致,例如ens3 ens9
rac1:
ens3 为 public ip :10.10.16.172

ens9 为 private ip :10.0.17.172
rac2:
ens3 为 public ip :10.10.16.173

ens9 为 private ip :10.0.17.173

3.2.3.开启 SSH 服务

|--------------------------|
| vim /etc/ssh/sshd_config |

修改
PermitRootLogin yes //默认
PasswordAuthentication yes

|----------------------------------|
| systemctl restart sshd 重启 ssh 服务 |

3.2.4.添加 IP 信息

在/etc/hosts 中添加(节点 1、节点 2 配置同):

|-----------------|------|---|-----------|
| 10.66.62.177 | rac1 | rac1 ||
| 200.200.200.201 | rac1-priv || rac1-priv |

|-------------------------------------------------------------|----------|---|-----------|----------|
| | | rac2 || 麒麟软件有限公司 |
| 10.66.62.180 | rac2 | rac2 || |
| 200.200.200.202 |-------------------| | 200.200.200.20223 | | rac2-priv || rac2-priv | |
| 10.66.62.181 | rac1-vip | rac1-vip || |
| 10.66.62.182 |------------| | 10.10.16.2 | | rac2-vip | rac2-vip || |
| 10.66.62.176 |------------| | 10.10.16.3 | | rac-scan | rac-scan || |

注:publicvipscanip 要在同一网端,vipscanip 为未被占用的ip 即可,publicprivate 必须在不同子网段。

3.2.5.关闭时间服务

|-----------------------------------------------------------------------------------------|
| systemctl stop ntpd //默认 systemctl disable ntpd //默认 mv /etc/ntp.conf /etc/ntp.conf_bak |

关闭 chronyd,移除 chrony 配置文件,否则校验 NTP 失败。

|-------------------------------------------------------------------------------------------|
| systemctl stop chronyd systemctl disable chronyd mv /etc/chrony.conf /etc/chrony.conf.bak |

注:chronyd:优化的时间同步服务。

3.2.6.关闭防火墙

|------------------------------------------------------|
| systemctl stop firewalld systemctl disable firewalld |

|------------------------------------------------------------|----------|
| | 麒麟软件有限公司 |

|----------------------------|
| systemctl status firewalld |

3.2.7.关闭 SELINUX

注:安全增强型LINUX:对系统进行安全检查。

|-------------------------|
| vim /etc/selinux/config |

修改成 SELINUX=disabled

3.3. 检查所需安装包(两节点都需要)

创建YUM源:

  1. 加载麒麟安装光盘到/media

mount /dev/sr0 /media

  1. 配置YUM源:

cd /etc/yum.repos.d

mv kylin_x86_64.repo kylin_x86_64.repo20231226

vim /etc/yum.repos.d/media.repo

media

name=media

baseurl=file:///media

gpgcheck=0

enable=1

  1. 创建YUM源:

cd /var/ftp

mkdir yum

cd yum

cp -rf /media/Packages .

cd Packages

createrepo --database .

  1. 查看YUM源:

yum list

yum grouplist

需要确认下列包(在安装 Oracle 时会详细提示缺少哪个包的)已安装。

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| yum install binutils gcc gcc-c++ glibc glibc-devel glibc32 ksh libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC unixODBC-devel zlib-devel elfutils-libelf elfutils-libelf-devel glibc-headers glibc-common kernel-headers libgcc libgomp libstdc++ numactl-devel sysstat libXau libdmx xorg-x11-utils xorg-x11-xauth libXv libXt libXmu libXxf86misc libXxf86dga libXxf86vm nfs-utils smartmontools libnsl2-devel libnsl --y |

注:分开装,例如:yum install --y gcc

glibc32见E:\Softwares\oracle\LINUX.X64_193000_db_home\rpm\ glibc32-2.28-42.1.ky10.x86_64.rpm

rpm --ivh glibc32-2.28-42.1.ky10.x86_64.rpm --nodeps --force

nodeps:不检查依赖关系

force:强制安装

需要手动下载 com

pat-libstdc++-33 的 rpm 进行安装

|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm |

麒麟软件有限公司

3.4. 修改参数(两节点都需要修改)

3.4.1.修改/etc/sysctl.conf 配置文件

|----------------------|
| vim /etc/sysctl.conf |

添加如下:

##============Oracle19c===============

fs.file-max = 6815744 //系统能打开的最大文件数
kernel.sem = 250 32000 100 128 //最大信号量
kernel.shmmni = 4096 //最大共享内存
kernel.shmall = 1073741824 //最大共享内存的段数
kernel.shmmax = 4398046511104 //共享内存的最大值
kernel.panic_on_oops = 1 //在oops执行结束前,是否执行panic
net.core.rmem_default = 262144 //内核套接字读缓存区的默认大小
net.core.rmem_max = 4194304 //内核套接字读缓存区的最大值
net.core.wmem_default = 262144 //内核套接字写缓存区的默认大小
net.core.wmem_max = 1048576 //内核套接字写缓存区的最大值
net.ipv4.conf.all.rp_filter = 2 //要求反向路由必须可达,否则丢弃数据包

net.ipv4.conf.default.rp_filter = 2 //同上一条
fs.aio-max-nr = 1048576 //同时拥有异步I/O请求的数目
net.ipv4.ip_local_port_range = 9000 65500 //一个IP可用的端口范围

然后执行:

|------------|
| sysctl --p |

3.4.2.修改/etc/security/limits.conf 配置文件

|-------------------------------|
| vim /etc/security/limits.conf |

添加如下:

##============Oracle19c===============

oracle soft nproc 2047 //单用户可用的最大连接数(超出则警告)

麒麟软件有限公司

oracle hard nproc 16384 //单用户可用的最大连接数(超出则报错)

oracle soft nofile 1024 //可打开文件的最大数(超出则警告)
oracle hard nofile 65536 //可打开文件的最大数(超出则报错)

oracle soft stack 10240 //用户进程的堆栈大小(超出则警告、以K为单位)

oracle hard stack 32768 //用户进程的堆栈大小(超出则报错、以K为单位)

oracle soft memlock 3145728 //用户可以锁定其地址空间的内存量(超出则警告、以K为单位)
oracle hard memlock 3145728//用户可以锁定其地址空间的内存量(超出则报错、以K为单位)
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536

|-------------------|------|-------|-------|
| Grid | soft | stack | 10240 |
| |------| | Grid | | hard | stack | 32768 |

3.4.3.修改/etc/pam.d/login 配置文件

|----------------------|
| vim /etc/pam.d/login |

添加如下:

##============Oracle19c===============

session required pam_limits.so

3.4.4.修改/etc/profile 配置文件:

|------------------|
| vim /etc/profile |

添加如下:

##============Oracle19c=============== if [ USER = "oracle" \] \|\| \[ USER = "grid" ]; then

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

|-----------------|
| ulimit -p 16384 |

|-----------------|
| ulimit -n 65536 |

|------|
| else |

|--------------------------|
| ulimit -u 16384 -n 65536 |

|----|
| fi |

|----|
| fi |

注:

p:管道缓冲区

n:每个进程可打开的文件数

u:最大用户进程数

3.4.5.配置 NOZEROCONF

|----------------------------|
| vim /etc/sysconfig/network |

麒麟软件有限公司

添加 NOZEROCONF=yes

3.4.6.添加用户及组

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| groupadd -g 11001 oinstall groupadd -g 11002 dba groupadd -g 11003 oper groupadd -g 11004 backupdba groupadd -g 11005 dgdba groupadd -g 11006 kmdba groupadd -g 11007 asmdba groupadd -g 11008 asmoper groupadd -g 11009 asmadmin groupadd -g 11010 racdba useradd -u 11021 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle useradd -u 11022 -g oinstall -G asmadmin,asmdba,asmoper,dba grid passwd grid passwd oracle |

3.4.7.创建需要的目录

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| mkdir -p /u01/app/19.3.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.3.0/db_1 chown -R grid:oinstall /u01/app/grid chown -R grid:oinstall /u01/app/19.3.0/grid |

|------------------------------------------------------------|----------|
| | 麒麟软件有限公司 |

|--------------------------------------------------------------------------------|
| chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/ chmod 777 /u01/app |

3.4.8.配置 oracle 用户的环境变量

在~oracle/.bash_profile 配置文件中添加:

##============Oracle19c===============

|------------------------------------|
| ORACLE_SID=orcl1;export ORACLE_SID |

ORACLE_UNQNAME=cndba;export ORACLE_UNQNAME JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

|-----------------------------------------------|--------|
| ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1; | export |

ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM

|-----------------------------------------|--------|
| NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; | export |

NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG

|---------------------------------------|--------|
| TNS_ADMIN=$ORACLE_HOME/network/admin; | export |

TNS_ADMIN
ORA_NLS11=ORACLE_HOME/nls/data; export ORA_NLS11 PATH=.:{JAVA_HOME}/bin:{PATH}:HOME/bin:ORACLE_HOM E/bin:ORA_CRS_HOME/bin
PATH={PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export PATH LD_LIBRARY_PATH=ORACLE_HOME/lib
LD_LIBRARY_PATH={LD_LIBRARY_PATH}:ORACLE_HOME/orac m/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/li

|---|
| b |

export LD_LIBRARY_PATH
CLASSPATH=ORACLE_HOME/JRE CLASSPATH={CLASSPATH}:ORACLE_HOME/jlib CLASSPATH={CLASSPATH}:ORACLE_HOME/rdbms/jlib CLASSPATH={CLASSPATH}:$ORACLE_HOME/network/jlib export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

麒麟软件有限公司

注:节点2 ORACLE_SID=orcl2,该实例名应与后续数据库安装中的实例名一致

|-------------------------------|
| source ~oracle/.bash_profile |

3.4.9.配置 grid 用户的环境变量

在~grid/.bash_profile 配置文件中添加:

##============Oracle19c=============== PATH=PATH:HOME/bin

|-------------------------|
| export ORACLE_SID=+ASM1 |

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export PATH=ORACLE_HOME/bin:PATH:/usr/local/bin/:.

export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022
export PATH
注:节点2 ORACLE_SID=+ASM2

|-----------------------------|
| source ~grid/.bash_profile |

|----------|-------------|
| 3.5. | 设置 ssh 信任关系 |

注:用户gridoracle 都需要进行此操作,以下以grid 用户为例。

3.5.1.设置 rsa 和 dsa 加密

注:"Enter passphrase :" 不要输入密码 ,直接enter 。 否则安装GI 时无法通

SSH Cconnectivity 测试。

|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| 注:做完密码验证后ssh、scp不需要密码。 [root@rac1 ~]# su - grid [grid@rac1 ~] ssh-keygen -t rsa //生成对称加密的密钥 \[grid@rac1 \~\] ssh-keygen -t dsa //生成非对称加密的密钥 |
| |

|-----------------------------------------------------------------------------------------------------------------------|----------|
| | 麒麟软件有限公司 |

3.5.2.编辑 authorized_keys 文件
把 rsa 和 dsa 加密都放置到 authorized_keys 文件中:

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [grid@rac1 ~] cd \~ \[grid@rac1 \~\] cat .ssh/id_rsa.pub >> .ssh/authorized_keys //对称加密的密钥 [grid@rac1 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys //非对称加密的密钥 |

3.5.3.在 rac2 中也进行【3.6.1 设置 rsa 和 dsa 加密】操作

|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [root@rac2 ~]# su - grid [grid@rac2 ~] ssh-keygen -t rsa \[grid@rac2 \~\] ssh-keygen -t dsa |

3.5.4.传输 authorized_keys 文件
把 rac1 的 authorized_keys 拷贝到 rac2 中:

|-----------------------------------------------------------------------------------------------------|
| [grid@rac1 ~] cd \~/.ssh/ \[grid@rac1 .ssh\] scp authorized_keys 10.10.16.173:/home/grid/.ssh/ |

麒麟软件有限公司

3.5.5.在 rac2 中也进行【3.6.2.编辑 authorized_keys 文件】操作

|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| [grid@rac2 ~] cd \~ \[grid@rac2 \~\] cat .ssh/id_rsa.pub >> .ssh/authorized_keys [grid@rac2 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys |

3.5.6.传输 authorized_keys 文件

把 rac2 的 authorized_keys 拷贝到 rac1 中:

|-----------------------------------------------------------------------------------------------------|
| [grid@rac2 ~] cd \~/.ssh/ \[grid@rac2 .ssh\] scp authorized_keys 10.10.16.172:/home/grid/.ssh/ |

3.5.7.查看 authorized_keys 文件

查看一下 rac1 和 rac2 的 authorized_keys 文件,确认 rac1 与 rac2 内

容一致。

3.5.8.测试信赖关系

rac1 和 rac2 分别测试,可以正常返回日期即可:

|--------------------------------------------------------------------------------------------------|
| [grid@rac1~]ssh rac1 date \[grid@rac1\~\]ssh rac2 date [grid@rac1 ~]$ ssh rac1-priv date |

|------------------------------------------------------------|----------|
| | 麒麟软件有限公司 |

|--------------------------------------------------------------|
| [grid@rac1 ~]$ ssh rac2-priv date 注:不能正常执行,则ifconfig查看地址。 |

|----------|-----------------|
| 3.6. | 创建、配置共享存储(udev) |

实现共享存储有多种方式,VM 虚修改 vmk 文件使用 udev 或者使用 ISCSI

等方式实现,kvm 虚机可以创建 raw 格式的磁盘使用 udev 进行共享。

需要 OCR 表决磁盘组以及 ASM 数据文件存储磁盘组,可以根据需要选择

不同的冗余模式,创建不同数量的磁盘。

注:redundancy---冗余三种模式,high、normal、external 分别代表高、正常、外部。

一般各模式需要的磁盘数量为: high:最少 5 块;normal:最少 3 块;external:最少 1 块。

1、 高度冗余(high redundancy):
表示 Oracle 提供 3 份镜像来保护数据(镜像数据两次),以提高性能和数据的安全,所创建的磁盘组 空间大小是所有磁盘设备大小之和的 1/3,虽然冗余级别高了,但是硬件的代价也最高。

2、 默认冗余(normal redundancy):

麒麟软件有限公司 表示 Oracle 提供 2 份镜像来保护数据(镜像数据一次),所创建的磁盘组空间大小是所有磁盘设备大 小之和的 1/2 (虽然网上说使用最多,但是这要看实际生产设备存储情况来判断)。

3、 外部冗余(external redundancy):
表示 Oracle 没有做磁盘冗余,所创建的磁盘组空间大小是所有选择的所有磁盘的大小之和。虽然磁 盘利用充分,但是磁盘出错后无法恢复数据,只能依赖外部存储系统实现,比如通过 RAID 技术。

本处 OCR 盘采用 normal 冗余,数据文件盘采用 external 冗余,故需要3 块 20G 且没有挂载的 SATA 可共享磁盘作为 OCR,1 块 50G 且没有挂载的SATA 可共享磁盘作为数据文件存储。

在VMvare虚拟机上添加共享存储20240110:

1.第一台虚拟机->编辑虚拟机设置->添加->硬盘->下一步->SCSI(S)->下一步->创建新虚拟磁盘->下一步->最大磁盘大小:20G、勾选立即分配所有硬盘空间、将虚拟磁盘存储为单个文件->确定磁盘文件名->确定

2.选中新添加的硬盘->高级->虚拟设备结点:SCISI 1:1开始往下用、勾选独立-永久->确定

3.第二台虚拟机->编辑虚拟机设置->添加->硬盘->下一步->SCSI(S)->下一步->使用现有虚拟磁盘->下一步->打开步骤1创建的虚拟磁盘->确定

4.选中新添加的硬盘->高级->虚拟设备结点:SCISI 1:1开始往下用、勾选独立-永久->确定

5.打开两个虚拟机的安装目录,在vmx文件最后添加(scsi1指定总线为1的所有盘):

disk.locking="FALSE"

scsi1.SharedBus="Virtual"

scsi1.shared="TRUE"

在麒麟虚拟机上为oracle19c RAC建立裸设备:

查看硬盘

root@ora19cRAC1 \~\]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 199G 0 part ├─klas-root 253:0 0 147.4G 0 lvm / ├─klas-swap 253:1 0 1.6G 0 lvm \[SWAP

└─klas-backup 253:2 0 50G 0 lvm

sdb 8:16 0 20G 0 disk

sdc 8:32 0 20G 0 disk

sdd 8:48 0 20G 0 disk

sde 8:64 0 200G 0 disk

sr0 11:0 1 4G 0 rom

看硬盘的UUID:

root@ora19cRAC1 \~\]# udevadm info -q all -n /dev/sdb\|grep 'S: disk/by-id/scsi' S: disk/by-id/scsi-36000c2907a14b426ac2307aa536889dd \[root@ora19cRAC1 \~\]# udevadm info -q all -n /dev/sdc\|grep 'S: disk/by-id/scsi' S: disk/by-id/scsi-36000c29f880b9b5a8899a81cce6d79ad \[root@ora19cRAC1 \~\]# udevadm info -q all -n /dev/sdd\|grep 'S: disk/by-id/scsi' S: disk/by-id/scsi-36000c298debf5520a0d21556fa1457aa \[root@ora19cRAC1 \~\]# udevadm info -q all -n /dev/sde\|grep 'S: disk/by-id/scsi' S: disk/by-id/scsi-36000c29c459d3efdc77f5616058037c8 新建规则文件: vim /etc/udev/rules.d/99-oracle-asmdevices.rules 添加: KERNEL=="sd\*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2907a14b426ac2307aa536889dd", RUN+="/bin/sh -c 'mknod /dev/asm-ocr1 b $major $minor; chown grid:asmadmin /dev/asm-ocr1; chmod 0660 /dev/asm-ocr1'" KERNEL=="sd\*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29f880b9b5a8899a81cce6d79ad", RUN+="/bin/sh -c 'mknod /dev/asm-ocr2 b $major $minor; chown grid:asmadmin /dev/asm-ocr2; chmod 0660 /dev/asm-ocr2'" KERNEL=="sd\*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c298debf5520a0d21556fa1457aa", RUN+="/bin/sh -c 'mknod /dev/asm-ocr3 b $major $minor; chown grid:asmadmin /dev/asm-ocr3; chmod 0660 /dev/asm-ocr3'" KERNEL=="sd\*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29c459d3efdc77f5616058037c8", RUN+="/bin/sh -c 'mknod /dev/asm-ocr4 b $major $minor; chown grid:asmadmin /dev/asm-ocr4; chmod 0660 /dev/asm-ocr4'" udevadm control --reload-rules udevadm trigger --type=devices --action=change 注:udev命令建立裸设备并改磁盘属组(磁盘属组必须是asmadmin,否则oracle19c RAC无法安装)。 查看asm设备: \[root@ora19cRAC1 \~\]# ll /dev/asm\* brw-rw---- 1 grid asmadmin 8, 16 1月 9 19:14 /dev/asm-ocr1 brw-rw---- 1 grid asmadmin 8, 32 1月 9 19:14 /dev/asm-ocr2 brw-rw---- 1 grid asmadmin 8, 48 1月 9 19:14 /dev/asm-ocr3 brw-rw---- 1 grid asmadmin 8, 64 1月 9 19:14 /dev/asm-ocr4 **4.** 软件安装(只在**rac1** 上安装) **4.1.** 安装介质解压 从 Oracle 12cR2 开 始 , 软 件 直 接 解 压 缩 到 GRID_HOME 或 者 ORACLE_HOME,而不是在安装时脚本复制过去。 该操作只需要在 rac1 上完 成解压缩即可。 4.1.1.解压 grid ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 用 grid 用户来解压缩 GI 注:B机不需要解压缩,且此目录必须为空。 |--------------------------------------------------| | \[grid@rac1 u01\]$ unzip -d /u01/app/19.3.0/grid | | LINUX.X64_193000_grid_home.zip | 4.1.2.解压 Oracle 与 grid 操作相同,用 oracle 用户解压缩到 ORACLE_HOME |---------------------------------------------------------------------------| | unzip -d /u01/app/oracle/product/19.3.0/db_1 LINUX.X64_193000_db_home.zip | ![](https://img-home.csdnimg.cn/images/20230724024159.png) 4.1.3.修改 cvu_config grid 安装目录/u01/app/19.3.0/grid 下,编辑 cv/admin/cvu_config,添加一行 CV_ASSUME_DISTID=KYV10,否则安装会报错 PRVG-0282。 Oracle 用户同。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) **4.2.** 安装 GI 4.2.1.安装 cvuqdisk /cvu:集群检测安装工具 cvuqdisk 存于 GI 解压目录下的 cv/rpm 目录下: |------------------------------------------------------------|----------| | ![](https://img-home.csdnimg.cn/images/20230724024159.png) | 麒麟软件有限公司 | |---------------------------------------------------------------| | cd /u01/app/19.3.0/grid/cv/rpm rpm -ivh cvuqdisk-1.0.10-1.rpm | ![](https://img-home.csdnimg.cn/images/20230724024159.png) cvuqdisk 传至 rac2,两个节点都需安装。 4.2.2.安装过程需要的包 4.2.2.1. /usr/bin/ld: 找不到 -lclntshcore 缺少 libclntshcore,在 Oracle 软件解压目录下拷至 grid 目录即可。 |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | cp /u01/app/oracle/product/19.3.0/db_1/lib/libclntshcore.so.19.1 /u01/app/19.3.0/grid/lib/ chown -R grid:oinstall /u01/app/19.3.0/grid/lib/libclntshcore.so.19.1 cp /u01/app/19.3.0/grid/lib/libclntshcore.so.19.1 /usr/lib64/ | scp 至节点 2 的/usr/lib64/。 4.2.2.2. /usr/bin/ld: 找不到 /usr/lib64/libpthread_nonshared.a 安装了 glibc32 后,拷至/usr/lib64/。 |--------------------------------------------------------------------------------------------------------------------------------| | find / -name libpthread_nonshared.a cp /usr/lib/libpthread_nonshared.a /usr/lib64/ chmod 777 /usr/lib64/libpthread_nonshared.a | ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 节点 2 操作同。 4.2.3.运行安装脚本 gridSetup.sh 在 rac1 窗口,root 用户下执行。 |---------| | xhost + | 返回信息为 access control disabled,clients can connect from any host。 在10.66.62.178上运行Xmanager-Passive。 切换到 gird 用户。 |------------------------------------------------------| | su - grid export DISPLAY=:0 cd /u01/app/19.3.0/grid/ | 在双机上先打6个rpm包:E:\\Softwares\\oracle\\LINUX.X64_193000_db_home\\rpm   再:yum install libnsl 安装前检查环境。 /同先决条件检查。 |------------------------------------------------------------------------------------------------------------------------------------------------------------| | \[grid@rac1 grid\]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2-fixup -verbose \[grid@rac1 grid\]$ ./runcluvfy.sh stage -post hwos -n rac1,rac2-verbose | 遇到问题或者报错进行相应的排查,无问题则执行 GI 安装脚本。 处理scp文件(需要两台机器都做): rpm --q openssh //查看openssh的版本号 su cd /usr/bin mv scp scp .orig vi scp 写入: /usr/bin/scp.orig --T $\* chmod 555 scp 安装完成后再改回来。 出现swap交换空间不足的处理: 使用dd命令创建一个swap分区(双机都做): 1. dd if=/dev/zero of=/home/swap bs=1024 count=17400000 dd:指定大小的块拷贝文件,并在拷贝的同时进行指定的转换。 /dev/zero:空输入设备,用于初始化文件。 bs:一块的字节数 count:输入的块数(17.4G) 2.格式化创建的分区: mkswap /home/swap mkswap:设置交换区 3.把分区设置为swap分区: swapon /home/swap swapon:启用交换分区 4.查看swap分区: free --m 5.修改/etc/fstab文件,自动挂载swap分区: vim /etc/fstab 增加: /home/swap swap swap default 0 0 6.修改运行时配置文件: echo "swapon /home/wap" \>\> /etc/inittab |---------------------------------------------------------------------| | cd vi .bash_profile 增加: export LC_ALL=C  //否则安装界面有乱码 ./gridSetup.sh | ![](https://img-home.csdnimg.cn/images/20230724024159.png) 弹出窗口,进行安装,点击下一步。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) SCAN 名称与/etc/hosts 文件中配置一致。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 点击添加,添加缺少的节点。 //同/etc/hosts文件 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 添加完节点后,点击 ssh 连接,远程链接各节点,输入 grid 的密码,点击 测试。 如果测试不通过,根据报错进行排查,检查 ssh 互信;测试通过则下一步。 注意,若手动 ssh 互信能通过,但是窗口安装测试不通过,例如 INS-06003 INS-06006,考虑是 OpenSSH 8.0 增加了客户端检查导致两个节点没能正确传输文件。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 修改磁盘组名称为 OCR,点击更改搜索路径,修改成/dev/asm\*,点击确 定,勾选 3-5 块大小相同的 ASM 磁盘用作 OCR,本例中勾选 c d e 三块盘。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 注:上面两个目录必须为空,也不能有隐藏文件。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 等待先决条件检查,根据检查问题进行相应的处理和修复,swap 空间、DNS 问题可以忽略,如果是正产环境,建议认真对待,勾选全部忽略点击下一步确定。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 交换空间的处理参考oracle 19c单实例的安装。下一步,等待安装,如果过程遇到报错,查看具体日志,进行相应的解决,直到弹出执行配置脚本。 按照提示先 root 用户在节点 1 上执行提示的两个脚本,再在节点 2 上执行。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) |------------------------------------------------------------|----------| | ![](https://img-home.csdnimg.cn/images/20230724024159.png) | 麒麟软件有限公司 | |--------------------------------------| | /u01/app/oraInventory/orainstRoot.sh | ![](https://img-home.csdnimg.cn/images/20230724024159.png) |---------------------------------| | /u01/app/19.3.0/grid/root.sh 回车 | 节点 2 运行。 如果节点 2 运行 root.sh 有报错 Relinking rac_on failed 就退出了,检查 |---|---|---|---|---|-------------|---|---|---|---|-----------------------| | 节 | 点 | 2 | 是 | 否 | /usr/lib64/ | 下 | 缺 | 少 | 了 | libclntshcore.so.19.1 | libpthread_nonshared.a,拷完再执行 root.sh 脚本。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 如果节点 2 运行 root.sh 有报错文件权限问题,根据提示修改完权限再执 行 root.sh 脚本。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 参考配置: |----------------------------------------------------------------------------| | chown -R grid:oinstall /u01/app/grid/ chown -R root:root /u01/app/grid/tfa | 如果节点 2 有 CRS-1705 报错,多半是共享磁盘问题,检查共享磁盘配置。 直 到 节 点 2 上 出 现 " Configure Oracle Grid Infrastructure for a Cluster ... succeeded ",即为在两个节点上都执行完脚本,安装窗口点击确 定,继续等待。 出现错误 INS-20802,若 ping rac-scan 能 ping 通,此报错可忽略,点 击确认后,点击跳过,下一步。所有的INS-20802错误都可以忽略。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 GI 安装成功。 4.2.4.验证集群 grid 用户下验证集群是否正常: |---------------------| | crsctl stat res --t | 停grid: su cd /u01/app/19.3.0/grid/bin crsctl stop crs //两台机器分别做 查看监听: srvctl status listener ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 **4.3.** ASM 配置 节点1有一块用于存储的可共享的 raw格式磁盘,进行用于配置 ASM 共 享存储用于安装数据库实例,asmca 创建磁盘组(grid 用户下进行操作),创建 DATA 磁盘组用于存储数据文件。 |-------| | asmca | 选择 ASM 实例,查看是否是 2 个实例,且状态是启动。 点击磁盘组,右键选择新建,创建用于存放数据库实例相关的文件(如控制文件,参数文件,表空间数据文件)的磁盘组,在弹出框中修改磁盘簇名称,以及选择磁盘冗余度,本次选择是 Extenal,选择磁盘 f,点击确认。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 PS:一般存储规划时将归档文件另外再创建磁盘组额外存放,热备文件也是如此。 等待创建成功。 **4.4.** 安装 ORACLE 与 grid 操作相同,切换到 Oracle 用户执行安装脚本。 oracle用户做ssh互信。oracle用户的.bash_profile中加入: export LC_ALL=C |-------------------------------------------------------------------------------------| | su - oracle export DISPLAY=:0 cd /u01/app/oracle/product/19.3.0/db_1 ./runInstaller | ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 建议选择仅设置软件,方便后续如果有错误进行排查。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 点击 ssh 连接,输入 Oracle 用户密码,点击测试,测试通过下一步。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 等待先决条件检查,根据检查问题进行相应的处理和修复,swap 空间以及 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 DNS 问题可忽略,勾选全部忽略,点击下一步确定。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 等待安装,遇到问题查看日志进行相应的解决,直到弹出执行配置脚本。 按照提示先 root 用户在节点 1 上执行提示的脚本,再在节点 2 上执行。 |------------------------------------------------| | /u01/app/oracle/product/19.3.0/db_1/root.sh 回车 | 再在节点 2 执行。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 回到窗口点击确定。 安装完成。 ASMCMD命令20240125 (取自10.66.62.177虚拟机) \[root@rac1 \~\]# su - grid \[grid@rac1 \~\]$ asmcmd 列出所有命令: ASMCMD\>help 列出所有磁盘组机器属性: ASMCMD\> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 204800 192372 0 192372 0 N DATA/ MOUNTED NORMAL N 512 512 4096 4194304 61440 60524 20480 20022 0 Y OCR/ 显示ASM文件占用的所有磁盘空间: ASMCMD\> du Used_MB Mirror_used_MB 12510 12692 **4.5.** 创建数据库 窗口用 oracle 用户执行 dbca 命令,创建实例。 |------------------------------------------------------------|----------| | ![](https://img-home.csdnimg.cn/images/20230724024159.png) | 麒麟软件有限公司 | |------| | dbca | ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 连接模式里,数据库默认的最大连接数是2560。 oracle的内存为物理内存的40%-60%。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 先决条件检查 swap 空间与 DNS 问题可以忽略,下一步。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 等待安装完成。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 **5.** 验证及使用 **5.1.** 验证集群、数据库 5.1.1.验证集群是否正常 |--------------------| | crsctl stat res -t | ![](https://img-home.csdnimg.cn/images/20230724024159.png) 5.1.2.检查集群运行状态 |----------------------| | crsctl check cluster | ![](https://img-home.csdnimg.cn/images/20230724024159.png) 查看集群监听:srvctl status listener ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 5.1.3.查看 PDB Oracle 用户下登录数据库,查看 pdb。 |--------------------------------------| | sqlplus / as sysdba SQL\> show pdbs; | 5.1.4.查看监听状态 Oracle 用户下查看监听状态。 |----------------| | lsnrctl status | ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 5.1.5.查看节点的应用程序 |------------------------| | srvctl status nodeapps | |------------------------| | srvctl config nodeapps | ONS(Oracle Notification Service):用于集群通信。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 5.1.6.查看 ASM 状态 |----------------------------------------| | srvctl status asm srvctl config asm -a | |----------|-----------| | **5.2.** | 数据库的关闭与启动 | 5.2.1.关闭数据库 |------------------------------------------------------------------| | \[oracle@rac1 \~\]$ sqlplus / as sysdba SQL\>shutdown immediate; | 5.2.2.开启数据库 |-------------------------------------------------------| | \[oracle@rac1 \~\]$ sqlplus / as sysdba SQL\>startup; | |----------|-------| | **5.3.** | 数据库使用 | 查看数据库当前连接: |----------------| | show con_name; | 查看 PDB 列表: ![](https://img-home.csdnimg.cn/images/20230724024159.png) |------------------------------------------------------------|----------| | ![](https://img-home.csdnimg.cn/images/20230724024159.png) | 麒麟软件有限公司 | |------------| | show pdbs; | ![](https://img-home.csdnimg.cn/images/20230724024159.png) 容器切换至 pdb: |----------------------------------| | alter session set container=pdb; | 节点 1 PDB 下创建表: |-------------------------------------------------------------------------------------------------------------| | create table ky_1 (no int,name varchar2(10)); insert into ky_1 values(1,'aaa'); commit; select \*from ky_1; | ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 节点 2 进行验证: 改回去scp **6.** 相关报错及处理方法 **6.1.** 运行./gridSetup.sh 或者安装 Oracle 报错 requires X display 弹不 出窗口 \[grid@rac1 grid\]$ ./gridSetup.sh |--------|--------|----|--------|-----|-----------|---------|--------|------| | ERROR: | Unable | to | verify | the | graphical | display | setup. | This | application requires X display. Make sure that xdpyinfo exist under PATH variable. |-------------------------------------|-------|-------|---------|--------| | /u01/app/19.3.0/grid/perl/bin/perl: | error | while | loading | shared | libraries: libnsl.so.1: cannot open shared object file: No such file or directory ![](https://img-home.csdnimg.cn/images/20230724024159.png) 解决办法: root 用户下启动 vncserver: ![](https://img-home.csdnimg.cn/images/20230724024159.png) |------------------------------------------------------------|----------| | ![](https://img-home.csdnimg.cn/images/20230724024159.png) | 麒麟软件有限公司 | |-----------| | vncserver | 根据 vnc 的端口 5901: |------------------------------------| | export DISPLAY=localhost:1 xhost + | 如果 xhost +报错 unable to open display 再: |---------------------------| | export DISPLAY=:0 xhost + | 返回信息为 access control disabled,clients can connect from any host 才算可以。 然后回到 gird 用户或者 Oracle 用户下,export DISPLAY=:0,再运行安 装脚本,即可弹出窗口。 **6.2.** 报错 PRVG-0282 安装前检查报错 PRVG-0282 : failed to retrieve the operating system distribution ID 例 如 grid 安 装 目 录 下 , 编 辑 cv/admin/cvu_config , 添 加 一 行 CV_ASSUME_DISTID=KYV10。 Oracle 同。 ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 ![](https://img-home.csdnimg.cn/images/20230724024159.png) **6.3.** 报错 INS-06003 INS-06006 若 ssh 互信手动验证没问题,考虑是 ssh 版本与 19c 不兼容的可能性,ssh-V 查看当前版本,OpenSSH 8.0 增加了客户端检查导致拒绝文件传输, 将 OpenSSH 回退至 7,或者禁用这些客户端检查,以下为禁用客户端检查的方法。 参考 https://blog.csdn.net/oradbm/article/details/106024895 两个节点通过 root 用户,将原来的 scp 命令改名: |-----------------------------------| | mv /usr/bin/scp /usr/bin/scp.orig | 创建一个新的文件 /usr/bin/scp : |------------------| | vim /usr/bin/scp | 在 /usr/bin/scp 中添加: |--------------------------| | /usr/bin/scp.orig -T $\* | 修改文件的权限: |------------------------| | chmod 555 /usr/bin/scp | 安装窗口点击测试,测试通过,继续安装。在安装结束后改回原来的 scp。 |-----------------------------------| | mv /usr/bin/scp.orig /usr/bin/scp | ![](https://img-home.csdnimg.cn/images/20230724024159.png) ![](https://img-home.csdnimg.cn/images/20230724024159.png) 麒麟软件有限公司 **6.4.** 报错 CRS-1705 若出现报错 CRS-1705: 找到 0 个已配置的表决文件, 但需要 1 个表决 文件, 正在终止以确保数据完整性; 详细信息见 (:CSSNM00065:) (位于 /u01/app/grid/diag/crs/rac2/crs/trace/ocssd.trc) CRS-2883: 在集群件堆栈启动期间, 资源 'ora.cssd' 失败。 CRS-4406: Oracle 高可用性服务同步启动失败。 CRS-41053: 正在检查 Oracle Grid Infrastructure 是否存在文件权限 问题 CRS-4000: 命令 Start 失败, 或已完成但出现错误。 |------------|----------|-------------|--------|----|-------|--------| | 2022/03/11 | 17:30:49 | CLSRSC-117: | Failed | to | start | Oracle | Clusterware stack Died at /u01/app/19.3.0/grid/crs/install/crsinstall.pm line 1970. 检查共享磁盘配置是否正确。

相关推荐
Elastic 中国社区官方博客18 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
编程爱好者熊浪19 小时前
两次连接池泄露的BUG
java·数据库
TDengine (老段)21 小时前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
qq74223498421 小时前
Python操作数据库之pyodbc
开发语言·数据库·python
姚远Oracle ACE1 天前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
Dxy12393102161 天前
MySQL的SUBSTRING函数详解与应用
数据库·mysql
码力引擎1 天前
【零基础学MySQL】第十二章:DCL详解
数据库·mysql·1024程序员节
杨云龙UP1 天前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
l1t1 天前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb
安当加密1 天前
Nacos配置安全治理:把数据库密码从YAML里请出去
数据库·安全