The outline of the steps involved are :
a) Backup all the ASM client database files stored on the diskgroups.
b) Dropping all the diskgroups.
c) Removing ASM resource from CRS (* RAC specific)
d) Removing ASM disk signature (In case of asmlib)
e) Remove the ASM pfile/spfile.
f) Removing ASM entry in the file oratab
g) Wipe out the disks header using dd
Following are the steps to be followed:
1) Log into the ASM instance and do 'select * from v$asm_client;'
2) For each instance listed above, stop the respective databases.
3) Backup all the datafiles, logfiles, controlfiles, archive logs, etc. that are currently using ASM storage, to tape or to filesystem (using RMAN). This needs to be done for every database (ASM client) using ASM.
** NOTE: Please make sure you have the data secure before continuing to the next step.
4) Find all the diskgroups: 'select * from v$asm_diskgroup'
5) For each diskgroup listed above:
' drop diskgroup <name> including contents'
6) Shutdown all(RAC nodes) ASM instances.
7) On RAC install verify that all asm instances are stopped
$ORA_CRS_HOME/bin/crst_stat |more <- look for ASM resources and make sure the target=offline
8) For single instance install run the following script:
$ORACLE_HOME/bin/localconfig delete
* This cleans up the CSSD configuration.
9) Invoke OUI, and now de-install the ASM Oracle home.
10) For RAC install, remove the asm related resource.
srvctl remove asm -n <nodename> <- Peform for all nodes of a RAC cluster
crs_stat |more <- make sure no asm resources exists
11) If using asmlib (on Linux only), then
a. oracleasm listdisks
b. oracleasm deletedisks (do this for every disk listed above)
c. oracleasm listdisks (to verify they have been deleted)
d. on other RAC nodes: oracleasm listdisks (to verify they have been deleted too)
e. On all nodes(RAC) :
As root run:
# /etc/init.d/oracleasm stop
# /etc/init.d/oracleasm disable
12) delete the ASM pfile or spfile
13) in the file oratab, remove the line relative to the ASM instance
14) clean out the disks headers using the dd command:
for example: dd if=/dev/zero of=/dev/<asm_disk_name> bs=1024k count=50
15) Finally clean out the possible remaining socket files as explained in the following note:
From Oracle
-------------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
Email: [email protected]
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
聊天 群:40132017 聊天2群:69087192
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请