oracle 11gR2 srvctl 命令启动数据库不成功处理总结

客户所在主机415号下午19点钟后做相关维护,需要关闭数据库,维护主机任务完成后,用srvctl start database命令启动数据库不成功,用sqlplus方式数据库能正常打开,虽然数据库能打开,但ora.db.db资源offline,导致db service_name起不来,监听不到,外面应用连接失败。

问题报错如下:

CRS-2640: Required resource ‘ora.paulyitest.dg’ is missing

现把此次分析处理过程总结如下:


1   背景

我在2011-03-24针对db 数据库,创建paulyitest磁盘组来做测试,创建diskgroup方法是用命令方式创建,删除diskgroup方法也是命令方式删除。

2   分析过程

2.1 查看数据库日志

正常,没有与paulyitest 磁盘组相关报错信息。

2.2    查看集群日志

$ORACLE_HOME/log/nfzhdb下的日志

srvctl start database也是报

  CRS-2640: Required resource ‘ora.paulyitest.dg’ is missing

2.3    查看监听日志

正常,没有与paulyitest 磁盘组相关报错信息。

2.4 asmca图形工具检查

paulyitest 磁盘组不存在

2.5    检查asm实例参数

asm_diskgroups 参数

参数下面也没有paulyitest磁盘组

2.6    srvctl 启动数据库方式去掉丢失的磁盘组

srvctl modify database -d DB -a “DGsystem,dgrecover”

srvctl disable diskgroup -g paulyitest

  srvctl remove diskgroup -g paulyitest –f

 

srvctl start database –d DB

启动成功,查看监听状态可以监听到db服务,外面应用连接成功。

3          分析总结及建议

    删除磁盘组引起监听不到数据库service_name问题第一次遇到,好在及时发现问题和迅速解决问题,没有给生产带来什么影响,这是经验和教训,所以针对这个问题,提出以下两点建议:

1.  oracle 11gR2版本,建议添加与删除磁盘组用asmca图形工具来做。

2.  命令方式,建议参考以下解决方法:

第一:创建磁盘组

节点1创建

create diskgroup dgtest EXTERNAL REDUNDANCY ‘/dev/rhdisk1’ size 200G;

节点2加载

alter diskgroup dgtest mount;

如果节点2不加载,会在节点2日志中报相关这个磁盘组中数据文件不存在的错误信息。

第二:删除磁盘组

节点2 卸载

Alter diskgroup dgtest dismount;

节点1删除

       DROP DISKGROUP dgtest INCLUDING CONTENTS;

再用srvctl 命令做以下操作       

srvctl modify database -d MYDB -a “DATA1_DG”;

  -a 后面输入保留要的DG信息

srvctl disable diskgroup -g dgtest;

      srvctl remove diskgroup -g dgtest –f;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7199859/viewspace-692779/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7199859/viewspace-692779/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值