oracle的rac下ora.ora11g.inst1状态为offline

suse10sp2+oracle11gR1+rac

前段时间由于数据库故障,幸好提前备份了数据库,临时装了一个数据库,业务凑活着用。经过这一次,感觉备份是多么的重要啊,否则,肯定要被骂的狗血喷头了。。。

也是这一次发现自己有很多东西要学习,因此记下来提高自己,有错误的也请大家见谅,才疏学浅

备份,备份。。。

exp/imp

貌似11g有了数据泵的概念,据说效率很高expdb/impdb,具体参数还是搜一下,表示没有用过,依然很土的在用exp/imp。

//分割线

之前存储故障,导致数据文件不一致,数据库无法启动,无奈,重建数据库之后,crs_stat -t 检查状态的时候,其中ora.ora11g.inst1,ora.ora11g.inst2,ora.ora11g.db都是offline的 ,其他资源都是online的,但是可以手动拉起数据库,实例也是open的。很是纳闷。。。

于是在网上一顿找,恶补一下rac的知识,半路出家啊,差距啊

1. 手动启动ora.ora11g.inst1,crs_start -f ora.ora11g.inst1,启动之后状态为unknown,检查alert.log和crs.log,报的错也没有怎么看懂,记得有一条error =-2什么的,记不太清楚了

2. 由于状态为unknown之下,是无法启动资源的,即使启动也是会报错的,因此先执行crs_stop -f ora.ora11g.inst1停掉,状态为offline之后

3. 在一个节点手动关闭crs,执行init.crs stop,节点1的资源的状态都变成offline之后,执行int.crs start 竟然ora.ora11g.inst1状态也变成online了,好现象

4.在节点2执行相同的操作,所有的状态都是online了,赶紧看一下数据库的实例的状态,select status from V$instance;

提示oracle not available

进程ID: 0

会话ID:0 等

5.又是一顿找,在本机上sqlplus连接就提示以上的问题,检查oracle_SID,oracle环境变量等

env|grep oracle

检查监听状态也是正常的

lsnrctl status

6.网上看到有说oracle_home路径的最后多一个/和少一个/的云云,对应检查一下env|grep oracle  oracle_home路径的最后没有/,export试一下,连接上了,检查实例的状态也是open的。于是直接修改.bashrc中oracle_home的路径最后都添加一个/,连接正常,实例状态都是open。

数据库启动了,但是连接不上应该是环境变量的问题吧

剩下的工作就是创建用户,导入数据库,修改业务配置文件,数据库就可以用了。

以备以后使用吧,最好以后不用,数据库不出故障

 
 
启动某个单独的资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值