近期在给客户基于Suse 11 sp3安装Oracle 10g RAC,在安装完clusterware运行/u01/app/crs/root.sh时收到错误提示。Failed to upgrade Oracle Cluster Registry configuration因为当前的环境使用了多路径,从Oracle的描写叙述来看。这是一个Oracle Bug(4679769),假设你有同样的问题,请接着往下看。

一、故障现象
suse11a:/u01/app/crs # /u01/app/crs/root.sh
WARNING: directory '/u01/app' is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory
Setting up NS directories
Failed to upgrade Oracle Cluster Registry configuration  #此处为错误提示

#以下使用clsfmt命令时提示Received unexpected error。注。/u01/app/crs 为ORA_CRS_HOME。
suse11a:/ # /u01/app/crs/bin/clsfmt ocr /dev/raw/raw1
clsfmt: Received unexpected error 4 from skgfifi
skgfifi: Additional information: -2
Additional information: 1073741824

#以下是详细的错误日志
suse11a:/u01/app/crs/log/suse11a/client # pwd
/u01/app/crs/log/suse11a/client

suse11a:/u01/app/crs/log/suse11a/client # more ocrconfig_24066.log
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.  All rights reserved.
2014-08-11 11:52:14.993: [ OCRCONF][2176517888]ocrconfig starts...
2014-08-11 11:52:14.994: [ OCRCONF][2176517888]Upgrading OCR data
2014-08-11 11:52:15.100: [  OCRRAW][2176517888]propriogid:1: INVALID FORMAT
2014-08-11 11:52:15.101: [  OCRRAW][2176517888]ibctx:1:ERROR: INVALID FORMAT
2014-08-11 11:52:15.101: [  OCRRAW][2176517888]proprinit:problem reading the bootblock or superbloc 22

2014-08-11 11:52:15.102: [ default][2176517888]a_init:7!: Backend init unsuccessful : [22]
2014-08-11 11:52:15.102: [ OCRCONF][2176517888]Exporting OCR data to [OCRUPGRADEFILE]
2014-08-11 11:52:15.102: [  OCRAPI][2176517888]a_init:7!: Backend init unsuccessful : [33]
2014-08-11 11:52:15.102: [ OCRCONF][2176517888]There was no previous version of OCR. error:[PROC-33: Oracle Cluster Registry is not configured]
2014-08-11 11:52:15.108: [  OCRRAW][2176517888]propriogid:1: INVALID FORMAT
2014-08-11 11:52:15.108: [  OCRRAW][2176517888]ibctx:1:ERROR: INVALID FORMAT
2014-08-11 11:52:15.108: [  OCRRAW][2176517888]proprinit:problem reading the bootblock or superbloc 22

2014-08-11 11:52:15.108: [ default][2176517888]a_init:7!: Backend init unsuccessful : [22]
2014-08-11 11:52:15.113: [  OCRRAW][2176517888]propriogid:1: INVALID FORMAT
2014-08-11 11:52:15.113: [  OCRRAW][2176517888]ibctx:1:ERROR: INVALID FORMAT
2014-08-11 11:52:15.113: [  OCRRAW][2176517888]proprinit:problem reading the bootblock or superbloc 22

2014-08-11 11:52:15.118: [  OCRRAW][2176517888]propriogid:1: INVALID FORMAT
2014-08-11 11:52:15.126: [  OCRRAW][2176517888]propriowv: Vote information on disk 0 [/dev/raw/raw1] is adjusted from [0/0] to [2/2]
2014-08-11 11:52:15.137: [  OCRRAW][2176517888]propriniconfig:No 92 configuration
2014-08-11 11:52:15.137: [  OCRAPI][2176517888]a_init:6a: Backend init successful
2014-08-11 11:52:15.165: [ OCRCONF][2176517888]Initialized DATABASE keys in OCR
2014-08-11 11:52:15.176: [ OCRCONF][2176517888]csetskgfrblock0: clsfmt returned with error [4].
2014-08-11 11:52:15.176: [ OCRCONF][2176517888]Failure in setting block0 [-1]
2014-08-11 11:52:15.176: [ OCRCONF][2176517888]OCR block 0 is not set !
2014-08-11 11:52:15.176: [ OCRCONF][2176517888]Exiting [status=failed]...

二、解决故障
#因为该故障是使用多路径时产生的一个Bug。因此直接參考DocID 466673.1予以解决
#以下是下载补丁4679769之后步骤

