linux oracle 网络安全 编程
分类: Oracle
2013-12-29 22:26:00
could not open parameter file initOrcl.ora
2009-10-20 08:28
http://hi.baidu.com/tommyhi/blog/item/e97336b6316369fe30add1db.html
Linux下Oracle10g不能启动之 could not open parameter file
关键字: oracle lrm-00109: could not open parameter file '/opt/oracle
今天开发服务器突然连接不上,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'
查找文件,果然不存在。估计是非法关机造成的。
这是因为在oracle9i和oracle10g中,oracle默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决方法1(已经验证):
将$ORACLE_BASE/admin /数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下 initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)
解决方法2:
用oraenv命令來改變當前環境的SID,然後用pfile重新產生spfile,就可以啟動數據庫了.
改變SID:
[oracle@willie root]$ source oraenv (这个命令是用来修改SID的)
ORACLE_SID = [oracle] ? test1
bash: /root/.bashrc: Permission denied
重新產生spfile:
SQL> create spfile from pfile;
(我做到这一步的时候,SID虽然改变了,但是还是说找不到parameter file,因为我的SID是PDBQZ.开始是找不到Orcl,我就将init.ora.012009233838形式的文件拷贝到$ORACLE_HOME/dbs目录下,然后重命名为initPDBQZ.ora,这样就成功了。我是两种方式结合,遇到的情况有点特殊。自己重建了SID)
File created.
SQL> startup
ORACLE instance started.