解决方法:

 $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仍然认为内存被锁住了。通过移除sgadefkl文件,就移除了通知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