suse11a:/robin # unzip p4679769_10201_Linux-x86-64.zip #解压补丁
Archive:  p4679769_10201_Linux-x86-64.zip
   creating: 4679769/
  inflating: 4679769/README.txt      
  inflating: 4679769/clsfmt.bin

suse11a:/robin # cp /u01/app/crs/bin/clsfmt.bin /u01/app/crs/bin/clsfmt.bin.bak 
suse11a:/robin # cp ./4679769/clsfmt.bin /u01/app/crs/bin/clsfmt.bin  #覆盖原文件(注该操作仅在安装节点运行就可以)
suse11a:/robin # chmod 755 /u01/app/crs/bin/clsfmt.bin                #授予权限
suse11a:/robin # /u01/app/crs/bin/clsfmt.bin ocr /dev/raw/raw1        #使用clsfmt.bin验证成功
# Author : Leshami
# Blog   : http://blog.csdn.net/leshami

#以下使用dd命令清除ocr 与votingdisk 磁盘(当前的2个裸设备大小为1G)
#注意一定要dd,否则root.sh依然不能成功
suse11a:~ # dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=800
800+0 records in
800+0 records out
838860800 bytes (839 MB) copied, 2.64104 s, 318 MB/s
suse11a:~ # dd if=/dev/zero of=/dev/raw/raw2 bs=1024k count=800
800+0 records in
800+0 records out
838860800 bytes (839 MB) copied, 3.21852 s, 261 MB/s

#再次使用clsfmt.bin验证成功
clsfmt: successfully initialized file /dev/raw/raw1
suse11a:/robin # /u01/app/crs/bin/clsfmt.bin ocr /dev/raw/raw2
clsfmt: successfully initialized file /dev/raw/raw2

#再次自行root.sh成功
suse11a:/robin # /u01/app/crs/root.sh

三、DocID 466673.1
APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
Linux x86
IBM: Linux on POWER Systems
Linux x86-64
Linux Itanium
***Checked for relevance on 11-Mar-2013***
SYMPTOMS

On a new clusterware installation on Linux root.sh script is failing with the following error while running root.sh on the first node:

PROT-1: Failed to initialize ocrconfig
Failed to upgrade Oracle Cluster Registry configuration

The problem can be tracked down to clsfmt command:

./clsfmt ocr /dev/raw/raw1
     clsfmt: Received unexpected error 4 from skgfifi
     skgfifi: Additional information: -2
     Additional information: 1000718336

CHANGES

It has been found that the following changes can cause this problem to occur:

1. Use Mutiple Path (MP) disk configuration, may hit this issue.
2. Use EMC device (powerpath**) may hit this issue.

But it was not confirmed that these are the only things that can cause this problem to occur, as it has been found that on other hardware and configuration the problem might occur, the key change in this issue is that if the disk size presented from the storage to the cluster nodes are not dividable by 4K the problem should occur.

CAUSE

This issue is addressed in Bug:4679769 which states that this is a known issue with the clusterware installation on platforms: Linux x86, x86-64 and "IBM Power Based Linux".

SOLUTION

Before running the root.sh on the first node in the cluster do the following:

1. Download Patch:4679769 from Metalink (contains a patched version of clsfmt.bin).
2. Do the following steps as stated in the patch README to fix the problem:
Note:  clsfmt.bin need only be replaced on the 1st node of the cluster

# Patch Installation Instructions:
# --------------------------------
# To apply the patch, unzip the PSE container file:
#
# p4679769_10201_LINUX.zip
#
# Set your current directory to the directory where the patch
# is located:
#
# % cd 4679769
#
# Copy the clsfmt.bin binary to the $ORACLE_HOME/bin directory where
# clsfmt is being run:
#
# % cp $ORACLE_HOME/bin/clsfmt.bin $ORACLE_HOME/bin/clsfmt.bin.bak
# % cp clsfmt.bin $ORACLE_HOME/bin/clsfmt.bin
#
# Ensure permissions on the clsfmt.bin binary are correct:
#
# % chmod 755 $ORACLE_HOME/bin/clsfmt.bin

3. Run the root.sh script and proceed with the installation.

