Sun Java System Application Server 9.1 高可用性管理指南

監視 HADB

可以透過以下方式監視 HADB 的活動:

這些小節簡要說明 hadbm statushadbm deviceinfohadbm resourceinfo 指令。如需有關 HADB 資訊的說明,請參閱「Sun Java System Application Server 9.1 Performance Tuning Guide」中的「Performance」

取得 HADB 的狀態

使用 hadbm status 指令可顯示資料庫或其節點的狀態。指令語法為:

hadbm status  
[--nodes]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl] 
[dbname]

dbname 運算元指定資料庫名稱。預設為 hadb

--nodes 選項 (短形式 -n) 顯示資料庫中每個節點上的資訊。如需更多資訊,請參閱節點狀態。請參閱一般選項,以取得其他指令選項說明。

如需更多資訊,請參閱 hadbm-status(1)


範例 3–15 取得 HADB 狀態範例

例如︰

hadbm status --nodes

資料庫狀態

資料庫的狀態概括其目前情況。下表說明可能的資料庫狀態。

表 3–14 HADB 狀態

資料庫狀態 

說明 

高可用性錯誤容錯 (HAFaultTolerant) 

資料庫是錯誤容錯的,並且在每個 DRU 上至少有一個備援節點。 

錯誤容錯 

所有鏡像的節點對均啟動並在執行。 

可作業 

每個鏡像的節點對中至少一個節點在執行。 

不可作業 

一個或多個鏡像的節點對均遺失兩個節點。 

如果資料庫不可作業,請按照清除資料庫中的說明清除資料庫。

已停止 

資料庫中沒有節點在執行。 

不明的 

無法確定資料庫的狀態。 

節點狀態

使用 --nodes 選項 hadbm status 指令可顯示資料庫中每個節點的以下資訊:

可以按照以下小節中的說明變更節點的角色和狀態:

節點角色

在建立節點期間為其指定角色,角色可以是以下任意一個:

節點狀態

節點可處於以下任意一種狀態:

取得裝置資訊

監視 HADB 資料 (磁碟儲存) 裝置中的自由空間:

使用 hadbm deviceinfo 指令取得有關資料裝置中自由空間的資訊。此指令可顯示資料庫每個節點的以下資訊:

指令語法為:

hadbm deviceinfo  [--details]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  [dbname]

dbname 運算元指定資料庫名稱。預設為 hadb

--details 選項可顯示以下附加資訊:

請參閱一般選項,以取得其他指令選項說明。

如需更多資訊,請參閱 hadbm-deviceinfo(1)

若要確定可用於使用者資料的可用空間,請用總裝置大小減去為 HADB 保留的空間:4 x LogBufferSize + 1% x 裝置大小。如果不知道記錄緩衝區的大小,請使用指令 hadbm get logbufferSize。例如,如果總裝置大小為 128 MB,LogBufferSize 為 24 MB,則可用於使用者資料的空間為 128 – (4 x 24) = 32 MB。在 32 MB 中,一半用於重複的資料,大約百分之一用於索引,僅 25% 可真正用於使用者資料。

使用者資料可用的空間為總大小和保留大小之間的差。如果將來重新分段資料,自由空間大小必須大約等於使用者資料可用空間的 50%。如果重新分段組無關緊要,則資料裝置可達至其最大值。系統裝置空間不足時,資源使用量警告會寫入歷史檔案。

如需有關調校 HADB 的更多資訊,請參閱Sun Java System Application Server Performance Tuning Guide


範例 3–16 取得裝置資訊範例

以下指令:

hadbm deviceinfo --details

顯示以下範例結果:

NodeNO Totalsize Freesize Usage NReads NWrites DeviceName
0      128       120      6%    10000  5000    C:\Sun\SUNWhadb\hadb.data.0
1      128       124      3%    10000  5000    C:\Sun\SUNWhadb\hadb.data.1
2      128       126      2%     9500  4500    C:\Sun\SUNWhadb\hadb.data.2
3      128       126      2%     9500  4500    C:\Sun\SUNWhadb\hadb.data.3

取得執行階段資源資訊

hadbm resourceinfo 指令可顯示 HADB 執行階段資源資訊。可以使用此資訊協助識別資源內容,並減少效能瓶頸。如需詳細資訊,請參閱「Sun Java System Application Server 9.1 Performance Tuning Guide」中的「Tuning HADB」

指令語法為:

hadbm resourceinfo  [--databuf]  [--locks]  [--logbuf]  [--nilogbuf]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[dbname]

dbname 運算元指定資料庫名稱。預設為 hadb

下表說明 hadbm resourceinfo 特殊指令選項。請參閱一般選項,以取得其他指令選項說明。

如需更多資訊,請參閱 hadbm-resourceinfo(1)

表 3–15 hadbm resourceinfo 指令選項

選項 

說明 

--databuf

-d 

顯示資料緩衝區池資訊。 

請參閱以下資料緩衝區池資訊,以取得更多資訊。

--locks

-l 

顯示鎖定資訊。 

請參閱以下鎖定資訊,以取得更多資訊。

--logbuf

-b 

顯示記錄緩衝區資訊。 

請參閱以下記錄緩衝區資訊,以取得更多資訊。

--nilogbuf

-n 

顯示節點內部記錄緩衝區資訊。 

請參閱以下節點內部記錄緩衝區資訊,以取得更多資訊。

資料緩衝區池資訊

資料緩衝區池資訊包含:

使用者作業事件對記錄執行作業時,包含該記錄的頁面必須在資料緩衝區池中。如果不在,將會發生 miss 或頁面錯誤。然後,作業事件必須等待,直至從磁碟上的資料裝置檔案中擷取頁面。

如果遺失率高,請增大資料緩衝區池。因為遺失是累積的,請定期執行 hadbm resourceinfo,並使用兩次執行之間的差異查看遺失率趨勢。如果自由空間非常小,也不必擔心,因為檢查點機制將使新的區段變得可用。


範例 3–17 資料緩衝區池資訊範例

例如︰


NodeNO Avail Free Access Misses Copy-on-Write
0 256 128 100000 50000 10001 256 128 110000 45000 950

鎖定資訊

鎖定資訊如下:

一個單一作業事件無法使用節點上超過 25% 的可用鎖定。因此,執行大量作業的作業事件因該瞭解此限制。最好成批執行此類作業事件,其中每一批必須做為獨立作業事件處理,亦即每一批均進行確定。這是必須的,因為以 repeatable read 隔離層級執行的讀取作業與 deleteinsertupdate 作業,都是使用只有在作業事件終止後才會釋放的鎖定。

如要變更 NumberOfLocks,請參閱清除和歸檔歷史檔案


範例 3–18 鎖定資訊範例

例如︰


NodeNO Avail Free Waits
0 50000 20000 101 50000 20000 0

記錄緩衝區資訊

記錄緩衝區資訊為:

如果自由空間非常小,請勿擔心,因為 HADB 會壓縮記錄緩衝區。HADB 從環狀緩衝區開始壓縮,並在連續的記錄上執行壓縮。當 HADB 遇到節點尚未執行且鏡像節點尚未接收的記錄時,壓縮無法繼續


範例 3–19 記錄緩衝區資訊範例

例如︰


NodeNO Avail Free
0 16 21 16 3

節點內部記錄緩衝區資訊

節點內部記錄緩衝區資訊為:


範例 3–20 內部記錄緩衝區資訊範例

例如︰

NodeNO Avail Free

0 16 21 16 3