其实已经有很多的RAC添加、删除节点的文章了,这里只是讨论一下注意事项,少一点弯路,高效安全,岂不是更好,两个版本,UNIX版本和Windows版本 ,Oracle11g。
先说一下大体步骤:
背景:某RAC11g系统,其中节点因硬件或者系统故障重装了操作系统,那么需要我们重新配置一下该节点。大体步骤如下
1、 清理失败节点信息
2、 配置重装系统相关信息
3、将重装系统重新加入到RAC中
这不挺简单的吗,官方文档上都有删除、添加的操作步骤,温馨提示,这里是重新配置,跟删除再添加还是有点区别的。
好,我们先说一下Windows环境下:
温馨提示:没有,特别说明,操作均在保留节点操作
第一步,清理
看下图,关于vip信息,有的时候我们没有stop,直接remove,这里的结果可能会造成失败节点vip信息在保留节点依然存在,除了重启保留节点网卡或者操作系统,没法释放失败节点相关vip信息,这里需要注意。Windows下直接remove会有此影响,Linux的,有想法的可以试试
清除重装主机的GI和DB home的inventory信息,由于系统已重装,所有操作只能在保留节点操作
清理完inventory信息,完事了吗,不对呀,失败节点实例还未清理呢,怎么清理呢,dbca或者执行相关命令, 别闹, 其实这里不会删除失败节点实例信息,请注意,重新配置是不需要删除实例信息的,要不然操作麻烦不说,还浪费时间。
确认清理成功了吗,不确认我们就检查一下吗
第二步,重装操作系统配置
诸如防火墙、私网、公网相关配置这里省略,但列出预检查失败的两项
看下面的检查,其中节点2 两项检查失败(这里是通过的)
时间,忘了检查系统时间了
还有这两项怎么改呢
先说修改时间,Windows命令有时还很强大的
那个什么,TCP/IP介质传感状态呢? 先检查一下,看对应的哪一个
好了,注意,修改命令来啦
netsh interface ipv4 set global dhcpmediasense=disabled
netsh interface ipv6 set global dhcpmediasense=disabled
什么感知问题就解决了,另一个关于时间的呢,Win32time?
把上图中time服务手动起来就好了,实在不确定,还可以去保留节点去看看嘛
第三步,终于来了,来,装吧
命令执行完成,等等,怎么让按Enter退出呢,集群中怎么不显示相关资源呢,那么是你忘了执行root.sh脚本了,root.sh? Windows 下哪有?
没有啊, 那么咱就换个命令呗,这里需要在重装节点上执行
D:\app\11.2.0\grid\crs\config>gridconfig.bat
稍等一会,待该命令执行完成,再集群中检查,好,出来了
下面加入db
D:\app\Administrator\product\11.2.0\dbhome_1\oui\bin\addNode.bat -silent "CLUSTER_NEW_NODES={xxxx-02}"
完成后呢,集群中有这个节点下的实例信息啊,数据库中也有,那怎么办,直接启动呗
srvctl start instance -d xxxdb -i xxxdb2
随着这个命令的执行,重装节点数据库目录下会生成相关实例的目录和文件,启动速度不错,经过测试,俺觉得删除再添加的速度远远落后于此方式,你如果非要那么干,也行。
执行删除过程中需要sys密码,我去,不知道怎么办,想办法啊……
如上图,记录原始密码,暂时修改密码,执行完相关操作后再改回去。简单吧
这样就算完成了,来个后续检查……
#执行 集群服务设置 的后期检查
cluvfy stage -post crsinst -n all
###unix系统呢,其他吧步骤跟Windows类似,(系统环境配置建议照搬保留节点,如果想优化、整改,先加上再说呗)个别脚本不同,有方法了还怕这个? 好了,Linux下你就自己试试呗
其实好多文章都提到过,这里多说一句,Linux注意一点,有时候预安装检查并不能完全通过,想ntp我们就给mv掉了,那怎么办呢,没事,办法总比问题多,下面语句就可以让你安心继续后续步骤, 当然,你也不能忽略所有失败的检查,网络、存储等失败你忽略了,那也没法继续后续工作了。真正到了安装、添加也就简单了,主要是前期准备。 忽略错误命令如下:
export IGNORE_PREADDNODE_CHECKS=Y