今天在客戶那安裝一套oracle 11gR2 for aix的單機資料庫,存儲方式是用asm,
裝好後,因為dgsystem diskgroup au_size設定的為預設值1M,是以想把dgsystem的au_size改為4M
改的方法是删除dgsystem diskgroup,然後重新再建立dgsystem,au_size屬性設定為4M
奇怪的是删除diskgroup時報ORA-15027錯誤
SQL> drop diskgroup dgsystem including contents;
drop diskgroup dgsystem including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15027: active use of diskgroup "DGSYSTEM" precludes its dismount
通過查詢v$asm_client視圖,沒有用戶端使用者進行連接配接。
dismount 磁盤組也是報這個錯
SQL> alter diskgroup dgsystem dismount;
alter diskgroup dgsystem dismount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15027: active use of diskgroup "DGSYSTEM" precludes its dismount
最後通過檢查spfile參數
SQL> show parameter instance_type
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_type string asm
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +dgsystem/asm/asmparameterfile/registry.253.697740955
spfile參數放在dgsystem磁盤組中,這是因為如果要用asm磁盤組,必須先建立asm執行個體,R2
而oracle 11gR2版本中,你安裝grid 軟體時,必須先建立asm執行個體和至少一個磁盤組,來存放spfile
參數,預設放在asm磁盤組中,找到問題原因了,解決方法就比較簡單,用pfile啟動,删除後,再重新把
spfile建立回磁盤組中。
SQL> create pfile='$ORACLE_HOME/dbs/init+ASM.ora' from spfile='+dgsystem/asm/asmparameterfile/registry.253.697740955';
SQL> shutdown immediate
SQL> startup pfile=$ORACLE_HOME/dbs/init+ASM.ora
SQL> drop diskgroup dgsystem including contents;
sql>
create diskgroup dgsystem external REDUNDANCY disk '/dev/rhdisk2' ATTRIBUTE 'AU_SIZE'='4M';
SQL> create spfile='+dgsystem' from pfile='$ORACLE_HOME/dbs/init+ASM.ora';
轉自:http://blog.itpub.net/7199859/viewspace-669656/