ITPub博客

首页 > 数据库 > Oracle > ORACLE RAC环境下删除节点

ORACLE RAC环境下删除节点

原创 Oracle 作者:dayong2015 时间:2014-09-25 15:38:50 1 删除 编辑
环境配置:
OS版本:Enterprise Linux Enterprise Linux Server release 5.4 (Carthage)
DB版本:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
由于节点rac2的磁盘损坏了,RAC集群数据库也就成了单实例的数据库,我决定删除损坏的节点,增加新的可用节点。
删除节点
1.停掉删除节点(rac2)的数据库实例(HHPEN12)、ASM实例(+ASM2)和一些后台进程服务
[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host
----------------------------------------------------------------------
ora....11.inst application    0/5    0/0    ONLINE    ONLINE    rac1
ora....12.inst application    0/5    0/0    ONLINE    OFFLINE
ora....N11.srv application    0/0    0/0    ONLINE    ONLINE    rac1
ora...._TAF.cs application    0/0    0/1    ONLINE    ONLINE    rac1
ora.HHPEN1.db  application    0/0    0/1    ONLINE    ONLINE    rac1
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1
ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1
ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1
ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1
ora.rac1.vip   application    0/0    0/0    ONLINE    ONLINE    rac1
ora....SM2.asm application    0/5    0/0    ONLINE    OFFLINE
ora....C2.lsnr application    0/5    0/0    ONLINE    OFFLINE
ora.rac2.gsd   application    0/5    0/0    ONLINE    OFFLINE
ora.rac2.ons   application    0/3    0/0    ONLINE    OFFLINE
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac1
2.修改spfile文件相关参数
[oracle@rac1 ~]export ORACLE_SID=HHPEN11    
[oracle@rac1 ~]$ sqlplus / as sysdba        
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Sep 25 14:25:03 2014

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> show parameter spfile;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +RAC_GROUP/hhpen1/spfilehhpen1 .ora
SQL> col name for a35;
SQL> col value for a35;
SQL> select name,value from v$spparameter where sid='HHPEN12';

NAME                                VALUE
----------------------------------- -----------------------------------
log_archive_dest_1                  location=/u01/app/rac2_arch
log_archive_dest_2                  service=HHPEN11
thread                              2
instance_number                     2
undo_tablespace                     UNDOTBS2
SQL> alter system reset thread scope=spfile sid='HHPEN12';
System altered.
SQL> alter system reset instance_number scope=spfile sid='HHPEN12';
System altered.
SQL> alter system reset undo_tablespace scope=spfile sid='HHPEN12';
System altered.
SQL> select sid,name,value from v$spparameter where name='cluster_database_instances';

SID             NAME                                VALUE
--------------- ----------------------------------- ----------
*               cluster_database_instances          2
3.删除目标节点(rac2)的监听服务
可以通过netca 删除目标节点中的监听服务,在rac1上执行netca,删除监听
4.删除目标节点(rac2)数据库软件
在保留的任意一个结点上执行操作,更新Oracle Inventory,例如,在rac1上执行

5.删除ONS配置
在任意保留节点(此处也就剩下节点rac1)中执行racgons 命令,删除ONS 配置,操作如下:

批注:要查询目标节点的ONS 端口号,可以通过下列命令
[oracle@rac1 ~]$ more /u01/app/oracle/crs/opmn/conf/ons.config
localport=6113
remoteport=6200
loglevel=3
useocr=on
6.删除NODEAPPS
目标节点中包括GSD、ONS、VIP 等应用此时已经可以被删除了,删除这些应用可以通过srvctl 命令,注意要以root 身份执行,操作如下:
[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host
----------------------------------------------------------------------
ora....11.inst application    0/5    0/0    ONLINE    ONLINE    rac1
ora....12.inst application    0/5    0/0    ONLINE    OFFLINE
ora....N11.srv application    0/0    0/0    OFFLINE   OFFLINE
ora...._TAF.cs application    0/0    0/1    OFFLINE   OFFLINE
ora.HHPEN1.db  application    0/0    0/1    ONLINE    ONLINE    rac1
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1
ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1
ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1
ora.rac1.vip   application    0/0    0/0    ONLINE    ONLINE    rac1
ora....SM2.asm application    0/5    0/0    ONLINE    OFFLINE
ora.rac2.gsd   application    0/5    0/0    ONLINE    OFFLINE
ora.rac2.ons   application    0/3    0/0    ONLINE    OFFLINE
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac1
[oracle@rac1 ~]$ crs_stop -f ora.rac2.vip
Attempting to stop `ora.rac2.vip` on member `rac1`
Stop of `ora.rac2.vip` on member `rac1` succeeded.

7.删除目标节点clusterware软件
接下来要做的是删除目标节点上的clusterware 软件,本步操作与删除数据库软件类似,首先仍是在任意保留的节点中操作,在rac1上执行:

8.从OCR中删除目标节点信息
在任意一台保留的节点执行,在rac1上执行:
[oracle@rac1 ~]$ cd $CRS_HOME/bin
[oracle@rac1 bin]$ olsnodes -n -i
rac1    1       rac1-vip
rac2    2      
尽管通过前面的操作,ORACLE 软件以及集群件均已被删除,节点信息也更新过了,不过OCR 中还是保留有rac2节点的信息,因此这块也需要删除,执行
脚本如下:

[oracle@rac1 ~]$ olsnodes -n -i
rac1    1       rac1-vip
9.删除目标节点数据库实例和ASM实例
[oracle@rac1 ~]$ srvctl status database -d HHPEN1
Instance HHPEN11 is running on node rac1
Instance HHPEN12 is not running on node rac2
[oracle@rac1 ~]$ srvctl remove instance -d HHPEN1 -i HHPEN12
Remove instance HHPEN12 from the database HHPEN1? (y/[n]) y
[oracle@rac1 ~]$ crs_stop -f ora.rac2.ASM2.asm
Target set to OFFLINE for `ora.rac2.ASM2.asm`
[oracle@rac1 ~]$ srvctl remove asm -n rac2
PRKC-1056 : Failed to get the hostname for node rac2          --由于另一个系统我已经清除,所以此处找不到目标主机
PRKH-1001 : HASContext Internal Error
  [OCR Error(Native: getHostName:[21])]
[oracle@rac1 ~]$ crs_unregister ora.rac2.ASM2.asm      --使用crs_unregister注销掉该资源

批注:至此节点rac2删除完成。

添加节点可以参考我之前总结的这篇文章:http://blog.itpub.net/29634949/viewspace-1163338/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29634949/viewspace-1280640/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-04-29

  • 博文量
    78
  • 访问量
    790441