linux 下oracle 报错could not open parameter file 'initxxx.ora'

来源:互联网 发布:mysql 连续登陆 编辑:程序博客网 时间:2024/05/16 04:17

今天开发服务器突然连接不上,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
ORACLE_SID = [oracle] ? test1
重新產生spfile:
SQL> create spfile from pfile;
File created.

SQL> startup
ORACLE instance started.

 

 

以上是是copy别人的,这里自己强调一下,不要忘记修改你的/etc/profile文件里的sid,可能在那里你也写错了。