1.问题再现
1)获取OCR的备份目录信息
[root@rac1 ~]# ocrconfig -showbackup
rac1 2010/11/06 08:57:15 /oracle/app/crs/cdata/crs
rac1 2010/11/06 04:57:15 /oracle/app/crs/cdata/crs
rac1 2010/11/06 00:57:14 /oracle/app/crs/cdata/crs
rac1 2010/11/06 00:57:14 /oracle/app/crs/cdata/crs
rac1 2010/11/06 00:57:14 /oracle/app/crs/cdata/crs
2)获取OCR备份目录中的OCR备份文件
[root@rac1 ~]# cd /oracle/app/crs/cdata/crs
[root@rac1 crs]# ls -ltr
total 23560
-rw-r--r-- 1 root root 4812800 Nov 6 00:57 day.ocr
-rw-r--r-- 1 root root 4812800 Nov 6 00:57 backup02.ocr
-rw-r--r-- 1 root root 4812800 Nov 6 00:57 week.ocr
-rw-r--r-- 1 root root 4812800 Nov 6 04:57 backup01.ocr
-rw-r--r-- 1 root root 4812800 Nov 6 08:57 backup00.ocr
3)转储OCR备份文件
[root@rac1 crs]# ocrdump -backupfile backup00.ocr
PROT-302: Failed to initialize ocrdump
[root@rac1 crs]# ocrdump -backupfile /oracle/app/crs/cdata/crs/backup00.ocr
PROT-302: Failed to initialize ocrdump
这里抛出“PROT-302: Failed to initialize ocrdump”错误。
2.问题分析
通过OCR的错误转储日志文件获取故障提示信息。
1)OCR的错误转储日志文件所在的目录
$ORA_CRS_HOME/log/<hostname>/client/ocrdump_<pid>.log
2)获取OCR的报错信息
[root@rac1 client]# pwd
/oracle/app/crs/log/rac1/client
[root@rac1 client]# cat ocrdump_16807.log
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle. All rights reserved.
2010-11-09 18:24:15.689: [ OCRDUMP][1215264]ocrdump starts...
2010-11-09 18:24:15.693: [ OCROSD][1215264]utstoragetype: /oracle/app/crs/cdata/crs/backup00.ocr is on FS type 61267. Not supported.
2010-11-09 18:24:15.693: [ OCROSD][1215264]utopen:6'': OCR location /oracle/app/crs/cdata/crs/backup00.ocr configured is not valid storage type. Return code [37].
2010-11-09 18:24:15.693: [ OCRRAW][1215264]proprinit: Could not open raw device
2010-11-09 18:24:15.693: [ OCRAPI][1215264]a_init:7!: Backend init unsuccessful : [37]
2010-11-09 18:24:15.694: [ OCRDUMP][1215264]Failed to initailized OCR context. Error [PROC-37: Oracle Cluster Registry does not support the storage type configured] [37].
2010-11-09 18:24:15.694: [ OCRDUMP][1215264]Failed to initialize ocrdump stage 2
2010-11-09 18:24:15.694: [ OCRDUMP][1215264]Exiting [status=failed]...
3.问题原因
上面的错误日志中已经给出了问题原因:“存储类型不正确”。这是由于OCR的备份文件在10.2.0.4版本之前需要放在OCR兼容的设备上这个要求导致的。这是Oracle的一个Bug。该问题已经在Oracle 10.2.0.4版本中得到了修复。
有关该Bug的更多信息可以参考MOS的“OCRDUMP -BACKUPFILE Is Failing With PROT-302 [ID 782233.1]”。
4.处理方法
1)种处理方法:升级Oracle到10.2.0.4
2)将OCR的备份位置调整到OCR兼容的存储设备上
修改OCR的备份目录方法如下:
# ocrconfig -backuploc <filename>
5.小结
在Oracle RAC环境中,建议将Oracle的版本更新到新,以便防止触发Oracle各种尚未完善的Bug。
Good luck.
secooler
10.11.09
-- The End --
【OCR】无法转储OCR备份文件内容——PROT-302: Failed to initialize ocrdump
分享好友
分享这个小栈给你的朋友们,一起进步吧。
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)