zoukankan      html  css  js  c++  java
  • Oracle 11g RAC之HAIP相关问题总结

    1 文档概要

    2 禁用/启用HAIP

    3 修改cluster_interconnects参数

    1 文档概要

    环境:RHEL 6.4 + GI 11.2.0.4 + Oracle 11.2.0.4 对有关HAIP相关问题的总结,包括禁用/启用HAIP,修改ASM资源的依赖关系,修改cluster_interconnects参数等。

    2 禁用/启用HAIP

    2.1 禁用/启用HAIP资源

    禁用HAIP资源: root用户执行@all nodes
    # /opt/app/11.2.0/grid/bin/crsctl modify res ora.cluster_interconnect.haip -attr "ENABLED=0" -init
    

    启用HAIP资源:
    如果之后想重新使用HAIP资源,可以启用:

    # /opt/app/11.2.0/grid/bin/crsctl modify res ora.cluster_interconnect.haip -attr "ENABLED=1" -init
    

    在实际处理的案例中,发现其中一个节点始终无法启动HAIP,在另外节点可以启用HAIP,但这样是无法启动集群的,所以在可以启动HAIP的节点直接禁用HAIP,这样所有节点都使用真实的私网地址就可以正常启动成功。但需要注意在有些场景下,单纯禁用HAIP会导致ASM无法启动,这是由于ASM资源的相关依赖关系导致。

    2.2 修改ASM资源的依赖关系

    在一些实际案例场景,我们直接禁用HAIP资源,再重启has时可能会无法启动ASM资源,因为ASM资源对HAIP有依赖关系。这一点我在自己的测试环境也可以验证。

    查看当前ASM资源的关联关系:

    [root@jyrac2 ~]# crsctl stat res ora.asm -p -init
    NAME=ora.asm
    TYPE=ora.asm.type
    ACL=owner:grid:rw-,pgrp:oinstall:rw-,other::r--,user:grid:rwx
    ACTION_FAILURE_TEMPLATE=
    ACTION_SCRIPT=
    ACTIVE_PLACEMENT=0
    AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
    AUTO_START=restore
    CARDINALITY=1
    CHECK_ARGS=
    CHECK_COMMAND=
    CHECK_INTERVAL=1
    CHECK_TIMEOUT=30
    CLEAN_ARGS=
    CLEAN_COMMAND=
    DAEMON_LOGGING_LEVELS=
    DAEMON_TRACING_LEVELS=
    DEFAULT_TEMPLATE=
    DEGREE=1
    DESCRIPTION="ASM instance"
    DETACHED=true
    ENABLED=1
    FAILOVER_DELAY=0
    FAILURE_INTERVAL=3
    FAILURE_THRESHOLD=5
    GEN_USR_ORA_INST_NAME=+ASM2
    HOSTING_MEMBERS=
    LOAD=1
    LOGGING_LEVEL=1
    NOT_RESTARTING_TEMPLATE=
    OFFLINE_CHECK_INTERVAL=0
    ORA_VERSION=11.2.0.4.0
    PID_FILE=
    PLACEMENT=balanced
    PROCESS_TO_MONITOR=
    PROFILE_CHANGE_TEMPLATE=
    RESTART_ATTEMPTS=5
    SCRIPT_TIMEOUT=600
    SERVER_POOLS=
    SPFILE=
    START_ARGS=
    START_COMMAND=
    START_DEPENDENCIES=hard(ora.cssd,ora.cluster_interconnect.haip,ora.ctssd)pullup(ora.cssd,ora.cluster_interconnect.haip,ora.ctssd)weak(ora.drivers.acfs)
    START_TIMEOUT=600
    STATE_CHANGE_TEMPLATE=
    STOP_ARGS=
    STOP_COMMAND=
    STOP_DEPENDENCIES=hard(intermediate:ora.cssd,shutdown:ora.cluster_interconnect.haip)
    STOP_TIMEOUT=600
    UNRESPONSIVE_TIMEOUT=180
    UPTIME_THRESHOLD=1h
    USR_ORA_ENV=
    USR_ORA_INST_NAME=
    USR_ORA_OPEN_MODE=mount
    USR_ORA_OPI=false
    USR_ORA_STOP_MODE=immediate
    VERSION=11.2.0.3.0
    

    可以看到ASM资源和HAIP资源的依赖关系。

    修改ASM的关联关系@all nodes:

    crsctl modify resource ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd,ora.ctssd)pullup(ora.cssd,ora.ctssd)weak(ora.drivers.acfs)'" -f -init 
    
    crsctl modify resource ora.asm -attr "STOP_DEPENDENCIES=hard(intermediate:ora.cssd)" -f –init
    

    改回ASM的关联关系:

    crsctl modify resource ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd, ora.cluster_interconnect.haip, ora.ctssd)pullup(ora.cssd, ora.cluster_interconnect.haip, ora.ctssd)weak(ora.drivers.acfs)'" -f -init 
    
    crsctl modify resource ora.asm -attr "STOP_DEPENDENCIES=hard(intermediate:ora.cssd)" -f –init 
    

    3 修改cluster_interconnects参数

    3.1 使用grid用户修改ASM实例的cluster_interconnects参数

    修改为具体的私网地址,示例如下:
    SQL> alter system set cluster_interconnects='10.10.10.50' scope=spfile sid='+ASM1'; 
    SQL> alter system set cluster_interconnects='10.10.10.52' scope=spfile sid='+ASM2';
    

    改回默认值为空,示例如下:

    SQL> alter system set cluster_interconnects='' scope=spfile sid='+ASM1'; 
    SQL> alter system set cluster_interconnects='' scope=spfile sid='+ASM2';
    

    3.2 使用oracle用户修改DB实例的cluster_interconnects参数

    修改为具体的私网地址,示例如下:
    SQL> alter system set cluster_interconnects='10.10.10.50' scope=spfile sid='jyzhao1'; 
    SQL> alter system set cluster_interconnects='10.10.10.52' scope=spfile sid='jyzhao2';
    

    改回默认值为空,示例如下:

    SQL> alter system set cluster_interconnects='' scope=spfile sid='jyzhao1'; 
    SQL> alter system set cluster_interconnects='' scope=spfile sid='jyzhao2';
    

    在实际的一个案例中,客户是11g版本的GI环境,实际有2块私网网卡,使用了HAIP特性,同时安装有11g RAC和10g RAC,11g RAC使用HAIP正常,10g RAC由于无法使用HAIP,所以获取到的是真实的私网地址,但是数据库无法在所有节点同时open,这种情况,直接把10g RAC实例的cluster_interconnects参数修改成其中一个网卡的真实私网地址,即可正常在所有节点open。
    这类场景是最适合修改参数解决,不影响其他正常使用HAIP的11g环境。

    3.3 重启所有实例或集群

    修改参数之后需要重新启动实例生效,这里建议直接重启集群一起验证修改后的效果:
    # /opt/app/11.2.0/grid/bin/crsctl stop has
    # /opt/app/11.2.0/grid/bin/crsctl start has
    

    3.4 检查cluster_interconnects参数

    SQL> show parameter cluster_interconnects
    
  • 相关阅读:
    全球疫情可视化
    ListView(1)
    《浪潮之巅》阅读笔记02
    Intern Day12
    Intern Day11
    Intern Day10
    Intern Day10
    Intern Day10
    PTA1065
    Intern Day10
  • 原文地址:https://www.cnblogs.com/jyzhao/p/7686243.html
Copyright © 2011-2022 走看看