一、背景
| 数据库架构 | Oracle RAC (2节点) |
| 数据库版本 | 19c |
| 故障原因 | 节点1本地磁盘损坏 |
二、删除过程
备份OCR
su - root
cd u01/app/grid_home/bin
./ocrconfig -showbackup
./ocrconfig -manualbackup
./ocrdump tmp/ocrdump_ocr.bak移除损坏节点数据库实例
存活节点执行:
SQL > alter database disable thread 2;
su - oracle
dbca -silent -deleteInstance -nodeList node1 -gdbName testdb -instanceName testdb2 -sysDBAUserName sys -sysDBAPassword oracle确认实例是否被删除
su - grid
srvctl config db -d testdb禁用损坏节点监听
su - grid
srvctl disable listener -l listener -n node1
srvctl stop listener -l listener -n node1
srvctl status listener -l listener -n node1存活节点更新inventory
su - oracle
cd u01/app/oracle/product/19.3.0/db_1/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1 "CLUSTER_NODES= node2"查看节点的状态是否为Unpinned
su - grid
olsnodes -s -t
如果不是Unpinned,则在存活节点上以root用户执行以下命令将其unpin
crsctl unpin css -n node1grid层面删除损坏节点
存活节点上执行:
su - root
cd u01/app/grid_home/bin
./crsctl delete node -n node1存活节点更新inventory
su - grid
cd u01/app/grid_home/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=/u01/app/grid_home "CLUSTER_NODES=node2" CRS=TRUE -silent执行删除后检查
su - grid
cluvfy stage -post nodedel -n node1 -verbose删除损坏节点vip
su - grid
srvctl stop vip -vip node1-vip
su - root
cd /u01/app/grid_home/bin
srvctl remove vip -vip node1-vip
三、重新添加节点
修复损坏节点本地硬盘后配置数据库安装环境(存活节点需清理grid和oracle用户.ssh目录下knowhosts文件中涉及到损坏节点的条目信息,否则会导致新添加节点时ssh互信失败)
grid集群添加新节点,通过gridsetup图形化添加新节点
rac添加新节点,通过addnode.sh图形化添加新节点
数据库添加新实例,通过dbca图形化添加新节点实例




