報錯:
在啟動Oracle資料庫時報錯,如下:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 16 19:43:43 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'
原因分析:
這是因為在oracle10g和oracle11g中,資料庫預設將使用spfile啟動資料庫,如果spfile不存在,則就會出現上述錯誤。
解決一:
用find /u01 -name pfile命令尋找pfile檔案的位置,/u01/app/oracle/admin/orcl/pfile/
將$ORACLE_BASE/admin/orcl/pfile目錄下的init.ora.2212013132036形式的檔案copy 到$ORACLE_HOME/dbs目錄下命名為initorcl.ora即可。
(註:initorcl.ora中的orcl為你的執行個體名 ORACLE_SID,這裡我的SID為:center)
方法二:
將$ORACLE_HOME/dbs目錄下spflieorcl.ora改名為spfilecenter.ora即可。(註:spfilecenter.ora中的center為環境變數中設定的SID,我的是center)
方法三:
拷貝pfile檔案下的init.ora.61420130339到dbs下,並重新命名成init+執行個體名.ora即可
{{{
[oracle@localhost oracle]$ find /u01 -name pfile
/u01/app/admin/orcl/pfile
[oracle@localhost oracle]$ cd /u01/app/admin/orcl/pfile
[oracle@localhost pfile]$ ls
init.ora.61420130339
[oracle@localhost pfile]$ cp init.ora.61420130339 /u01/app/oracle/dbs/initdevdb.ora
}}}