今天oracle开发服务器突然连接不上,sqlplus /nolog、conn /as sysdba、startup命令后显示,sqlgt; startup ora-01078: failure
今天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@ root]$ source oraenv
oracle_sid = [oracle] ? test1
bash: /root/.bashrc: permission denied
重新产生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
关闭oracle
lsnrctl stop
sqlplus /nolog
conn /as sysdba
shutdown
exit
查看oracle是否启动