设为首页 加入收藏

TOP

由于OCR文件损坏造成Oracle RAC不能启动的现象和处理方法(一)
2017-03-30 14:17:18 】 浏览:815
Tags:由于 OCR 文件 损坏 造成 Oracle RAC 不能 启动 现象 处理 方法

在RAC上默认OCR文件每四个小时会备份一次,可以使用命令ocrconfig -showbackup查看备份文件的生成时间和位置,每次备份只在一个节点上生成数据。


上午检查时得到的数据:


下午4点时检查得到的数据:


其中最新的备份总是命名为backup00.ocr,同时保留一份上周的备份和前一天的备份,这里因为集群是在08/16日首次启动的,所以week.ocr和day.ocr是同一个文件。


可以使用ocrdump命令将OCR文件的内容转换成文本形式。


Oracle建议在任何集群配置变更前备份ocr文件,这是可以通过命令进行手动逻辑备份。需要使用root用户进行执行。


使用ocrcheck命令。


登录ASMCMD,一般在集群名文件夹下可以找到OCRFILE文件夹,系统使用的OCR文件就在此文件夹下面。


因为不能在ASMCMD下编辑文件,所以从其它集群复制一个到本集群,然后使用命令还原。


若直接还原文件,会出现错误,原因是ASM没有启动,而目标OCR文件是存放在ASM磁盘上面的。


方法是只启动cssd,然后在sqlplus中启动ASM。同时确认CRS没有启动。


然后可以执行ocrconfig -restore命令。


在OCR修改后再尝试重启CRS,可以看到CRS最终没有启动。


在日志crsd.trc中出现错误,目测第一个错误就是没有grid用户,因为测试环境上GI不是用grid用户搭建的。


这时,可以看到ASM还是启动的,可以用sqlplus启动数据库,从而实现单节点运行。
但是首次启动时报spfile不存在错误,应该是OCR文件错误造成的spfile变更。


可以通过,增加一个spfile文件别名使数据库启动时找到spfile文件。


再次启动数据库正常


同样的方式可以启动第二个节点的实例,且实例间的事物一致性。


ol6-121-rac1 2016/08/18 07:32:31 /u01/app/12.1.0.2/grid/cdata/ol6-121-scan/backup00.ocr 0


ol6-121-rac1 2016/08/18 03:32:26 /u01/app/12.1.0.2/grid/cdata/ol6-121-scan/backup01.ocr 0


ol6-121-rac1 2016/08/17 23:32:22 /u01/app/12.1.0.2/grid/cdata/ol6-121-scan/backup02.ocr 0


ol6-121-rac1 2016/08/17 03:32:08 /u01/app/12.1.0.2/grid/cdata/ol6-121-scan/day.ocr 0


ol6-121-rac1 2016/08/16 23:32:05 /u01/app/12.1.0.2/grid/cdata/ol6-121-scan/week.ocr 0
PROT-25: Manual backups for the Oracle Cluster Registry are not available


[oracle@ol6-121-rac1 ~]$ ps -ef | grep crs
oracle 2669 3366 0 15:46 pts/1 00:00:00 grep crs
[oracle@ol6-121-rac1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online


[root@ol6-121-rac1 ~]# /u01/app/12.1.0.2/grid/bin/ocrconfig -restore /u01/app/12.1.0.2/grid/cdata/ol6-121-scan/week.ocr


[root@ol6-121-rac2 ~]# /u01/app/12.1.0.2/grid/bin/crsctl start crs
CRS-4640: Oracle High Availability Services is already active
CRS-4000: Command Start failed, or completed with errors.
[root@ol6-121-rac2 ~]# /u01/app/12.1.0.2/grid/bin/crsctl start cluster
CRS-2672: Attempting to start 'ora.crsd' on 'ol6-121-rac2'
CRS-2676: Start of 'ora.crsd' on 'ol6-121-rac2' succeeded
[root@ol6-121-rac2 ~]# /u01/app/12.1.0.2/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE ol6-121-rac2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE ol6-121-rac2 STABLE
ora.asm
ONLINE ONLINE ol6-121-rac2 Started,STABLE
ora.net1.network
ONLINE ONLINE ol6-121-rac2 STABLE
ora.ons
ONLINE ONLINE ol6-121-rac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE ol6-121-rac2 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE ol6-121-rac2 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE ol6-121-rac2 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE ol6-121-rac2 169.254.42.254 192.1
68.1.102,STABLE
ora.cvu
1 ONLINE ONLINE ol6-121-rac2 STABLE
ora.mgmtdb
1 ONLINE OFFLINE o

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL集群在断网后再启动报“Unab.. 下一篇RMAN恢复RAC备份到高版本单机环境

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目