解決方法:
將$ORACLE_BASE/admin/數據庫名稱/pfile目錄下的init.ora.012009233838形
式的文件copy到$ORACLE_HOME/dbs目錄下initoracle.ora即可。(注:
initoracle.ora中的oracle爲你的實例名 ORACLE_SID)
find / -nameinit.ora.012009233838
find / -nameinit.ora.*
cp/URP/oracle/admin/oracle/pfile/init.ora.582016101258 /URP/oracle/
product/10.2.01/db_1/dbs/inittest.ora
SQL> startup
[root@orclsrv dbs]#ls
hc_oracle.dat hc_test.dat initdw.ora init.ora inittest.ora lkORACLE orapworacle spfileoracle.ora
[root@orclsrv dbs]#mv lkORACLE /root/
[root@orclsrv dbs]#ls
hc_oracle.dat hc_test.dat initdw.ora init.ora inittest.ora orapworacle spfileoracle.ora
這個lk<sid>
和sgadef<sid>.dbf
文件是用來鎖住共享內存的。這意味着即使沒有內存分配,Oracle仍然認爲內存被鎖住了。通過移除sgadef
和k
l文件,就移除了通知Oracle共享內存被使用的信息。這樣數據庫就可以啓動了。
[root@orclsrv dbs]#mv /root/lkORACLE /root/lkORACLE.bak
[root@orclsrv dbs]#ls
hc_oracle.dat hc_test.dat initdw.ora init.ora inittest.ora orapworacle spfileoracle.ora