暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 11G RAC增加节点问题处理

3004

环境

一套oracle 11g rac原有两节点基础下,新增两个节点,操作系统都是rhel6。

操作步骤

  1. 计划新增节点按照orale安装准备好环境配置及原有节点与新增节点互信。相关配置参数参考主库保持一致即可,不在详述。

  1. 检查(原有节点grid用户执行)

1)检测新增节点rac3的连通性及共享存储访问

cluvfy stage -post hwos -n rac3 -verbose

这里有一个报错,公网与私网的连通性。mos上介绍如无影响可以忽略,也确认对添加节点无影响。
2)比较原有节点2和新增节点3属性,关注mismatched部分

cluvfy comp peer -refnode rac2 -n rac3 -verbose

3)检测集群和新加节点完整性

cluvfy stage -pre nodeadd -n rac3 -fixup -verbose

  1. 执行添加节点(原有节点grid用户执行)
export IGNORE_PREADDNODE_CHECKS=Y
IGNORE_PREADDNODE_CHECKS可以避免可忽略的检查项导致强制退出add进程。
cd $ORACLE_HOME/oui/bin
./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}"

最后需要在新增节点,root用户执行以下两个脚本
 /u01/app/oraInventory/orainstRoot.sh 
 /u01/app/11.2.0/grid/root.sh   --这个脚本建议暂不执行,下述4步骤完成无误后在执行。避免ORACLE_BASE权限问题。

  1. 扩展DB HOME(原有节点oracle用户执行)
export IGNORE_PREADDNODE_CHECKS=Y
cd $ORACLE_HOME/oui/bin
./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}"

root用户在新增节点执行以下脚本:
/u01/app/oracle/product/11.2.0/db_1/root.sh

遇到的问题

  1. udev绑定
    原有环境使用华为自带的多路径方式,新增节点使用multipath+udev方式。需要参考现有节点配置新增节点。配置示例:
  • 原有节点
KERNEL=="sd-*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="36005xxxxxxxxxxxxx000000010db", NAME="asm_diska", OWNER="grid", GROUP="asmadmin", MODE="0660" 
  • 新增节点
cat /etc/multipath.conf
multipaths {
        multipath {
                wwid "36005xxxxxxxxxxxxx000000010db"
                alias diska
        }
}
cat /etc/udev/rules.d/99-oracle.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36005xxxxxxxxxxxxx000000010db",SYMLINK+="asm/diska",OWNER="grid",GROUP="asmadmin",MODE="0660"

2.crs root.sh执行报错

CRS-2800: Cannot start resource 'ora.asm' as it is already in the INTERMEDIATE state on server 'hzsz-hrm-db-r1'
CRS-4000: Command Start failed, or completed with errors.

同时crs相关日志:

  • crs alert
[/oracle/app/grid_home/bin/oraagent.bin(33265)]CRS-5019:All OCR locations are on ASM disk groups [OCR], and none of these disk groups are mounted. Details are at "(:CLSN00100:)" in "/oracle/app/grid_home/log/his-c/agent/ohasd/oraagent_grid/oraagent_grid.log".
2021-08-07 14:25:48.395: 
  • agent
2021-08-07 14:34:08.437: [ora.asm][1253709568]{0:0:2} [check] checkCrsStat 2 CLSCRS_STAT ret: 184
2021-08-07 14:34:08.437: [ora.asm][1253709568]{0:0:2} [check] clsnUtils::error Exception type=2 string=

2021-08-07 14:34:08.437: [ora.asm][1253709568]{0:0:2} [check] AsmAgent::checkCbk: Exception UserErrorException
2021-08-07 14:34:08.437: [ora.asm][1253709568]{0:0:2} [check]  
2021-08-07 14:34:08.437: [ora.asm][1253709568]{0:0:2} [check] InstAgent::check 1 prev clsagfw_res_status 4 current clsagfw_res_status 4
2021-08-07 14:34:08.779: [ora.mdnsd][1253709568]{0:0:2} [check] clsdmc_respget return: status=0, ecode=0
2021-08-07 14:34:09.431: [ora.asm][1253709568]{0:0:2} [check] AsmAgent::check ocrCheck 1 m_OcrOnline 0 m_OcrTimer 1191
2021-08-07 14:34:09.431: [ora.asm][1253709568]{0:0:2} [check] CrsCmd::ClscrsCmdData::stat entity 5 statflag 32 useFilter 1
2021-08-07 14:34:09.431: [ COMMCRS][1248712448]clsc_connect: (0x7ffa1c1c3370) no listener at (ADDRESS=(PROTOCOL=IPC)(KEY=CRSD_UI_SOCKET))
  • cssd
021-08-07 14:13:46.317: [    CLSF][1397544704]checksum failed for disk:/dev/asm-diskj:
2021-08-07 14:13:46.317: [    CLSF][1397544704]Error: obj 2147483648 blk 0 name 'check_kfbh' num1 1257009003 num2 2629708630
2021-08-07 14:13:46.317: [    CLSF][1397544704]bh: ptr 0x7f743c09e800 size 512
2021-08-07 14:13:46.317: [   SKGFD][1397544704]bh:  dump of 0x0x7f743c09e800, len 512

cssd日志提示checksum error。怀疑是原有节点使用华为的存储与multipath多路径不兼容,调整后使用相同的多路径软件下进行重试,问题仍然复现。
crsctl stat res -t -init 看到asm实例状态是INTERMEDIATE 。sqlplus / as sysasm可以进去查询。最后通过v$asm_disk相关视图对比现有节点发现新增节点竟然少了一块盘,这块盘恰好是OCR的盘。本次是通过原有节点新添加共享盘替换旧盘方式解决。奇葩的是crs与asm日志中没有明确的报错信息。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论