删除节点:
1.查看将要删除的节点是被pin住,如果pin住需要,unpin节点
$ olsnodes -n -t -s
unpin需要root权限
crsctl unpin css -n rac2
2.删除实例
通过dbca 实例管理进行删除
查看
select thread#,status,instance from v$thread;
注:此过程可能报错,因为在节点2上已经重装系统,在DBCA删除实例时无法找到节点2上的相应文件。只要保证 在数据库中查不到racdb2的实例即可
查看库的配置:
# srvctl config database -d orcl
1.1
在racdb1节点上停止删除节点NodeApps$ srvctl stop nodeapps -n racdb2 -f
3.更新集群列表
su – oracle
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={racdb1}”
4.删除节点的VIP
# crs_stat -t
如果仍然有racdb2节点的VIP服务存在,执行如下:
[root@racdb1 ~]# srvctl stop vip -i ora.racdb2.vip -f
[root@racdb1 ~]# srvctl remove vip -i ora.racdb2.vip -f
[root@racdb1 ~]# crsctl delete resource ora.racdb2.vip -f
5.在任一保留的节点上删除节点(如果集群没有停掉,先要停掉,如果是删除死掉的节点就集群肯定是停掉的)
[root@racdb1 ~]# crsctl delete node -n racdb2
[root@racdb1 ~]# olsnodes -t -s
6.保留节点使用grid用户更新集群列表
在所有保留的节点上执行:
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={racdb1}” CRS=true
7.验证racdb2节点被删除
在任一保留的节点上:
$ cluvfy stage -post nodedel -n racdb2
$ crsctl status resource -t
8.验证racdb2节点被删除
查看活动的实例:
$ sqlplus / as sysdba
SQL> select thread#,status,instance from v$thread;
如果RAC2没有异常直接加入进来,可以直接执行如下:
1.保留节点使用grid用户更新集群列表
在所有保留的节点上执行:
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={racdb1}” CRS=true
2.更新集群列表
su – oracle
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={racdb1}”
3.启动RAC2的集群服务
4.启动rac2 nodeapps服务
srvctl start nodeapps -n racdb2
5.增加RAC2的 VIP服务
srvctl add vip -n racdb2 -A racdb2-vip/255.255.0.0 -k 1
6.添加实例
srvctl add instance -d hwdb -i racdb2 -n racdb2
在原来的节点上为新节点指定instance_number
alter system set instance_number=2 sid='racdb2' scope=spfile;
使能实例
#srvctl start instance -d racdb -i racdb3
可能需要增加日志文件,才能启动:
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 4 ('+DATA') SIZE 256M;
alter database enable intance 'hwdb2';
查看活动的实例:
$ sqlplus / as sysdba
SQL> select thread#,status,instance from v$thread;
参考链接:http://blog.csdn.net/notbaron/article/details/51835438