ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 11gR2 srvctl 命令启动数据库不成功处理总结

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

原创 Linux操作系统 作者:paulyibinyi 时间:2011-04-18 17:04:02 0 删除 编辑

客户所在主机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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
学习数据库

注册时间:2007-12-11

  • 博文量
    902
  • 访问量
    6597824