Linux下Oracle10g不能啟動之 could not open parameter file
關(guān)鍵字: oracle lrm-00109: could not open parameter file '/opt/oracle 今天開發(fā)服務(wù)器突然連接不上,sqlplus /nolog、conn /as sysdba、startup命令后顯示
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle10g/product/10.2/db_1/dbs/initORA10G.ora'
查找文件,果然不存在。估計是非法關(guān)機(jī)造成的。
這是因為在oracle9i和oracle10g中,oracle默認(rèn)將使用spfile啟動數(shù)據(jù)庫,如果spfile不存在,則就會出現(xiàn)上述錯誤。
解決方法1(已經(jīng)驗證):
將$ORACLE_BASE/admin /數(shù)據(jù)庫名稱/pfile目錄下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目錄下 initoracle.ora即可。(注:initoracle.ora中的oracle為你的實例名 ORACLE_SID)
解決方法2:
用oraenv命令來改變當(dāng)前環(huán)境的SID,然後用pfile重新產(chǎn)生spfile,就可以啟動數(shù)據(jù)庫了.
改變SID:
[oracle@willie root]$ source oraenv
ORACLE_SID = [oracle] ? test1
bash: /root/.bashrc: Permission denied
重新產(chǎn)生spfile:
SQL> create spfile from pfile;
File created.
SQL> startup
ORACLE instance started.
附:Linux下oracle操作命令
重啟oracle
lsnrctl stop
sqlplus /nolog
conn /as sysdba
shutdown (startup)
exit
lsnrctl start
啟動oracle
sqlplus /nolog
conn /as sysdba
startup
exit
lsnrctl start
關(guān)閉oracle
lsnrctl stop
sqlplus /nolog
conn /as sysdba
shutdown
exit
查看Oracle是否啟動
netstat -an |grep 1521
重要提示:手工啟動關(guān)閉數(shù)據(jù)庫時,linux會讀取系統(tǒng)的ORACLE_SID系統(tǒng)變量。 如果存在多個數(shù)據(jù)庫,在操作之前應(yīng)該修改一下ORACLE_SID變量使之指向要操作的數(shù)據(jù)庫 。如 export ORACLE_SID=OANET,則啟動、關(guān)閉的都是OANET實例。
附加:啟動時的SID要與dbs下的“initSID.ora”中的SID一致。這樣才能相對應(yīng)。如果沒有需從$ORACLE_BASE/admin /數(shù)據(jù)庫名稱/pfile目錄下copy init.ora.012009233838形式的文件,后把ora改成對應(yīng)的SID.