Oracle 11g RAC之HAIP相關問題總結

1 文檔概要

2 禁用/啟用HAIP

  • 2.1 禁用/啟用HAIP資源
  • 2.2 修改ASM資源的依賴關係

3 修改cluster_interconnects參數

  • 3.1 使用grid用戶修改ASM實例的cluster_interconnects參數
  • 3.2 使用oracle用戶修改DB實例的cluster_interconnects參數
  • 3.3 重啟所有實例或集群
  • 3.4 檢查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

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※別再煩惱如何寫文案,掌握八大原則!

※教你寫出一流的銷售文案?

※超省錢租車方案

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※回頭車貨運收費標準

您可能也會喜歡…