Failed to upgrade Oracle Cluster Registry configuration(root.sh)的更多相关文章

  1. 管理 Oracle Cluster Registry(OCR)

    oracle的clusterware包含两个重要组件:OCR(包含本地组件OLR)和voting disks --OCR管理oracle clusterware和oracle rac数据库的配置信息 ...

  2. Oracle Cluster Registry Location to be Added is not Accessible

    APPLIES TO: Oracle Server - Enterprise Edition - Version 11.2.0.1 and laterInformation in this docum ...

  3. 安装GRID时跑root.sh脚本报错(ORA-27091: unable to queue I/O)

    在安装GRID过程中,运行root.sh脚本时报如下信息: Adding Clusterware entries to upstart CRS-2672: Attempting to start 'o ...

  4. 10gR2 rac怎样重跑root.sh ?

    原文博客链接地址:10gR2 rac怎样重跑root.sh ? 前几天遇到一客户的10205 rac,出现LMD进程IPC SEND TIMEOUT问题. 准备深入研究下Oracle RAC 的LMO ...

  5. 诊断:RHEL7安装11.2RAC时root.sh错误ohasd failed to start

    RHEL 7.5中安装11gRAC时,在grid infrastructure的root.sh执行时,报错: # /oracle/product/11g/grid/root.sh ... Adding ...

  6. 如何诊断crs 安装时 root.sh 脚本执行错误

    troubleshooting root.sh problem ------*for 10g and 11.1 1.查证公网,私网的节点名是可以互相ping通的 2.---查证OCR/Voting 文 ...

  7. INS-20802 Oracle Cluster Verification Utility failed解释说明

    背景:安装RAC,安装GI集群管理软件时,在最后快结束时,总是报如上INS-错误 #官方文档:error 说明;字符串解析失败 INS-20802: string failed. Cause: The ...

  8. Oracle 12C执行root.sh CLSRSC-119 CRS-8503 CLSRSC-366

    1.环境 OS:SUSE Linux Enterprise 12 SP3 X86_64 (Kernel: 4.4.162-94.69.2) DB:12.2.0.1 两节点RAC 参考文档:在 SLES ...

  9. Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU

    Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 -- [ RU: 26610291 (GRID INFRASTRUCTURE RE ...

随机推荐

  1. c++ 文件读写(转)

    C/C++ code //创建一个文本文件并写入信息 //同向屏幕上输出信息一样将信息输出至文件 #include<iomanip.h> #include<fstream.h> ...

  2. 最小生成树Jungle Roads

    这道题一定要注意录入方式,我用的解法是prime算法 因为单个字符的录入会涉及到缓冲区遗留的空格问题,我原本是采用c语言的输入方法录入数据的,结果对了,但是提交却一直wrong,后来改成了c++的ci ...

  3. .Net页面缓存OutPutCachexian详解

    一 它在Web.Config中的位置 <system.web> <!--页面缓存--> <caching> <outputCacheSettings> ...

  4. Java多线程yield

    前言: 前几天复习了一下多线程,发现有许多网上讲的都很抽象,所以,自己把网上的一些案例总结了一下! 一. Thread.yield( )方法: 使当前线程从执行状态(运行状态)变为可执行态(就绪状态) ...

  5. R与数据分析旧笔记(十)非线性模型

    非线性模型 非线性模型 例子:销售额x与流通费率y > x=c(1.5,2.8,4.5,7.5,10.5,13.5,15.1,16.5,19.5,22.5,24.5,26.5)> y=c( ...

  6. <正向/反向>最大匹配算法(Java)

    算法描述(正向): 给定最大词长n,待分词文本str,指针f=0,词典dic文档 1 取子串sub=str(f,f+n) 2 如果(遍历dic,有匹配sub) f++; 3 否则 n--; 4 注意: ...

  7. Qt 如何处理密集型耗时的事情(频繁调用QApplication::processEvents)

    有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态.例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响 ...

  8. 高级复制实验配置添加复制节点操作时报错:ORA-23308: object GP.T does not exist or is invalid

    出错原因: 使用高级复制时,在源端启动复制支持,执行语句:REPADMIN@bys1>execute dbms_repcat.generate_replication_support('gp', ...

  9. Android UI--ViewPager扩展Tab标签指示

    Android UI--ViewPager扩展Tab标签指示 2013年8月30日出来冒冒泡 ViewPager这个控件已经不算是陌生的了,各种玩Android的小伙伴们都有发表相应的文章来讲它.我看 ...

  10. 只有小于65535端口编程可以用,查看哪些端口被打开netstat -anp,nc命令,nmap命令

    1024以下是系统保留的,从1024-65535是用户使用的 个人写的应用程序,尽量不要使用0到1024之间的端口号. 1024到65535我们编程可以用.这个不是Linux规定的,是socket规定 ...