oracle启动包找不到数据文件,oracle数据库,启动报错,找不到initorcl.ora文件

oracle数据库,启动报错,找不到initorcl.ora文件

大年初一,客户发信息说机房断电,所有系统需要重启,在启动oracle数据库的时候,突然就报错,

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/opt/oracle/product/dbs/initorcl.ora'

说找不到initorcl.ora文件,回忆了一下,这个数据库的安装,是一路默认安装,后面把默认的数据库实例 orcl删除,有重新创建了一个数据库实例(这里用xx表示),网上搜了一下,说只需要把 /home/oracle/app/oracle/admin/xx/pfile/init.ora.10242017153319 文件copy到 /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs下面,重命名为initorcl.ora即可,然后重启数据库,就行了,按照该方法试了以后,数据库确实启动了,后面自习分析了一下initorcl.ora里面的内容,总结了一下oracle数据库的启动。发现我的问题原因是

oracle启动的时候, 命令 startup; 使用的是默认的spfile,由于在数据库安装的时候,使用的是默认安装实例 orcl,所以在数据库启动的时候,依然会使用initorcl.ora这个文件,解决该问题的一个办法是:

startup pfile='/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initxx.ora'

当然,如果使用上面的命令进行启动,则不需要copy文件,进行重命名。这种启动方式,在开发中,可能会出现jdbc连接不上数据库,报错代码是17002,state=08006。

此时,查询了一下,oracle启动以后,运行的实例,发现依然是 orcl,oracle的 ORACLE_SID没有改变,回忆了一下oracle数据库启动的时候,默认spfile也是orcl,那么oracle启动的时候,使用的initorcl.ora是不是就是根据ORACLE_SID来寻找文件的呢?

验证方式如下:

关闭数据库

sqlplus /nolog

conn / as sysdba;

shutdown immediate;

首先查看系统的ORACLE_SID

echo $ORACLE_SID // orcl

修改系统的ORACLE_SID

export $ORACLE_SID=xx

重命名 /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/下的 initorcl.ora文件为 initxx.ora(initxx.ora一般已经存在改目录下,如果已存在,就不需要再重命名initorcl.ora,直接备份一下改文件 initorcl.ora.bak)

在执行修改ORACLE_SID的命令窗口中,登入数据库,直接使用 startup;启动数据库。发现数据库能够正常启动,jdbc连接测试正常……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值