-
1.oracle执行,在node1执行dbca静默删除instance2,更新node1的产品信息,清理node2的信息,仅保留node1自身信息
-
2.grid执行,在node1上stop node2-vip,删除node2-vip信息,更新node1的产品信息,清理node2的信息,仅保留node1自身信息
-
3.root执行,在node1上检查node2的crs是否被锁定(pin),一般都没有,有的话执行解锁(unpin)操作,{BANNED}最佳后在集群中将node2删除
-
4.root执行,在node1上使用cluvfy工具检查node2是否满足部署条件
-
5.由于客户环境的node2是软件目录丢失而不是正常被卸载,故需要清理/etc、/opt、/var/tmp、/usr/local/bin下的相关文件(否则执行添加addnode操作会报错“软件已存在”)
-
6.grid执行,在node1上以静默方式执行addnode.sh,addnode.sh操作结束后在node2上检查文件是否已经拷贝,确认无误后执行root.sh(和正常部署GI时一样)
-
7.oracle执行,在node1上以静默方式执行addnode.sh,addnode.sh操作结束后在node2上检查文件是否已经拷贝,确认无误后执行root.sh(和正常部署db时一样)
-
8.oracle执行,在node1上执行dbca静默添加instance2,此操作在node2上执行会报错DBT-05513(连接出错,需要提供正确的sysdba用户或密码),推测原因为此步操作时以本地连接访问数据库,由于node2上无数据库实例所以报错
- 9.执行完上述操作,node2就已经被正常添加回来
-
通过集群增删节点的方式将节点2踢出再添加回来
-
-
ORACLE 19.9 RAC
-
-
## node2
-
## 创建目录结构,root
-
mkdir -p /u01/app/19.3.0/grid
-
chown -R grid:oinstall /u01/app/19.3.0/grid
-
chmod -R 775 /u01/app/19.3.0/grid
-
mkdir -p /u01/app/grid
-
chown -R grid:oinstall /u01/app/grid
-
chmod -R 775 /u01/app/grid
-
mkdir -p /u01/app/oraInventory
-
chown -R grid:oinstall /u01/app/oraInventory
-
chmod -R 775 /u01/app/oraInventory
-
mkdir -p /u01/app/oracle/product/19.3.0/db_1
-
chown -R oracle:oinstall /u01/app/oracle
-
chmod -R 775 /u01/app/oracle
-
-
ls -ltr /u01/app
-
ls -ltr /u01/app/19.3.0
-
-
-
-
## node1 dbca静默删除instance2
-
-
su - oracle
-
-
srvctl config database -d orcl
-
-
dbca -silent -deleteInstance -gdbName orcl -instanceName orcl2 -sysDBAUserName sys -sysDBAPassword Welcome12#
-
-
srvctl config database -d orcl
-
-
## 更新node1的产品信息,清理node2的信息,仅保留node1自身信息
-
cd $ORACLE_HOME/oui/bin/
-
-
./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={dbserver1}"
-
-
## root 停止 node2-vip,删除node2-vip信息
-
-
cat /etc/hosts #查看vip名字
-
/u01/app/19.3.0/grid/bin/srvctl stop vip -i dbserver2-vip -f
-
/u01/app/19.3.0/grid/bin/srvctl remove vip -i dbserver2-vip
-
-
## root 更新node1的产品信息,清理node2的信息,仅保留node1自身信息
-
/u01/app/19.3.0/grid/bin/olsnodes -s -t
-
/u01/app/19.3.0/grid/bin/crsctl delete node -n dbserver2
-
-
su - grid
-
-
## 检查node2环境是否满足添加节点的条件
-
cluvfy comp peer -n dbserver2
-
cluvfy stage -pre nodeadd -n dbserver2 -fixup -verbose
-
-
-
## 在正常节点上更新grid的inventory,只保留正常的节点
-
cd $ORACLE_HOME/oui/bin
-
./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={dbserver1}" CRS=TRUE -silent
-
-
## 在正常节点grid层面执行添加节点脚本(30分钟)
-
export IGNORE_PREADDNODE_CHECKS=Y
-
-
cd $ORACLE_HOME/addnode
-
-
nohup ./addnode.sh -silent -ignoreSysPrereqs -ignorePrereqFailure "CLUSTER_NEW_NODES={dbserver2}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={dbserver2-priv}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={dbserver2-vip}" &
-
-
## node2
-
## 查看软件目录有正常复制过来
-
su - grid
-
cd $ORACLE_HOME
-
ls -ltr
-
-
## root执行脚本
-
/u01/app/oraInventory/orainstRoot.sh
-
/u01/app/19.3.0/grid/root.sh
-
-
-
## node1
-
su - oracle
-
-
## 在正常节点更新oracle的inventory,只保留正常的节点
-
cd $ORACLE_HOME/oui/bin
-
./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={dbserver1}"
-
-
## 在正常节点oracle层面执行添加节点脚本
-
export IGNORE_PREADDNODE_CHECKS=Y
-
cd $ORACLE_HOME/addnode
-
nohup ./addnode.sh -silent -ignorePrereqFailure -ignoreSysPrereqs "CLUSTER_NEW_NODES={dbserver2}" &
-
-
-
## node2
-
## 查看软件目录有正常复制过来
-
su - oracle
-
cd $ORACLE_HOME
-
ls -ltr
-
-
## 在node2执行root.sh脚本
-
## root执行脚本
-
/u01/app/oracle/product/19.3.0/db_1/root.sh
-
-
-
## node1
-
## oracle
-
dbca -ignorePreReqs -ignorePrereqFailure -silent -addInstance -nodeName dbserver2 -gdbName orcl -instanceName orcl2 -sysDBAUserName sys -sysDBAPassword Welcome12#
-
-
srvctl modify service -d orcl -s orclrim -modifyconfig -preferred "orcl1,orcl2"
-
srvctl start service -d orcl -s orclrim -instance orcl2
-
-
su - grid
- crsctl stat res -t