在Oracle 11g的ASM实例上删除diskgroup报错ORA-15027
在Oracle 11g的ASM实例上删除diskgroup报错ORA-15027
在Oracle 11g 的ASM 实例上删除diskgroup 操作。
删除时报错ORA-15027: active use of diskgroup precludes its dismount ,如下:
SQL> drop diskgroup webdg including contents;
drop diskgroup webdg including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15027: active use of diskgroup "WEBDG" precludes its dismount
在删除之前我已经关闭了数据库实例,ASM 实例上还会有什么客户端连接呢?
SQL> select * from v$asm_client;
GROUP_NUMBER INSTANCE_NAME
------------ ----------------------------------------------------------------
DB_NAME STATUS
-------- ------------
SOFTWARE_VERSION
------------------------------------------------------------
COMPATIBLE_VERSION
------------------------------------------------------------
1 +ASM2
+ASM CONNECTED
11.2.0.1.0
11.2.0.1.0
GROUP_NUMBER INSTANCE_NAME
------------ ----------------------------------------------------------------
DB_NAME STATUS
-------- ------------
SOFTWARE_VERSION
------------------------------------------------------------
COMPATIBLE_VERSION
------------------------------------------------------------
2 +ASM2
asmvol CONNECTED
11.2.0.1.0
11.2.0.1.0
磁盘组webdg 的group_number 值是2 ,这实例+ASM2 上有一个asmvol 连接。这是11g 中的新功能,在磁盘组上建立的逻辑卷。我在建立ASM 实例时,出于测试的目的,创建ASM 卷组,并以ACFS 的文件格式挂载到了操作系统上。
SQL> host;
[grid@serv2 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p3 39G 8.5G 29G 23% /
/dev/cciss/c0d0p6 185G 157G 20G 90% /oradata
/dev/cciss/c0d0p2 291G 46G 230G 17% /u01
/dev/cciss/c0d0p1 99M 12M 82M 13% /boot
tmpfs 12G 224M 12G 2% /dev/shm
/dev/asm/vg1-229 40G 146M 40G 1% /u01/app/grid/acfsmounts/webdg_vg1
192.168.15.56:/u02 1008G 383G 574G 41% /u02
[grid@serv2 ~]$ exit
因此,需要将该挂载点umount 掉,再disable 逻辑卷组才能删除磁盘组webdg 。
在RAC 的两个节点上使用umount 命令umount 掉所有挂载点。
[root@serv2 ~]# /bin/umount -t acfs -a
再次使用drop diskgroup webdg including contents; 命令删除磁盘组webdg 。
SQL> drop diskgroup webdg including contents;
drop diskgroup webdg including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15073: diskgroup WEBDG is mounted by another ASM instance
这次报错显示的是在另外一个ASM 实例上还mounted 了该磁盘组。这是RAC 常见的错误,因为在RAC 中磁盘组是同时挂载在两个ASM 实例上的。
在两个ASM 实例上同时dismount 掉磁盘组,,这里使用了force 选项。
SQL> alter diskgroup webdg dismount force;
Diskgroup altered.
在其中一个ASM 实例上drop 磁盘组,没有force 会不成功,继续加force 。
SQL> drop diskgroup webdg including contents;
drop diskgroup webdg including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15001: diskgroup "WEBDG" does not exist or is not mounted
SQL> drop diskgroup webdg force including contents;
Diskgroup dropped.
SQL>
至此,磁盘组终于删除掉了。
更多Oracle相关信息见Oracle 专题页面 ?tid=12
上一篇: sql如何创建临时表