Oracle RAC 10g集群节点删除

时间:2021-01-13 19:50:40

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

 

至此,节点删除完毕。