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

管理 HADB

通常需要在替代或升級網路、硬體、作業系統或 HADB 軟體時執行管理作業。以下小節說明各種管理作業:

管理網域

可以在 HADB 網域上執行以下作業:

請參閱安全性選項一般選項,以取得指令選項說明。

延伸網域

使用 extenddomain 將主機增加至現有管理網域。指令語法為:

hadbm extenddomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
hostlist

HADB 主機的 IP 位址必須為 IPv4 位址。

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

刪除網域

使用 deletedomain to 移除管理網域。指令語法為:

hadbm deletedomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

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

從網域中移除主機

使用 reducedomain 從管理網域中移除主機。指令語法為:

hadbm reducedomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
host_list

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

列出網域中的主機

使用 listdomain 列出在管理網域中定義的所有主機。指令語法為:

hadbm listdomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

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

管理節點

可以在個別節點上執行以下作業:

啟動節點

可能需要手動啟動因為使其主機離線以便進行硬體或軟體升級或替代而停止的 HADB 節點。而且,可能需要手動啟動由於某些原因 (而非雙重故障) 無法重新啟動的節點。如需有關如何從雙重故障回復的更多資訊,請參閱清除資料庫

多數情況下,應該首先嘗試使用 normal 啟動層級啟動節點。如果 normal 啟動層級失敗或逾時,則必須使用 repair 啟動層級。

若要啟動資料庫中的節點,請使用 hadbm startnode 指令。語法為:

hadbm startnode
 [--adminpassword=password | --adminpasswordfile=file]
 [--agent=maurl]
 [--startlevel=level]
 nodeno
 [dbname]

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

nodeno 運算元指定要啟動的節點數。使用 hadbm status 可顯示資料庫中所有節點數。

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

啟動層級選項

hadbm startnode 指令具有一個特殊選項,--startlevel (短形式 -l),可指定要啟動節點的層級。

節點啟動層級有:

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


範例 3–6 啟動節點範例

hadbm startnode 1

停止節點

可能需要停止節點以修復或升級主機電腦的硬體或軟體。若要停止節點,請使用 hadbm stopnode 指令。指令語法為:

hadbm stopnode  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--no-repair]  
nodeno  
[dbname]

nodeno 運算元指定要停止的節點數。此節點個數的鏡像節點必須正在執行。使用 hadbm status 可顯示資料庫中所有節點數。

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

hadbm stopnode 指令具有一個特殊選項,--no-repair (短形式 -R),表示使用無備援節點替代停止的節點。無此選項時,備援節點會啟動並接管停止的節點。

請參閱一般選項,以取得其他指令選項說明。如需更多資訊,請參閱 hadbm-stopnode(1)


範例 3–7 停止節點範例

hadbm stopnode 1

重新啟動節點

如果發現不正常的運作方式 (例如使用過多的 CPU),則可能需要重新啟動節點。

若要重新啟動資料庫中的節點,請使用 hadbm restartnode 指令。指令語法為:

hadbm restartnode  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--startlevel=level]  
nodeno  
[dbname]

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

nodeno 運算元指定要重新啟動的節點數。使用 hadbm status 可顯示資料庫中所有節點數。

hadbm restartnode 指令具有一個特殊選項,--startlevel (短形式 -l),可指定要啟動節點的層級。請參閱啟動層級選項,以取得更多資訊。

請參閱一般選項,以取得其他指令選項說明。如需更多資訊,請參閱 hadbm-restartnode(1)


範例 3–8 重新啟動節點範例

hadbm restartnode 1

管理資料庫

可以在 HADB 資料庫上執行以下作業:

啟動資料庫

若要啟動資料庫,請使用 hadbm start 指令。此指令可啟動所有在資料庫停止前執行的節點。個別停止 (離線) 的節點不會在資料庫停止後再啟動時啟動。

指令語法為:

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

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

請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-start(1)


範例 3–9 啟動資料庫範例

hadbm start

停止資料庫

在獨立的作業中停止和啟動資料庫時,資料在停止時不可用。若要使資料可用,可以如重新啟動資料庫中所述重新啟動資料庫。

