Deleting Oracle RAC 11g from Nodes on Linux

Deleting Oracle RAC 11g from Nodes on Linux

目录

1 系统环境

2 从集群数据库中删除实例

3 移除ASM实例

4 移除ORACLE RAC

5 从集群中删除节点

6 验证

1 系统环境

1.1 硬件环境

产品名称

产品描述

数量

 

服务器节点

Cpu: Intel(R) Xeon(R) CPU E7- 4830  @ 2.13GHz

memory:8G

Core:4

Swap:6G

 

 

3

共享存储

一块214G scsi硬盘

1

 

1.2 软件环境

 

分类

项目

说明

备注

主机

主机名

S01,s02,S03

删除主机S03

操作系统

Red hat as 5

5.8

内核

2.6.18-308.el5

x86_64

 

 

 

数据库

 

数据库版本

Oracle Database 11g Release 2

(11.2.0.1.0) for Linux x86-64

 

运行模式

RAC

 

数据库名

test

 

实例名

test1,test2,test3

删除实例Test3

ASM

+DATA,+FLASH,+OCR_VOTE

 

 

存储

组件

文件系统

卷大小

ASM卷组名

ASM冗余

OCR-VOTE

ASM

3G

+OCR_VOTE

NOMAL

数据库文件

ASM

110G

+DATA

EXTERNAL

恢复区

ASM

110G

+FLASH

EXTERNAL

 

1.3 网络环境

 

 

 

网络配置

节点

公共IP

私有IP

虚拟IP

scan名称

SCAN IP

S01

172.31.2.36

192.168.0.2

172.31.2.251

 

s-scan

 

172.31.2.253

S02

172.31.2.62

192.168.0.3

172.31.2.63

S03

172.31.2.35

192.168.0.1

172.31.2.252

 

 

2 从集群数据中删除实例

2.1 删除实例

在任一非删除节点上,用ORACLE用户登录,利用dbca命令启动OUI界面

[oracle@s01 bin]$dbca

1 )选择oracle rac database并下一步

2 )选择instance management并下一步

 

3 )选择delete an instance并下一步

4 )输入sys/password后下一步

5 )选择要删除的INSTANCE,并下一步

注:可以用下列命令沉默删除实例

[oracle@s01 ~]$ dbca -silent -deleteinstance -nodelist s03                          -gdbname rac.anbob.com -instancename test3                        -sysdbausername sys -sysdbapassword oracle

当要删除多个节点时,重复以上步骤

2.2 验证实例删除情况

检查集群中实例情况

[oracle@s01 ~]$ srvctl config database -d test -v

用SQLPLUS检查

[oracle@s01 ~]$sqlplus / as sysdba

SQL> select inst_id,instance_name from gv$instance;

检查删除节点的redolog thread状态并禁用,其中N为要删除节点对应的redolog thread

 

sql>alter database disable thread N;

验证实例信息是否还在OCR中

[grid@s01 ~]$srvctl config database -d db_unique_name

3 移除ASM实例

在任一节点上,用GRID用户停止并移除asm实例

[grid@s01 ~]$ srvctl stop asm -n deletenode

[grid@s01 ~]$ srvctl remove asm -n deletenode

在要删除的节点上,用GRID或ROOT用户删除ASM相关文件

