Oracle database 11g RAC:正常情况下的节点移除

By | 2014年9月2日

在RAC的运维过程中,涉及到节点移除的操作通常是基于以下两种场景的:
1. 可预料的服务器更换
2 不可预料的节点故障,如:某个节点的软件故障或数据丢失。需要将节点从集群中踢出,以便重新部署或执行其他的策略。

本文描述在正常情况下的RAC节点移除操作(可预料的)
本文的技术呈现,基于已经装好的Oracle Database 11g RAC三节点环境。

该环境的当前运行状态如下:

如上所示,在我的环境中,该RAC具有三个节点。
在本文中,我会将其中的节点三(即:ra3)移除RAC。

————————————————————————————————-
1. Un-pin 节点三。
该操作需要以root身份登入需要保留的各个节点中的任意一个操作即可。
这里选择节点二操作。

检查节点状态:

如果节点三(rac3)的状态不是“unpinned”,需要作出修改:
Command is:/u01/app/11.2.0/grid/bin/crsctl unpin css -n rac3
Eg:
[root@rac2 ~]# /u01/app/11.2.0/grid/bin/crsctl unpin css -n rac3
CRS-4667: Node rac3 successfully unpinned.
[root@rac2 ~]#

2. 删除节点三上运行的数据库实例
在本环境中,节点三上运行的数据库实例为:ceph3

删除实例的操作在保留节点中的任意一个上操作即可(这里用节点二操作)
以oracle登录系统,通过DBCA操作。
方式一:
DBCA图形界面。

dbca_instance_1

dbca_instance_2

dbca_instance_3

dbca_instance_4

dbca_instance_5
如上截图所示,选择需要删除的服务名,填入sys与口令,下一步,即可。
dbca_instance_6
然后,选择需要删除的实例名,下一步,便开始执行删除了。

方式二:DBCA命令行

删除成功后,确认数据库实例的状态:
SQL*Plus:

Srvctl:

关注其中“Database instances”。

3. 停止节点三的监听
(在节点三上操作。)
当前集群件的状态:

监听器状态:

禁用监听器:

停掉监听器:

4. 更新集群列表
在节点三上操作。
使用oracle操作系统用户执行。

5. 删除节点三的数据库软件
在节点三上操作。

6. 停止节点三的集群件资源:NodeApps
在保留节点中的任意一个节点上操作即可,这里,在节点二上操作。
先在节点三上查看当前的集群件的运行状态:

节点二上执行停止节点三NodeApps的操作:

停止后的集群件状态:

7. 更新集群列表
在RAC的保留节点中的每一个上执行。
以oracle操作系统身份执行。
节点一:

节点二:

8. 节点三,CRS:deconfig,清空CRS。
节点三操作。

删除成功后的状态:

正常的情况下,所有与节点三有关的集群件资源都应该被删除了。
但仍然有可能出现如下意外:节点三的VIP资源无法通过上面的操作删除干净。
这时候,需要手动删除:

具体的相关资源名字,可以通过“crs_stat -v”查看到,该命令的反馈信息上文有所展示。

9. 将节点三从CRS中删除
在RAC的保留节点中的任意一个上操作即可,这里选择节点二。
以root操作系统用户操作。

10. 更新集群列表
在节点三上,以grid操作系统用户登录操作。

11. 节点三,删除集群件软件
节点三上,以grid操作系统用户执行。

执行deinstall:

在上面的LOG中,“Run the following command as the root user or the administrator on node “rac3”.”阶段会需要再打开一个终端,连入节点三,执行脚本反馈的命令。
它的细节如下:

上面两个脚本执行成功后,需要在节点三上删除三个文件:
Run ‘rm -rf /etc/oraInst.loc’ as root on node(s) ‘rac3’ at the end of the session.
Run ‘rm -rf /opt/ORCLfmap’ as root on node(s) ‘rac3’ at the end of the session.
Run ‘rm -rf /etc/oratab’ as root on node(s) ‘rac3’ at the end of the session.

Log:

12. 更新集群列表
在RAC的所有保留节点上,以grid操作系统用户执行。
节点一:

节点二:

13. 确认节点三被成功移出RAC
集群中保留节点任意一个上操作即可。
CRSCTL:

SQL*Plus:

14. 终了。
至此,Oracle database 11g RAC正常移除节点的操作就完成了。
——————————————————————————————————————
Ending。

打赏

说点什么

avatar
  Subscribe  
提醒