|
重启RAC集群后,oracle数据库实例没有启动
- [grid@rac2 ~]$ crs_stat -t|grep OFFLINE
- ora.gsd ora.gsd.type OFFLINE OFFLINE
- ora.rac.db ora....se.type OFFLINE OFFLINE --这个应该是ONLINE
- ora.rac1.gsd application OFFLINE OFFLINE
- ora.rac2.gsd application OFFLINE OFFLINE
试着用srvctl命令启动,但是起不来
- [grid@rac2 ~]$ srvctl start database -d rac
- PRCR-1079 : 无法启动资源 ora.rac.db
- CRS-2640: 缺少必需的资源 'ora.DATA.dg'。
查看数据库的配置,发现DATA磁盘组不存在
- [grid@rac2 ~]$ srvctl config database -d rac
- 数据库唯一名称: rac
- 数据库名: rac
- Oracle 主目录: /u01/app/oracle/11.2.0/db
- Oracle 用户: oracle
- Spfile: +DATA/rac/spfilerac.ora
- 域:
- 启动选项: open
- 停止选项: immediate
- 数据库角色: PRIMARY
- 管理策略: AUTOMATIC
- 服务器池: rac
- 数据库实例: rac1,rac2
- PRCD-1012 : 无法检索数据库 rac 的磁盘组列表。
- PRCR-1035 : 无法查找 rac 的 CRS 资源 ora.DATA.dg
- PRCA-1000 : ASM 磁盘组 DATA 不存在
- PRCR-1001 : 资源 ora.DATA.dg 不存在
日志中同样能看到DATA磁盘组不存在的提示
- su - grid
- cd $ORACLE_HOME/log/rac1/crsd
- vi crsd.log
根据上面的信息,推断是ASM中的DATA磁盘组出了问题
- su - grid
- $ srvctl status diskgroup -g DATA
- PRCA-1000 : ASM 磁盘组 DATA 不存在
- PRCR-1001 : 资源 ora.DATA.dg 不存在
进入asmcmd中查看到底是否存在
- su - grid
- $ asmcmd
- ASMCMD>ls
- DATA/ --明明存在啊
- FRA/
- ORC_VOTING_DISK/
而后查询了很多资料,都是删除ASM中的磁盘组才出现的这个问题。
但是我并没有删除DATA磁盘组,最后感觉无望了,试着用在ASMCMD中umount和mount DATA磁盘组,然后使用srvctl命令重启DATA磁盘组
- $ asmcmd
- ASMCMD> umount data
- ASMCMD> mount data
- $ srvctl stop diskgroup -g data -n rac1,rac2
- $ srvctl start diskgroup -g data -n rac1,rac2
- $ srvctl status diskgroup -g DATA
- 磁盘组 data 正在rac2,rac1 上运行
启动database
$ srvctl start database -d rac
查看resource状态,正常了,问题解决。
- [grid@rac2 ~]$ crs_stat -t|grep OFFLINE
- ora.gsd ora.gsd.type OFFLINE OFFLINE
- ora.rac1.gsd application OFFLINE OFFLINE
- ora.rac2.gsd application OFFLINE OFFLINE
|
|
|
|
|
|
|