Linux下Oracle10g不能启动之 could not open parameter file

原文地址: http://sosuny.iteye.com/blog/453061


今天开发服务器突然连接不上,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
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

 

启动、关闭em(web方式,具体端口可以在\oracle\product\10.2.0\db_1\install下的portlist.ini查看)

emctl start dbconsole

emctl stop dbconsole

启动http://Oracle:1158/em,通过oracle用户登陆 ,emctl start dbconsole就可以登陆了!

 

查看Oracle是否启动

netstat -an |grep 1521

 

 

重要提示:手工启动关闭数据库时,linux会读取系统的ORACLE_SID系统变量。 如果存在多个数据库,在操作之前应该修改一下ORACLE_SID变量使之指向要操作的数据库 。如 export ORACLE_SID=OANET,则启动、关闭的都是OANET实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值