11gR2 删除磁盘组报ORA-15027 错误解决方法

重建数据库删除diskgroup时报ORA-15027错误
SQL> drop diskgroup DATA including contents;
drop diskgroup DATA including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15027: active use of diskgroup "DATA" precludes its dismount


通过查询v$asm_client视图,没有客户端用户进行连接。
SQL> select * from v$asm_client;
no rows selected


dismount 磁盘组也是报这个错:
SQL> alter diskgroup DATA dismount;
alter diskgroup DATA dismount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15027: active use of diskgroup "DATA" precludes its dismount

最后通过检查spfile参数
SQL> show parameter instance_type


NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
instance_type                        string
asm
SQL>
SQL> show parameter pfile


NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
spfile                               string
+DATA/asm/asmparameterfile/registry.253.774826161

spfile参数放在DATA磁盘组中,这是因为如果要用asm磁盘组,必须先建立asm实例,而oracle 11gR2版本中,你安装grid 软件时,必须先建立asm实例和至少一个磁盘组,来存放spfile参数,默认放在asm磁盘组中,找到问题原因了,解决方法就比较简单,用pfile启动,删除后,再重新把spfile创建回磁盘组中。

创建pfile
SQL> create pfile='$ORACLE_HOME/dbs/init+ASM.ora' from spfile='+DATA/asm/asmparameterfile/registry.253.774826161';
File created.
关闭实例
SQL> shutdown immediate
ASM diskgroups volume disabled
ASM diskgroups dismounted
ASM instance shutdown
以pfile启动asm实例
SQL> startup pfile='$ORACLE_HOME/dbs/init+ASM.ora'
ASM instance started

Total System Global Area  283930624 bytes
Fixed Size                  2218928 bytes
Variable Size             256545872 bytes
ASM Cache                  25165824 bytes
ORA-15110: no diskgroups mounted

可能会出现ORA-15110的错误,这是因为在pfile里面没有diskgroup的配置信息,所欲需要手动把DATA磁盘组mount起来
SQL> alter diskgroup data mount;
Diskgroup altered.

这时候就可以删除磁盘组DATA了
SQL> drop diskgroup data including contents;
Diskgroup dropped.

可以使用以下命令创建新的磁盘组,也可以使用asmca工具创建
create diskgroup DATA external REDUNDANCY disk '/dev/rhdisk1' ATTRIBUTE 'AU_SIZE'='12M';
创建完磁盘组后,需要重建spfile文件到DATA磁盘组上,然后重启ASM实例
create spfile='+DATA' from pfile='$ORACLE_HOME/dbs/init+ASM.ora';


你可能感兴趣的:(oracle,sql,数据库,cache,System,磁盘)