Oracle
Oracle XE 10g:缺少文件 spfileXE.ora(Windows Server 2008 64 位)
我在 Windows Server 2008 64 位機器上安裝 Oracle XE 10g 時遇到問題。
安裝後與數據庫管理頁面http://127.0.0.1:8080/apex的連接失敗。
如果我執行
sqlplus / as sysdba
我得到錯誤ORA-12560: TNS:protocol adapter error
。查看服務,我可以看到 OracleServiceXE 沒有啟動(即使啟動類型是自動的)。
我重新啟動服務並重新執行
c:\>sqlplus / as sysdba (...) Connected to an idle instance. SQL> startup ORA-01078: failure in processing system parameters ORA-01565: error in identifying file 'C:\oraclexe\app\oracle\product\10.2.0\server\dbs/spfileXE.ora' ORA-27041: unable to open file OSD-04002: unable to open file O/S-Error: (OS 2) The system cannot find the file specified.
是否可以以某種方式重新創建該文件?我已經嘗試解除安裝並重新安裝,並且得到了完全相同的行為。
我假設你在某處有一個 pfile?在您的問題中尋找 spfile 的目錄中,或者在 admin\pfile 目錄中。無論如何,嘗試:
sqlplus / as sysdba create spfile from pfile='<location of pfile>' startup
那應該這樣做。
編輯:
您總是可以以這種方式來回使用您的 spfile 和 pfile。最好有一個 spfile 的文本文件備份,因為您不能直接編輯 spfile(您只能在安裝數據庫時更改它):
create pfile='<pfile location>' from spfile;
spfile 使您能夠在數據庫打開時更改動態參數而無需重新啟動數據庫,並使它們在數據庫重新啟動時永久存在:
alter system set open_cursors=new limit scope=both
這使得正在執行的數據庫以及 spfile 中的更改使其在數據庫重新啟動時生效。
使用舊的 pfile 範例,您必須手動編輯 pfile 以使更改在重新啟動後生效。此外,您可以在數據庫啟動時修改 spfile 中需要重新啟動數據庫的參數,以在下次重新啟動時生效:
alter system set sga_max_size=new_sga_max scope=spfile
此參數不能修改正在執行的實例,但可以使其在下次重啟時生效。