Replication
備用伺服器上的 IBM DB2 v9.7 HADR TSA 故障
我在這裡有一個環境,我有 2 台執行 DB2 的伺服器。一個是主要的,另一個是備用的。它們使用 HADR 進行複制,並且由 TSA 自動進行故障轉移。
備用主機發生故障時的預設行為是什麼?因為目前當主要對等點發生故障時,故障轉移是完美的。然後我可以將舊的主節點重新集成為備用節點。但是當備用對等點出現故障時,這是我的問題,我必須在這個對等點上手動啟動 HADR。正常嗎?
最後在 IBM 的支持下解決了這個問題。
這是因為我們的 DB2 是用法語安裝的,並且腳本
/usr/sbin/rsct/sapolicies/db2/db2V97_start.ksh
正在嘗試 grep “數據庫名稱”,但在我們的系統上我們有“Nom de la base de données”。所以腳本部分是這樣的:
su - ${DB2INSTANCE?} -c "db2 list database directory" | grep "Database name" \ | tr "[a-z]" "[A-Z]" | awk '{print $4}' > ${dbFN?}
必須改成這樣:
su - ${DB2INSTANCE?} -c "db2 list database directory" | grep "Nom de la base de donn" \ | tr "[a-z]" "[A-Z]" | awk '{print $8}' > ${dbFN?}
我沒有寫 données 這個詞的結尾,因為它不起作用。我猜這是我們伺服器 fr_FR@euro 上的編碼問題。
這已在 v9.7 修訂包 5 和 6 上進行了測試。
為了回答我的問題,如果“備用”節點關閉電源並在之後打開電源,而主節點沒有問題,它會自動重新集成到 HADR 集群中。
Ember Crooks在 DB2 上大量使用 HADR 和 TSA。(她將它用於 WebSphere Commerce,但您可以從她的文章中應用一般性。)
這裡有兩篇關於 HADR 的文章(#1和#2),它們的問題與您所面臨的問題相似。根據她記錄的內容,您所看到的似乎是正常行為(或至少是預期的行為,即使它是不可取的)。
查看 Ember 的部落格(我文章中的第一個連結)。我訂閱了它,因為我從她那裡學到了很多關於 DB2 操作的關鍵知識——尤其是與 HADR 和 TSA 相關的知識。