[grid@s03 ~]$ rm -rf $GRID_HOME/dbs/*ASM*

[grid@s03 ~]$ rm -rf $GRID_BASE/admin/+ASM

验证

[grid@s01 ~]$ srvctl status asm

 

4 移除ORACLE RAC

此部分主要目的是:从集群中移去要删除节点的RAC 软件;

                  更新保留节点的相关资源信息。

 

操作步骤:

1)禁用并停止删除节点的监听

在任一节点上用GRID用户执行

[grid@s01 bin]$srvctl disable listener -l listener_name -n name_of_node_to_delete

[grid@s01 bin]$srvctl stop listener -l listener_name -n name_of_node_to_delete

2 )更新删除节点的资源信息 

在删除节点用GRID用户执行

[grid@s03 bin]$cd $GRID _HOME/oui/bin

[grid@s03 bin]$./runInstaller -updateNodeList ORACLE_HOME=Oracle_home_location

"CLUSTER_NODES={name_of_node_to_delete}" -local

3 )移除ORACLE RAC软件

在删除节点用GRID用户执行

▅ 当ORALCE_HOME是共享目录时

[grid@s03 bin]$cd $ORACLE_HOME/oui/bin

[grid@s03 bin]$./runInstaller

-detachHome ORACLE_HOME=Oracle_home_location

▅ 当没有共享目录时

[grid@s03 bin]$$ORACLE_HOME/deinstall/deinstall -local

4 )更新保留节点的资源信息

在任一保留节点用GRID用户执行

▅  有共享目录时

[grid@s01 bin]$cd $ORACLE_HOME/oui/bin

[grid@s01 bin]$./runInstaller

-updateNodeList ORACLE_HOME=Oracle_home_location

"CLUSTER_NODES={remaining_node_list}" –cfs “complete path location for the cluster file system”

▅  无共享目录时

[grid@s01 bin]$cd $ORACLE_HOME/oui/bin

[grid@s01 bin]$./runInstaller

-updateNodeList ORACLE_HOME=Oracle_home_location

"CLUSTER_NODES={remaining_node_list}"

5 从集群中删除节点

1 )检查集群中每个节点的$GRID_HOME确节位置

2 )检查删除节点状态

在任一节点用GRID用户执行

[grid@s01 bin]$olsnodes -s -t

注:当节点PINNED时,需要crsctl unpin css

3 )禁用集群应用

在删除节点用GRID用户执行

[grid@s03 bin]$emctl stop dbconsole

[grid@s03 bin]$cd $GRID_HOME/crs/install

[grid@s03 bin]$./rootcrs.pl -deconfig -force

注:1> 11.2.0.1或11.2.0.2版本不包括 -deinstall

    2>如果删除多个节点时,在删除的节点上依次执行上行命令

    3>当要删除全部节点时,添加-lastnode选项清除ocr和voting disks

     ./rootcrs.pl -deconfig -deinstall -force -lastnode

    4>当上面命令失败时,需要手工运行:

   [root@s03 bin]#srvctl stop vip -i vip_name -f

   [root@s03 bin]#srvctl remove vip -i vip_name -f

4 )从集群中移除节点

在保留节点用ROOT用户执行

[root@s01 bin]#cd $GRID_HOME/bin

[root@s01 bin]#crsctl delete node -n deletenode

5 )更新删除节点的资源信息

在删除节点用GRID用户执行

[grid@s03 bin]$cd $GRID_HOME/oui/bin

[grid@s03 bin]$./runInstaller -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_NODES={deletenode}" CRS=TRUE -silent -local

6 删除相关目录

在删除节点用GRID用户执行

▅有共享目录时

[grid@s03 bin]$cd $GRID_HOME/oui/bin

[grid@s03 bin]$./runInstaller -detachHome ORACLE_HOME=Grid_home -silent -local

手工删除以下文件和目录

rm -rf /etc/oraInst.loc  

rm -rf  /etc/oratab  

rm -rf  /opt/ORCLfmap/ 

rm –rf  $OraInventory/

rm -rf /etc/oracle/*

rm -f /etc/init.d/init.cssd

rm -f /etc/init.d/init.crs

rm -f /etc/init.d/init.crsd

rm -f /etc/init.d/init.evmd

rm -f /etc/rc2.d/K96init.crs

rm -f /etc/rc2.d/S96init.crs

rm -f /etc/rc3.d/K96init.crs

rm -f /etc/rc3.d/S96init.crs

rm -f /etc/rc5.d/K96init.crs

rm -f /etc/rc5.d/S96init.crs

rm -Rf /etc/oracle/scls_scr

rm -f /etc/inittab.crs

 ▅ 无共享目录时

[grid@s03 bin]$$GRID_HOME/deinstall/deinstall -local

  注:没有-LOCAL时,将会移除每个节点上的网络架构

7  ) 更新保留节点的资源信息

在任一保留节点,以GRID用户执行

[grid@s01 bin]$cd $GRID_HOME/oui/bin

[grid@s01 bin]$ ./runInstaller -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_NODES=

{remaining_nodes_list}" CRS=TRUE –silent

在任一保留节点,以ORACLE用户执行

▅ 有共享目录时

[oracle@s01 bin]$ cd $ORACLE_HOME/oui/bin

[oracle@s01 bin]$./runInstaller -updateNodeList ORACLE_HOME=ORACLE_HOME

 "CLUSTER_NODES={remaining_nodes_list}"

–cfs “complete path location for the cluster file system”

▅ 无共享目录时

[oracle@s01 bin]$ cd $ORACLE_HOME/oui/bin

[oracle@s01 bin]$./runInstaller -updateNodeList ORACLE_HOME=ORACLE_HOME

 "CLUSTER_NODES={remaining_nodes_list}"

6验证

在任一保留节点,以GRID用户执行

[grid@s01 bin]$cd $GRID_HOME/bin

[grid@s01 bin]$cluvfy stage -post nodedel -n node_list [-verbose]

 

 

你可能感兴趣的:(oracle,rac)