本節說明已知的高可用性資料庫 (HADB) 問題以及相關的解決方案。
錯誤 ID |
摘要 |
|||
---|---|---|---|---|
無 ID |
具有雙網路的 HADB 配置。 在兩個子網路上配置為具有雙網路的 HADB,在 Solaris SPARC 上工作正常。然而,我們發現由於作業系統的問題或同一硬體平台上的網路驅動程式,Solaris x86 與 Linux 平台並不總能正確處理雙網路。這將引起 HADB 的以下問題:
|
|||
無 ID |
建立 HADB 資料庫失敗。 建立新資料庫可能失敗並顯示以下錯誤,表示可用的共用記憶體區段不足: HADB-E-21054:System resource is unavailable:HADB-S-05512:Attaching shared memory segment with key "xxxxx" failed, OS status=24 OS error message:Too many open files. 解決方案 驗證是否已配置共用記憶體,以及配置是否能夠正常工作。尤其,在 Solaris 8 上,檢視檔案 /etc/system,並檢查變數 shmsys:shminfo_shmseg 的值是否至少為每個主機上節點數目的六倍。 |
|||
5052548 |
共用記憶體區段已鎖定且無法分頁。 當 Intimate Shared Memory 建立及附加至共用記憶體區段時,HADB 4.3-0.16 及更新版本會配置為使用 Intimate Shared Memory (使用 SHM_SHARE_MMU 旗標)。使用此旗標基本上會在實體記憶體中鎖定共用記憶體區段,以避免共用記憶體區段遭到分頁。這在安裝低階機器時很容易造成問題。 因此,若開發者在使用 Application Server 7.0 EE 的機器上有 512 MB 的記憶體和許多可用的交換空間,之後再安裝 7.1 EE 或更新版本,則開發者將會在配置預設 clsetup 叢集 (建立兩個 HADB 節點,每個節點的 devicesize 為 512) 時發生問題,而導致沒有足夠的實體 RAM 可支援這兩個節點皆所需的共用記憶體。 解決方案 請務必在並置應用程式伺服器和 HADB 時,具備建議的記憶體容量。請參閱HADB 需求和支援的平台以取得更多資訊。 |
|||
5091280 |
hadbm set 不檢查資源可用性 (磁碟與記憶體空間)。 當使用 hadbm set 增加裝置或緩衝區大小時,管理系統會在建立資料庫或增加節點時檢查資源可用性,但不會在裝置或主記憶體緩衝區大小變更時檢查是否有足夠的可用資源。 解決方案 增加任何 devicesize 或 buffersize 配置屬性之前,驗證所有的主機上是否有足夠的可用磁碟/記憶體空間。 |
|||
5091349 |
不支援 packagepath 的異質性路徑。 不可能在不同主機的不同位置使用相同名稱註冊同一套裝軟體,例如:
解決方案 HADB 不支援資料庫叢集中跨節點的不同路徑。請確定 HADB 伺服器安裝目錄 (--packagepath) 在所有參與的主機上均相同。 |
|||
6173886、6253132 |
createdomain 可能會失敗。 當在具有多個網路介面的主機上執行管理代理程式時,如果所有的網路介面不在同一子網路上,則 createdomain 指令可能失敗:
管理代理程式將 (如果未另行配置) 使用「第一個」介面進行 UDP 多重播送 (java.net.NetworkInterface.getNetworkInterfaces() 結果所定義的「第一個」)。 解決方案 最佳解決方案是為管理代理程式指定要使用的子網路 (在配置檔案中設定 ma.server.mainternal.interfaces,例如 ma.server.mainternal.interfaces=10.11.100.0)。另一種方法是,將子網路間的路由器配置為路由多重播送資料封包 (管理代理程式使用多重播送位址 228.8.8.8)。 嘗試管理代理程式的新配置之前,您必須清除管理代理程式儲存庫。停止網域中的所有代理程式,並刪除儲存庫目錄 (由管理代理程式配置檔案中的 repository.dr.path 識別) 中的所有檔案和目錄。必須先在所有主機上完成此作業,方可使用新配置檔案重新啟動代理程式。 |
|||
6190878 |
刪除 HADB 實例之後必須清除目錄。 刪除 HADB 實例之後,嘗試使用 configure-ha-cluster 指令建立新實例失敗。問題在於,原始 HADB 實例在 ha_install_dir/rep/* 和 ha_install_dir/config/hadb/instance_name 中留下了舊目錄。 解決方案 請務必於刪除 HADB 實例之後,手動刪除這些目錄。 |
|||
6230792、6230415 |
啟動、停止和重新配置 HADB 可能失敗或掛機。 在 Solaris 10 Opteron 上使用 hadbm 指令啟動、停止和重新配置 HADB 可能失敗或當機,並出現下列錯誤之一:
當讀取/寫入 clu_noman_srv 程序使用的檔案 (nomandevice) 不一致時,可能發生此情況。可透過在 HADB 歷史檔案中尋找以下訊息來偵測此問題:
解決方案 由於無法手動再現此問題,因此下列的解決方法尚未經過驗證。但是,對受影響的節點執行此指令應該可以解決此問題。
請注意,該節點的所有裝置均會被重新初始化。重新初始化之前,您可能必須停止節點。 |
|||
6232140 |
管理代理程式已終止,發生異常 "IPV6_MULTICAST_IF failed" 在安裝了數個 NIC 卡並於執行 Solaris 8 的主機上啟動時,若同時包含已啟用 IPv6 和 IPv4 的各式卡片,則會終止管理代理程式,並出現異常 "IPV6_MULTICAST_IF failed"。 解決方案 將環境變數 JAVA_OPTIONS 設定為 -Djava.net.preferIPv4Stack=true,例如:
或者,使用 Solaris 9 或更高版本,其不會出現該問題。 |
|||
6249685 |
無法中斷 clu_trans_srv。 在 64 位元版本的 Red Hat Enterprise Linux 3.0 中存在一個錯誤,可在執行非同步化 I/O 時導致 clu_trans_srv 程序在不可中斷模式中結束。這意味著強制結束 -9 不能解決問題,必須重新啟動作業系統。 解決方案 使用 32 位元版本的 Red Hat Enterprise Linux 3.0。 |
|||
6262824 |
hadbm 不支援含有大寫字母的密碼。 將密碼儲存在 hadb 中時,密碼中的大寫字母會被轉換為小寫字母。 解決方案 不使用含有大寫字母的密碼。 |
|||
6265419 |
從 HADB 4.4.2.5 版降級至 HADB 4.4.1.7 版將導致 ma 失敗,並顯示不同錯誤代碼。 當降級至舊的 HADB 版本時,管理代理程式可能會失敗,並顯示不同錯誤代碼。 解決方案 雖然可以降級 HADB 資料庫,但是如果已變更了儲存庫物件,則管理代理程式可能無法降級。降級後,必須使用最新版的 HADB 中的管理代理程式。 |
|||
6271063 |
安裝/移除和 symlink 維護。 關於安裝/移除 HADB c 套裝軟體 (Solaris:SUNWhadbc,Linux:sun-hadb-c) 版本 <m.n.u-p>,symlink /opt/SUNWhadb/<m> 自建立後將永遠不會變更。因此,可能存在孤立的 symlink。 解決方案 如果不使用,請在安裝之前或解除安裝之後刪除 symlink。 |
|||
6273681 |
全域區域中的管理代理程式和本機區域中的管理代理程式可能發生衝突。 在 Solaris 10 上,透過使用全域區域中的 ma-initd 程序檔停止管理代理程式時,也會停止本機區域中的管理代理程式。 解決方案 不同時在全域區域和本機區域中安裝管理代理程式。 |
|||
6275103 |
階段作業物件逾時並在 MA 中被刪除時,hadbm/ma 應提供更佳的錯誤訊息。 有時,伺服器上的資源競爭狀態問題可能會導致管理用戶端連線中斷。重新連線後,可能會傳回不正確的錯誤訊息 "hadbm:Error 22184:A password is required to connect to the management agent"。 解決方案 檢查該伺服器上是否存在資源問題,並採取適當措施 (例如,增加更多資源),然後重試該作業。 |
|||
6275319 |
非超級使用者無法管理 HADB。 使用 Java Enterprise System (以超級使用者的身份) 安裝 HADB 後不允許非超級使用者管理 。 解決方案 始終以超級使用者身份登入以管理 HADB。 |
|||
6293912 |
管理代理程式不應使用具有特殊用途的介面。 不應將包含 0.0.0.0 之類 IP 位址的具有特殊用途的介面註冊為管理代理程式中的 HADB 節點所使用的有效介面。如果透過使用者使用主機名稱而非 IP 位址發出 hadbm create 指令,在此類介面上設定 HADB 節點,則註冊此類介面可能會導致問題發生。之後節點將無法通訊,並導致 create 指令掛機。 解決方案 當在包含多重介面的主機上使用 hadbm create 時,請始終使用 DDN 表示法明確指定 IP 位址。 |
|||
6291562 |
在 Windows 上發生重新組合故障。 在 Windows 平台上,由於某些配置和負載,作業系統中可能會出現大量的重新組合故障。在具有多於二十個節點的配置平行執行數個表掃描 (select *) 時,曾發生此問題。此問題表現為作業事件頻繁中斷、修復或回復需較長時間才能完成,以及多種系統零件可能會頻繁逾時。 解決方案 若要修正此問題,可將 Windows 登錄變數 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 設定為大於預設值 100 的值。建議您將此值提高到 0x1000 (4096)。如需更多資訊,請參閱 Microsoft 支援頁面中的文章 811003。 |
|||
6303581、6346059、6307497 |
執行 hadbm start <db_name> 時,會顯示未遮罩的輸入密碼。 有可能是機器負載了會讓遮罩機制失敗的工作,而導致輸入的密碼有部分字元顯露。如此會造成輕微的安全性風險,因此密碼應一律遮罩。 解決方案 將密碼置於其所擁有的密碼檔案中 (Application Server 8.1 之後的版本一般會建議使用此方法),並使用 --adminpassword 或 --dbpasswordfile 選項參照密碼。 |