Oracle RAC 10g集群节点删除[zt]
===========================================================
作者: xsb(http://xsb.itpub.net)
发表于:2008.04.24 14:18
分类: Oracle
出处:http://xsb.itpub.net/post/419/460489
---------------------------------------------------------------
在本文中,我将讨论从现有Oracle RAC 10g第二版集群中删除节点所需要的步骤。
出于演示目的,我们这里的环境是一个二节点的 RedHat Linux 集群。
库名 |
节点编号 |
数据库版本 |
实例编号 |
操作系统内核版本 |
文件系统 |
集群管理器 |
RACDB |
二个节点 -- Rac10g01和Rac10g03 |
10.2.0.1 |
四个实例 -- RACDB1、RACDB2 |
Red Hat Enterprise Linux AS 4 2.6.9-42.ELsmp |
OCFS2 和 ASM |
Oracle 集群件 |
该过程将通过以下3个步骤实现
1. 删除数据库实例
2. 删除ASM实例
3. 删除节点
Ref: http://60.190.88.90/ljf/2008/02/linuxoracle-rac10g-delnode.html
第一步 从RAC中删除数据库实例
该步骤将完成如下:
撤销选择的实例在关联的Oracle Net Services监听中的注册
从实例配置节点中删除选择的实例
删除Oracle网络配置
从实例配置节点中删除OFA目录结构
可以使用如下两种方式从现有RAC中删除数据库实例:
1. 使用EM控制台
登录EM控制台,选择"管理"选项
选择更改数据库节中的删除实例
输入集群身份证明(若使用ASM,需输入主机和ASM的身份证明),选择要删除实例的节点,提交该任务。
任务的执行情况信息都在摘要页面中体现。
2. 使用DBCA命令
在保留节点节点上执行。
交互模式(Interactive Mode)
实例管理->实例删除->输入具备SYSDBA权限的用户->选择要删除的实例
非交互模式(Silent Mode)(保留节点)
dbca -silent -deleteInstance [-nodeList node] -gdbName gdbname -instanceName
instname -sysDBAUserName sysdba -sysDBAPassword password
第二步 从节点删除ASM实例(如果使用ASM)
删除节点
1. 停止使用被删ASM实例的所有数据库
2. 删除ASM实例
srvctl stop asm -n node_name
srvctl remove asm -n node_name
3. 删除ASM Oracle目录
第三步 从RAC中删除节点
删除节点前要保证设置正确的$CRS_HOME和$ORACLE_HOME环境变量。
1. 使用NETCA删除listener.
2. 在RAC集群中删除Oracle目录
删除节点执行:
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=Oracle_home "CLUSTER_NODES={node_name}" -local
保留节点执行:
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=Oracle_home "CLUSTER_NODES={remaining_nodes_list}"
remaining_node_list为逗号分隔的集群保留节点名称
删除节点执行:
./runInstaller -deinstall -silent "REMOVE_HOMES={Oracle_home}"
3. 删除Oracle集群目录
保留节点执行:
oifcfg delif -node nodename (为删除的节点名)
从删除节点的ons.config文件获取远程端口号
CRS_home/bin/racgons remove_config nodename:remote_port
4. 禁用Oracle集群应用
#CRS_home/install/rootdelete.sh
5. 从集群中删除节点并更新OCR(保留节点运行)
CRS_home/install/rootdeletenode.sh node1,node1-number,node2,node2-number,... nodeN,nodeN-number
列出的1-N节点为删除节点,node-number可通过olsnodes -n获得。
# ./rootdeletenode.sh rac10g03,rac10g03-3
$CRS_home/oui/bin/runInstaller -updateNodeList ORACLE_HOME=CRS_home "CLUSTER_NODES={node_to_be_deleted}" CRS=TRUE -local
6. 运行OUI卸CRS目录,确认目录一起删除。
或者./runInstaller -deinstall -silent "REMOVE_HOMES={CRS_home}"
7. 更新集群节点
$CRS_home/oui/bin/runInstaller -updateNodeList ORACLE_HOME=CRS_home "CLUSTER_NODES={remaining_nodes_list}" CRS=TRUE
至此,节点删除完毕。