WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606
全部博文(599)
分类: Oracle
2009-12-19 10:51:15
注意,下列操作均是在确实要保留的实例上进行,不要选择在要被删除的节点上进行操作哟。
在视窗界面中找开dbca命令
Dbca 界面大家应该已经非常熟悉了,这里仍然是选择RAC database:
选择Instance Management,点击下一步:
Of course ,Delete Instance:
选择要操作的数据库,并输入一个具有sysdba权限的用户及密码:
选择一个要删除的实例,这里当然是jssdbn3喽!哎,这可怜的孩子,刚被加进来又不得不被踢出去,不过没关系,能加能删才是真实例:)
确定删除点击OK,接下来如果还蹦这类窗口,同样直接点击OK即可:
开始进行删除操作:
终于删除完了,这里可别点yes,操作已经完成,点"No"退出即可。
接下来,我们需要删除该节点中的asm实例,以及注册到crs中的相关信息,操作如下:
[oracle@jssdbn1 bin]$ ./srvctl stop asm -n jssdbn3
[oracle@jssdbn1 bin]$ ./srvctl remove asm -n jssdbn3Ok, 上述两个命令行正确执行后,目标节点的asm实例就已经被删除了,你是否想问怎么确定删除操作确实执行了呢?最简单的方式,执行crs_stat查看当前crs的各进程状态:
[oracle@jssdbn1 bin]$ ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.jssdb.db application ONLINE ONLINE jssdbn2
ora....n1.inst application ONLINE ONLINE jssdbn1
ora....n2.inst application ONLINE ONLINE jssdbn2
ora....SM1.asm application ONLINE ONLINE jssdbn1
ora....N1.lsnr application OFFLINE OFFLINE
ora....bn1.gsd application ONLINE ONLINE jssdbn1
ora....bn1.ons application ONLINE ONLINE jssdbn1
ora....bn1.vip application ONLINE ONLINE jssdbn1
ora....SM2.asm application ONLINE ONLINE jssdbn2
ora....N2.lsnr application ONLINE UNKNOWN jssdbn2
ora....bn2.gsd application ONLINE ONLINE jssdbn2
ora....bn2.ons application ONLINE ONLINE jssdbn2
ora....bn2.vip application ONLINE ONLINE jssdbn2
ora....N3.lsnr application ONLINE UNKNOWN jssdbn3
ora....bn3.gsd application ONLINE ONLINE jssdbn3
ora....bn3.ons application ONLINE ONLINE jssdbn3
ora....bn3.vip application ONLINE ONLINE jssdbn3从上述返回信息可以看出,jssdbn3节点中运行的asm和instance均已经不存在了。
此时虽然相关应用均已被删除,不过asm实例相关的pfile以及一些trc文件仍然存在,可以通过操作系统的命令删除相关文件,包括但不限于下列路径:
下面,我们还需要从RAC环境中,删除目标节点,本步操作比较多而且杂,务必注意操作步骤,以及执行操作所在的节点。
首先可以通过netca删除目标节点中的监听服务(趁现在ORACLE_HOME还在),netca的操作比较简单,这里就不演示了。
监听服务删除之后,接着停止目标节点中的应用,可以在任意节点上操作,执行命令如下:
[oracle@jssdbn1 bin]$ ./srvctl stop nodeapps -h
本操作包含两个部分,首先是要在保留的任意一个结点上执行操作,更新Oracle Inventory,例如:
[oracle@jssdbn1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES=jssdbn1,jssdbn2"
Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
¨UpdateNodeList¨ was successful.接下来在要被删除的节点上执行下列命令,同样是更新Oracle Inventory:
[oracle@jssdbn3 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES=jssdbn3" -local
Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.然后就可以删除该节点上的数据库软件了,在视窗界面执行命令如下:
[oracle@jssdbn3 ~]$ $ORACLE_HOME/oui/bin/runInstaller -deinstall
Starting Oracle Universal Installer...
.....................
.....................然后就会看到OUI的操作界面了。如图所示,点击REMOVE即可(注意要选对数据库软件哟):
如果弹出是否确认删除的提示框,也直接点击yes确认就好。OUI开始执行删除操作。
操作完成后,点击close退出该界面。
提示:如果希望在非图形界面执行删除操作的话,那么执行runInstall命令时,附加-silent参数即可。
该服务器如果不准备再安装ORACLE数据库的话,可以同时删除/etc/oratab文件。
[oracle@jssdbn3 ~]$ rm /etc/oratab在任意保留节点中执行racgons命令,删除ONS配置,操作如下:
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/racgons remove_config jssdbn3:6200
racgons: Existing key value on jssdbn3 = 6200.
racgons: jssdbn3:6200 removed from OCR.要查询目标节点的ONS端口号,可以通过下列命令:
[oracle@jssdbn3 ~]$ more $ORA_CRS_HOME/opmn/conf/ons.config
localport=6113
remoteport=6200
loglevel=3
useocr=on目标节点中包括GSD、ONS、VIP等应用此时已经可以被删除了,删除这些应用可以通过srvctl命令,注意要以root身份执行,操作如下:
[root@jssdbn1 ~]# /data/ora10g/product/10.2.0/crs_1/bin/srvctl remove nodeapps -n jssdbn3
Please confirm that you intend to remove the node-level applications on node jssdbn3 (y/[n]) y执行完上述命令后,返回oracle用户,执行crs_stat查看当前应用的状态:
[oracle@jssdbn1 bin]$ ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.jssdb.db application ONLINE ONLINE jssdbn2
ora....n1.inst application ONLINE ONLINE jssdbn1
ora....n2.inst application ONLINE ONLINE jssdbn2
ora....SM1.asm application ONLINE ONLINE jssdbn1
ora....N1.lsnr application OFFLINE ONLINE jssdbn1
ora....bn1.gsd application ONLINE ONLINE jssdbn1
ora....bn1.ons application ONLINE ONLINE jssdbn1
ora....bn1.vip application ONLINE ONLINE jssdbn1
ora....SM2.asm application ONLINE ONLINE jssdbn2
ora....N2.lsnr application ONLINE ONLINE jssdbn2
ora....bn2.gsd application ONLINE ONLINE jssdbn2
ora....bn2.ons application ONLINE ONLINE jssdbn2
ora....bn2.vip application ONLINE ONLINE jssdbn2如上述所示,CRS中关于jssdbn3的痕迹都已经不见了。
接下来要做的是删除目标节点上的clusterware软件,本步操作与删除数据库软件类似,实际上眼神好的朋友可能也看到了,之前执行runInstall -deinstall命令,在弹出界面里也看到了OraCrs10g_home。详细操作步骤如下!
首先仍是在任意保留的节点中操作:
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORA_CRS_HOME "CLUSTER_NODES=jssdbn1,jssdbn2" CRS=TRUE
Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
¨UpdateNodeList¨ was successful.然后切换至目标节点,执行更新Oracle Inventory的操作:
[oracle@jssdbn3 ~]$ $ORA_CRS_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORA_CRS_HOME "CLUSTER_NODES=jssdbn3" CRS=TRUE -local
Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
¨UpdateNodeList¨ was successful.接下来执行runInstaller -deinstall命令,执行clusterware软件的删除操作(注意是在视窗界面操作):
[oracle@jssdbn3 ~]$ $ORA_CRS_HOME/oui/bin/runInstaller -deinstall
Starting Oracle Universal Installer...弹出窗口如下,选中crs路径,然后点击remove即可。
操作完成后,点击close关闭窗口。集群件软件就被成功从目标节点删除了。接下来如果愿意(或者确实需要),可以考虑清除ORACLE留下的一些操作痕迹,包括但不限于下列:
在任意一台保留的节点执行:
[oracle@jssdbn1 ~]$ cd $ORA_CRS_HOME/bin
[oracle@jssdbn1 bin]$ ./olsnodes -n -i
jssdbn1 1 jssdbn1-vip
jssdbn2 2 jssdbn2-vip
jssdbn3 3你看,尽管通过前面的操作,ORACLE软件以及集群件均已被删除,节点信息也更新过了,不过OCR中还是保留有jssdbn3节点的信息,因此这块也需要删除,执行脚本如下:
[root@jssdbn1 ~]# cd /data/ora10g/product/10.2.0/crs_1/install
[root@jssdbn1 install]# ./rootdeletenode.sh jssdbn3,3
CRS-0210: Could not find resource ¨ora.jssdbn3.LISTENER_JSSDBN3.lsnr¨.
CRS-0210: Could not find resource ¨ora.jssdbn3.ons¨.
CRS-0210: Could not find resource ¨ora.jssdbn3.vip¨.
CRS-0210: Could not find resource ¨ora.jssdbn3.gsd¨.
CRS-0210: Could not find resource ora.jssdbn3.vip.
CRS nodeapps are deleted successfully
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully deleted 14 values from OCR.
Key SYSTEM.css.interfaces.nodejssdbn3 marked for deletion is not there. Ignoring.
Successfully deleted 5 keys from OCR.
Node deletion operation successful.
¨jssdbn3,3¨ deleted successfully
[root@jssdbn1 install]# exit
logout
[oracle@jssdbn1 bin]$ ./olsnodes -n -i
jssdbn1 1 jssdbn1-vip
jssdbn2 2 jssdbn2-vip至此,删除节点操作告以段落。
全文完,下载pdf版本请至:
查看之前的连载
=======================================================
ORACLE 10gR2 RAC环境增加及删除节点-(5)添加实例到新节点
ORACLE 10gR2 RAC环境增加及删除节点-(4)配置监听服务到新节点
ORACLE 10gR2 RAC环境增加及删除节点-(3)复制oracle软件到新节点