ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10203RAC环境删除节点(一)

Oracle10203RAC环境删除节点(一)

原创 Linux操作系统 作者:yangtingkun 时间:2009-12-28 19:32:56 0 删除 编辑

前面几篇文章介绍了在Oracle 10203 for Solaris sparc的RAC双节点环境中,新增一个节点的过程。这里描述删除节点的操作。

这一篇介绍Oracle数据库实例的删除。

 

 

这篇介绍手工删除节点的方面。删除节点虽然和添加节点相比要简单很多,但是还是有一些地方需要注意。

比如这个删除节点的操作是临时的还是永久的。如果是临时的操作,那么不需要修改任何的初始化参数,只需要关闭数据库实例就可以了,以后随时可以将删除的节点添加回来,而且由于初始化参数不需要修改,添加过程都不会导致数据库的重启。对于CLUSTER的设置,也可以考虑保留。唯一需要修改的是节点1和节点2上TNSNAMES.ORA中,对于整个RAC环境的设置,要去掉已删除的节点。另外,如果使用srvctl来管理RAC环境,还应该从srvctl的配置中去掉被删除节点的信息。

而如果要彻底删除节点,就要彻底清除所有节点3的信息,对这个例子而言,就意味着要将RAC环境恢复到初始两个节点运行的状态。这里需要执行的操作包括了临时去掉节点的所有修改,因此这里介绍永久删除节点的方法。

bash-3.00$ srvctl status db -d testrac
实例 testrac1 正在节点 racnode1 上运行
实例 testrac2 正在节点 racnode2 上运行
实例 testrac3 正在节点 racnode3 上运行
bash-3.00$ srvctl stop inst -d testrac -i testrac3
bash-3.00$ srvctl status db -d testrac
实例 testrac1 正在节点 racnode1 上运行
实例 testrac2 正在节点 racnode2 上运行
实例 testrac3 没有在 racnode3 节点上运行

首先需要修改的是数据库的实例,对于节点3而言,只需要简单的关闭实例即可。

下面关闭ASM实例:

bash-3.00$ srvctl status asm -n racnode3
ASM
实例 +ASM3 正在节点 racnode3 上运行。
bash-3.00$ srvctl stop asm -n racnode3
bash-3.00$ srvctl status asm -n racnode3
ASM
实例 +ASM3 不在节点 racnode3 上运行。

由于数据库使用的是共同的SPFILE:

SQL> show parameter spfile

NAME                 TYPE        VALUE
-------------------- ----------- -------------------------------
spfile               string      +DISK/testrac/spfiletestrac.ora

因此只需要将SPFILE中实例3的初始化参数去掉就可以了:

SQL> select name, value 
  2  from v$spparameter
  3  where sid = 'testrac3';

NAME                           VALUE
------------------------------ ------------------------------------------------------------
thread                         3
instance_number                3
undo_tablespace                UNDOTBS3
service_names                  TESTRAC, testrac
local_listener                 (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.227)(PORT = 1521))

SQL> alter system reset thread scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system reset instance_number scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system reset undo_tablespace scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system reset service_names scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system reset local_listener scope = spfile sid = 'testrac3';

系统已更改。

下面设置其他两个节点的CLUSTER_DATABASE_INSTANCES初始化参数,将其修改为2:

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

SID        NAME                           VALUE
---------- ------------------------------ --------------------------------------------
*          cluster_database_instances     3

SQL> alter system set cluster_database_instances = 2 scope = spfile;

系统已更改。

至此,数据库级的修改已经完成,等到其他两个实例重启的时候,就会自动去掉当前加载的实例3相关的初始化参数。

 

最后关闭监听:

bash-3.00$ srvctl stop listener -n racnode3

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-623796/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11076211