1)停止节点点上的ASM实例
RACDB1@rac1 /home/oracle$ srvctl stop asm-n rac2
2)确认停止第二节点上的ASM实例后的状态
RACDB1@rac1 /home/oracle$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora.RACDB.db application ONLINE ONLINE rac2
ora....DB1.srv application ONLINE ONLINE rac1
ora.....taf.cs application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application OFFLINE OFFLINE
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
3)删除节点上的ASM
RACDB1@rac1 /home/oracle$ srvctl remove asm -n rac2
4)删除后的系统状态
RACDB1@rac1 /home/oracle$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora.RACDB.db application ONLINE ONLINE rac2
ora....DB1.srv application ONLINE ONLINE rac1
ora.....taf.cs application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
5)删除第二节点上有关ASM实例的初始化参数文件
5.1)待删除文件列表
有关ASM实例的初始化参数文件位于$ORACLE_HOME/dbs/目录下
RACDB2@rac2 /home/oracle$ ls -l $ORACLE_HOME/dbs/*ASM*
-rw-rw---- 1 oracle oinstall 1506 Oct 26 2010/u01/app/oracle/product/10.2.0/db_1/dbs/ab_+ASM2.dat
-rw-rw---- 1 oracle oinstall 1544 Oct 26 2010/u01/app/oracle/product/10.2.0/db_1/dbs/hc_+ASM2.dat
lrwxrwxrwx 1 oracle oinstall 41 Oct26 2010 /u01/app/oracle/product/10.2.0/db_1/dbs/init+ASM2.ora ->/u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r----- 1 oracle oinstall 1536 Oct 26 2010/u01/app/oracle/product/10.2.0/db_1/dbs/orapw+ASM2
2)删除上述的文件
RACDB2@rac2 /home/oracle$ rm -f $ORACLE_HOME/dbs/*ASM*
3)确认删除
RACDB2@rac2 /home/oracle$ ls -l $ORACLE_HOME/dbs/*ASM*
ls: /u01/app/oracle/product/10.2.0/db_1/dbs/*ASM*: Nosuch file or directory
3.删除第二节点与ASM实例相关的日志文件
RACDB2@rac2 /home/oracle$ rm -rf$ORACLE_BASE/admin/+ASM
4.删除/etc/oratab文件中有关ASM的内容
1)删除文件中有关ASM的信息
[root@rac2 ~]# vi /etc/oratab
#
# This file is used by ORACLE utilities. It iscreated by root.sh
# and updated by the Database Configuration Assistantwhen creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign,'#', are comments.
#
# Entries are of the form.:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the systemidentifier and home
# directory of the database respectively. Thethird filed indicates
# to the dbstart utility that the database should ,"Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are notallowed.
#
#
+ASM2:/u01/app/oracle/product/10.2.0/db_1:N
删除最后一行内容即可。
建议删除之前对该文件进行备份。
2)为防止该文件的属主和权限发生变化,可以重置。
[root@rac2 ~]# chown oracle /etc/oratab
[root@rac2 ~]# chmod 664 /etc/oratab
[root@rac2 ~]# ls -l /etc/oratab
-rw-rw-r-- 1 oracle root 722 Oct 26 19:30 /etc/oratab
到此,ASM的删除任务已经完成。
5.小结
此ASM的删除过程可以说是比较通用的做法,只要细心处理ASM出现过的地方,一般不会出现太大的问题。