停止資料庫以:

停止資料庫前,停止使用資料庫的附屬 Application Server 實例,或將其配置為使用持續性類型而非 ha

停止資料庫時,資料庫中所有正在執行的節點均會停止,並且資料庫的狀態變為停止。如需有關資料庫狀態的更多資訊,請參閱資料庫狀態

若要停止資料庫,請使用 hadbm stop 指令。指令語法為:

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

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

請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-stop(1)


範例 3–10 停止資料庫範例

hadbm stop

重新啟動資料庫

如果發現奇怪的運作方式 (例如一致逾時問題),可能要重新啟動資料庫。某些情況下,重新啟動可以解決這個問題。

重新啟動資料庫時,資料庫及其資料仍然可用。在獨立作業中停止和啟動 HADB 時,如果 HADB 停止,資料和資料庫服務不可用。這是因為依預設,hadbm restart 會執行節點輪流重新啟動:逐個停止並啟動節點。而 hadbm stop 則是同步停止所有節點。

若要重新啟動資料庫,請使用 hadbm restart 指令。指令語法為:

hadbm restart  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--no-rolling]  
[dbname]

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

特殊選項 --no-rolling (簡捷形式 -g) 會指定立即重新啟動所有節點,導致服務中斷。無此選項時,此指令會將資料庫中的每個節點重新啟動至目前狀態或更佳的狀態。

請參閱一般選項,以取得其他指令選項說明。如需更多資訊,請參閱 hadbm-restart(1)

例如︰

hadbm restart

列出資料庫

若要列出 HADB 實例中的所有資料庫,請使用 hadbm list 指令。指令語法為:

hadbm list  
[--agent=maurl] 
[--adminpassword=password | --adminpasswordfile=file]

請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-list(1)

清除資料庫

在以下情況時清除資料庫:

hadbm clear 指令可停止資料庫節點、清除資料庫裝置,然後啟動節點。此指令可清除儲存在 HADB 中的 Application Server 模式資料,包括表格、使用者名稱和密碼。執行 hadbm clear 後,請使用 asadmin configure-ha-cluster 重新建立資料模式、重新配置 JDBC 連線池,並重新載入階段作業持續性存放區。

指令語法為:

hadbm clear  [--fast]  [--spares=number]  
[--dbpassword=password | --dbpasswordfile= file]  
[--adminpassword=password | --adminpasswordfile= file]  
[--agent=maurl] 
[dbname]

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

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

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

表 3–12 hadbm clear 選項

選項 

說明 

預設 

--fast

-F 

初始化資料庫時略過裝置初始化。如果磁碟儲存裝置損壞,請勿使用。 

不適用 

--spares= number

-s 

經重新初始化的資料庫將具有的備援節點數。必須等於或小於資料庫中的節點數。 

之前的備援數 

例如︰

hadbm clear --fast --spares=2

移除資料庫

若要移除現有資料庫,請使用 hadbm delete 指令。此指令可刪除資料庫的配置檔案、裝置檔案和歷史檔案,並可釋放共用記憶體資源。要移除的資料庫必須存在且停止。請參閱停止資料庫

指令語法為:

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

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

請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-delete(1)


範例 3–11 移除資料庫範例

指令:

hadbm delete

刪除預設資料庫 hadb


回復階段作業資料損壞

以下為階段作業資料可能已損壞的指示:

Procedure使階段作業存放區返回一致狀態

如果您確定階段作業存放區已損壞,請透過以下程序使其返回一致狀態:

  1. 清除階段作業存放區。

    確定此動作是否更正了問題。如果已更正,則停止。如果未更正 (例如仍在伺服器記錄中看到錯誤),請繼續執行。

  2. 重新初始化所有節點上的資料空間,並清除資料庫中的資料。

    請參閱清除資料庫

    確定此動作是否更正了問題。如果已更正,則停止。如果未更正 (例如仍在伺服器記錄中看到錯誤),請繼續執行。

  3. 刪除並重新建立資料庫。

    請參閱移除資料庫建立資料庫