基于Linux的Oracle RAC 10g集群节点删除
2008-12-30 13:08:17 来源:WEB开发网x 在本文中,我将讨论从现有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. 删除节点
第一步 从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
至此,节点删除完毕。
- ››oracle 恢复误删除的表和误更新的表
- ››linux下两台服务器文件实时同步方案设计和实现
- ››Linux文件描述符中的close on exec标志位
- ››Linux下管道使用的一些限制
- ››Linux 误删/usr/bin 解决方法
- ››linux 添加新用户并赋予sudo执行权限
- ››linux常用软件安装方法
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Linux的分区已经被你从Windows中删除,系统启动后...
- ››linux enable命令大全
- ››Linux实现基于Loopback的NVI(NAT Virtual Interfa...
赞助商链接