Oracle 增加控制檔案遇到的問題

regonly1發表於2009-09-17

今天測試了一下如何增加一個控制檔案。
首先設定引數:
alter system set control_files='e:\oracle\oradata\orcl\control01.ctl,
e:\oracle\oradata\orcl\control02.ctl,
e:\oracle\oradata\orcl\control03.ctl,
c:\oractl\control04.ctl' scope=spfile;
然後備份控制檔案:
alter database backup controlfile to 'c:\oractl\control04.ctl';
關閉資料庫,然後重啟:
shutdown immediate;
startup;
然後就出現了ora-00205的錯誤。檢查alter.log,發現如下內容:
Thu Sep 17 16:37:32 2009
ORA-205 signalled during: alter database mount...
Thu Sep 17 16:41:57 2009
alter database mount
Thu Sep 17 16:41:57 2009
ORA-00202: control file: 'E:\ORACLE\ORADATA\ORCL\CONTROL01.CTL,E:\ORACLE\ORADATA\ORCL\CONTROL02.CTL,E:\ORACLE\ORADATA\ORCL\CONTROL03.CTL'
ORA-27041: unable to open file
OSD-04002: 無法開啟檔案
O/S-Error: (OS 123) 檔名、目錄名或卷標語法不正確。

開始搞不明白為什麼會報這個錯誤,我檢查了路徑和檔案都是存在的。
於是google。結果搞明白,原來是每個控制檔案的路徑及檔名都要用單引號引起來。而我則是把所有控制檔案用前後兩個單引號引起來了。導致了該錯誤。
那怎麼辦呢?
1、先用spfile啟動至nomount階段:
startup nomount;
2、建立pfile:
create pfile='d:\initorcl.ora' from spfile;
3、修改initorcl.ora檔案中的控制檔案引數部分:
*.control_files='E:\oracle\oradata\orcl\control01.ctl','E:\oracle\oradata\orcl\control02.ctl','E:\oracle\oradata\orcl\control03.ctl','c:\oractl\control04.ctl'
4、用修改後的pfile啟動:
startup pfile='d:\initorcl.ora';
5、啟動成功,趕緊生成spfile:
create spfile from pfile;
6、搞定,再次重啟,以spfile啟動:
shutdown immediate;
startup;
OK,解決問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-614917/,如需轉載,請註明出處,否則將追究法律責任。

相關文章