Oracle RAC某一节点异常,你该怎么办?

时间:2023-02-22 15:09:27


需求

如果某一天平稳运行的Oracle RAC突然其中一个节点异常,例如:

  • 可能人为误删软件;

  • 软件目录权限改成777;

  • 服务器彻底损坏;

总之很多种情况,此时我们不得不重新安装节点。

「那么这个时候该怎么办呢?文章搜藏起来,某一天可以救命 ????」

操作

一、删除节点

本次操作是模拟删除一节点。

1、查看集群当前结构结构

grid用户执行

$olsnodes -s -t

2、进行节点删除

root用户执行

#cd /oracle/crs/crs/install 
#./rootcrs.sh -deconfig -force

/oracle/crs 是我的 grid目录,你的可能不同是/u01/app/oracle/19.0.0/grid等

注意:如果你是11g的环境,其实在这一步deconfig以后,可以直接运行root.sh脚本,直接重新配置集群,以前经常用这种方式修复目录权限被修改的情况,从好的节点tar个home的包,然后直接解压,执行root.sh。不过在11g以后的12c、18c、19c等环境该方法都不再可用,需要使用delete node、add node的方式修复

3、删除Grid Infrastructure home

要删除节点执行,本次是一节点,这条命令会删除$GRID_HOME下的所有东西(grid用户执行)

$ $ORACLE_HOME/deinstall/deinstall -local

4、手动清理一节点crs目录

root用户执行

#cd /oracle/crs 
#rm -rf *

5、在二节点上执行清除集群信息

root用户执行

#/oracle/crs/bin/crsctl delete node -n node1
#/oracle/crs/bin/olsnodes -s -t

6、二节点检查信息是否清除,要确保一节点所有crs信息已经被清除,包括vip

grid用户执行

$cluvfy stage -post nodedel -n node1 -verbose
$crsctl status res -t
$srvctl remove vip -n node1

至此,清除节点步骤已经完成,接下来需要添加节点

二、添加节点

如果可以启动图形化,优先使用图形化模式安装。

1、在无法启动图形化的情况下使用静默安装

如果可以启动图形化,直接图形化安装即可(优先使用)

$ cd $ORACLE_HOME/addnode
$./addnode.sh

无图形化可以使用静默方式

$ cd $ORACLE_HOME/addnode
$./addnode.sh -silent -ignoreSysPrereqs -ignorePrereqFailure "CLUSTER_NEW_NODES={NOD1}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={NODE1-priv}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={NODE1-vip}"

2、不管是图形化安装还是静默安装,都需要执行root脚本

orainstRoot.sh和root.sh,按照提示执行即可

3、执行完成后检查crs状态是否恢

grid用户执行

$crsctl status res -t

4、集群状态恢复正常后,即可拉起数据库

oracle用户执行

$srvctl start database -d dbname -n node1

可能有疑问为什么我的db home没有delete再add。是因为通常我们集群环境比较容易损坏的是crs集群目录,如果仅是损坏了crs目录,那么db home是不需要删除再添加的,但是你的db home如果损坏了,也可以使用相应的delete、addnode方式添加回来。