Oracle RAC删除节点

简介:

在前面的两篇文章中,演示了如何向rac环境中添加一个新的节点,集群除了兼备负载均衡,故障转移的特点外,更应该有易于扩展和收缩的属性;本文中讲演示如何将之前添加的节点3彻底删除,使用的数据库版本和操作系统版本均和前面添加节点所使用的环境一致!如何添加节点,请参考下面两篇文章:
http://ylw6006.blog.51cto.com/470441/730519
http://ylw6006.blog.51cto.com/470441/730564

一:关闭rac3节点的数据库实例和ASM实例

[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
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    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2        
ora....SM3.asm application    0/5    0/0    ONLINE    ONLINE    rac3        
ora....C3.lsnr application    0/5    0/0    ONLINE    ONLINE    rac3        
ora.rac3.gsd   application    0/5    0/0    ONLINE    ONLINE    rac3        
ora.rac3.ons   application    0/3    0/0    ONLINE    ONLINE    rac3        
ora.rac3.vip   application    0/0    0/0    ONLINE    ONLINE    rac3        
ora.racdb.db   application    0/1    0/1    ONLINE    ONLINE    rac1        
ora....b1.inst application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....b2.inst application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....b3.inst application    0/5    0/0    ONLINE    ONLINE    rac3 

[oracle@rac1 ~]$ srvctl status database -d racdb
Instance racdb1 is running on node rac1
Instance racdb2 is running on node rac2
Instance racdb3 is running on node rac3
[oracle@rac1 ~]$ srvctl stop instance -d racdb -i racdb3 -o immediate

[oracle@rac1 ~]$ srvctl status asm -n rac3
ASM instance +ASM3 is running on node rac3.
[oracle@rac1 ~]$ srvctl stop asm -n rac3

二:修改spfile文件的相关参数

[oracle@rac1 ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Dec 1 19:06:58 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected.

SQL> show parameter spfile;

NAME      TYPE     VALUE
--------- -------  -----------------------
spfile    string   +DATA/racdb/spfileracdb.ora

SQL> select name,value from v$spparameter where sid='racdb3';

NAME                 VALUE
-------------------- --------------------
thread               3
instance_number      3
undo_tablespace      UNDOTBS3

SQL> alter system reset thread scope=spfile sid='racdb3';
System altered.

SQL> alter system reset instance_number scope=spfile sid='racdb3';
System altered.

SQL> alter system reset undo_tablespace scope=spfile sid='racdb3';
System altered.

SQL> alter system reset service_names scope=spfile sid='racdb3';
alter system reset service_names scope=spfile sid='racdb3'
*
ERROR at line 1:
ORA-32010: cannot find entry to delete in SPFILE

SQL> alter system reset local_listener scope=spfile sid='racdb3';
alter system reset local_listener scope=spfile sid='racdb3'
*
ERROR at line 1:
ORA-32010: cannot find entry to delete in SPFILE

SQL> select sid,name,value from v$spparameter where name='cluster_database_instances';

SID        NAME                                     VALUE
---------- ---------------------------------------- --------------------
*          cluster_database_instances               2

三:关闭rac3节点的监听器并验证

[oracle@rac1 ~]$ srvctl  stop listener -n rac3
[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
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    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2        
ora....SM3.asm application    0/5    0/0    OFFLINE   OFFLINE               
ora....C3.lsnr application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac3.gsd   application    0/5    0/0    ONLINE    ONLINE    rac3        
ora.rac3.ons   application    0/3    0/0    ONLINE    ONLINE    rac3        
ora.rac3.vip   application    0/0    0/0    ONLINE    ONLINE    rac3        
ora.racdb.db   application    0/1    0/1    ONLINE    ONLINE    rac1        
ora....b1.inst application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....b2.inst application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....b3.inst application    0/5    0/0    OFFLINE   OFFLINE    

四:使用srvctl工具删除rac3节点上的数据库实例和ASM实例

[oracle@rac1 ~]$ srvctl status database -d racdb
Instance racdb1 is running on node rac1
Instance racdb2 is running on node rac2
Instance racdb3 is not running on node rac3
[oracle@rac1 ~]$ srvctl remove instance -d racdb -i racdb3
Remove instance racdb3 from the database racdb? (y/[n]) y

[oracle@rac1 ~]$ srvctl status asm -n rac3
ASM instance +ASM3 is not running on node rac3.
[oracle@rac1 ~]$ srvctl remove asm -n rac3

[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
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    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2        
ora....C3.lsnr application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac3.gsd   application    0/5    0/0    ONLINE    ONLINE    rac3        
ora.rac3.ons   application    0/3    0/0    ONLINE    ONLINE    rac3        
ora.rac3.vip   application    0/0    0/0    ONLINE    ONLINE    rac3        
ora.racdb.db   application    0/1    0/1    ONLINE    ONLINE    rac1        
ora....b1.inst application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....b2.inst application    0/5    0/0    ONLINE    ONLINE    rac2 

五:使用netca命令删除rac3节点上的监听器配置
[oracle@rac1 ~]$ netca

 

 

 后台日志信息如下
Oracle Net Services Configuration:
rac3...
    Deleted listener: LISTENER_RAC3
Oracle Net Services configuration successful. The exit code is 0

验证:
[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
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    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2        
ora.rac3.gsd   application    0/5    0/0    ONLINE    ONLINE    rac3        
ora.rac3.ons   application    0/3    0/0    ONLINE    ONLINE    rac3        
ora.rac3.vip   application    0/0    0/0    ONLINE    ONLINE    rac3        
ora.racdb.db   application    0/1    0/1    ONLINE    ONLINE    rac1        
ora....b1.inst application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....b2.inst application    0/5    0/0    ONLINE    ONLINE    rac2  

清除rac配置信息
[oracle@rac3 ~]$ cat $ORA_CRS_HOME/opmn/conf/ons.config
localport=6100 
remoteport=6200 
loglevel=3
useocr=on
[oracle@rac1 ~]$ racgons remove_config rac3:6200

六:在rac3节点上以root用户身份运行删除节点脚本

 [root@rac3 ~]# cd /u01/app/oracle/product/10.2.0/crs_1/install
[root@rac3 install]# ./rootdelete.sh 
CRS-0210: Could not find resource 'ora.rac3.LISTENER_RAC3.lsnr'.
Shutting down Oracle Cluster Ready Services (CRS):
Stopping resources.
Successfully stopped CRS resources 
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
Shutdown has begun. The daemons should exit soon.
Checking to see if Oracle CRS stack is down...

Checking to see if Oracle CRS stack is down...
Oracle CRS stack is not running.
Oracle CRS stack is down now.
Removing script for Oracle Cluster Ready services
Updating ocr file for downgrade
Cleaning up SCR settings in '/etc/oracle/scls_scr'

备注:在清除rac节点前,需要利用netca来删除监听,否则会报错如下!
CRS resources for listeners are still configured. You must remove the CRS listener resources before deconfiging CRS stack. Use NETCA to remove them.
1

七:在节点1上更新OCR信息 

[root@rac1 ~]# cd /u01/app/oracle/product/10.2.0/crs_1/install
[root@rac1 install]# ./rootdeletenode.sh rac3,3
CRS-0210: Could not find resource 'ora.rac3.LISTENER_RAC3.lsnr'.
CRS-0210: Could not find resource 'ora.rac3.ons'.
CRS-0210: Could not find resource 'ora.rac3.vip'.
CRS-0210: Could not find resource 'ora.rac3.gsd'.
CRS-0210: Could not find resource ora.rac3.vip.
CRS nodeapps are deleted successfully
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully deleted 14 values from OCR.
Key SYSTEM.css.interfaces.noderac3 marked for deletion is not there. Ignoring.
Successfully deleted 5 keys from OCR.
Node deletion operation successful.
'rac3,3' deleted successfully

更新CRS:

[oracle@rac1 ~]$ cd $ORA_CRS_HOME/oui/bin
[oracle@rac1 bin]$ ./runInstaller -updateNodelist ORACLE_HOME=$ORA_CRS_HOME "CLUSTER_NODES={rac1,rac2}" CRS=TRUE
Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
'UpdateNodeList' was successful.

八:验证

[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
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    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2        
ora.racdb.db   application    0/1    0/1    ONLINE    ONLINE    rac1        
ora....b1.inst application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....b2.inst application    0/5    0/0    ONLINE    ONLINE    rac2

[oracle@rac1 ~]$ olsnodes -n
rac1    1
rac2    2

参考文章:
http://yangtingkun.itpub.net/post/468/495334
http://yangtingkun.itpub.net/post/468/495377

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/731563如需转载请自行联系原作者


ylw6006

相关文章
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
495 2
|
存储 负载均衡 Oracle
|
存储 Oracle 关系型数据库
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
235 0
|
文字识别 监控 Oracle
ORACLE RAC环境下节点自动重启问题总结
文章参考:主要来源于网络资源分享,并结合自己的ORACLE RAC环境近段时间OS节点自动重启问题进行分析总结 首先我们对能够导致节点重启的CRS进程进行介绍。1.ocssd : 它的主要功能是节点监控(Node Monitoring)和组管理(Group Management),它是CRS的核心进程之一。
1739 0
|
2月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
307 93
|
28天前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
147 0
|
4月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
247 8

推荐镜像

更多