所涉及的步骤的概要是:
a) 备份存储在磁盘组上的所有 ASM 客户机数据库文件。
b) 删除所有磁盘组。
c) 从 CRS 中删除 ASM 资源(* 特定于 RAC)
d) 删除 ASM 磁盘签名(如果是 asmlib)
e) 删除 ASM pfile/spfile。
f) 删除文件 oratab
g) 使用 dd 擦除磁盘标头

 

以下是要遵循的步骤:
1)登录到ASM实例并执行“从v$ asm_client中选择*;”
2) 对于上面列出的每个实例,停止相应的数据库。
3) 将当前使用 ASM 存储的所有数据文件、日志文件、控制文件、归档日志等备份到磁带或文件系统(使用 RMAN)。需要对使用 ASM 的每个数据库(ASM 客户端)执行此操作。

** 注意:在继续下一步之前,请确保您的数据安全无虞。

4) 查找所有磁盘组:“从 v$asm_diskgroup中选择
*” 5) 对于上面列出的每个磁盘组:
“ 删除磁盘组<名称>包括内容”
6) 关闭所有(RAC 节点) ASM 实例。

7) 在 RAC 安装时,验证所有 asm 实例是否已停止
$ORA_CRS_HOME/bin/crst_stat |更多 < - 查找 ASM 资源并确保目标 = 脱机

8) 对于单实例安装,请运行以下脚本:
$ORACLE_HOME/bin/localconfig delete

* 这将清理 CSSD 配置。

9) 调用 OUI,现在卸载 ASM Oracle 主目录。

10) 对于 RAC 安装,请删除与 asm 相关的资源。
srvctl 删除 asm -n <nodename> <- RAC 群集
的所有节点的 Peform crs_stat |更多 <- 确保不存在 asm 资源

11) 如果使用 asmlib(仅在 Linux 上),则
a. oracleasm listdisks
b. oracleasm deletedisks (对上面列出的每个磁盘执行此操作)
c. oracleasm listdisks (验证它们是否已被删除)
d. 在其他 RAC 节点上: oracleasm listdisks (验证它们也已被删除)
e.在所有节点 (RAC) 上:

As root run:
# /etc/init.d/oracleasm stop
# /etc/init.d/oracleasm disable

12) 删除 ASM 文件或 spfile

13) 在文件 oratab 中,删除相对于 ASM 实例的行

14) 使用 dd 命令清除磁盘标头:

例如:dd if=/dev/zero of=/dev/<asm_disk_name> bs=1024k count=50

15) 最后清理可能剩余的套接字文件,如以下说明所示:

侦听器无法启动,出现 IPC 权限错误 (TNS-12546 TNS-12555 TNS-00516 TNS-00525) (文档 ID 434062.1)