通常需要在替代或升級網路、硬體、作業系統或 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),可指定要啟動節點的層級。
節點啟動層級有:
normal (預設):使用在節點上本機發現的資料 (記憶體或磁碟上資料裝置檔案中) 啟動節點,並使其與略過的最新更新之鏡像同步。
repair:強制節點捨棄本機資料並從其鏡像複製。
clear:重新初始化節點裝置並強制從其鏡像節點修復資料。需要初始化裝置檔案時使用,在裝置檔案損壞或包含裝置檔案的磁碟被替代時需要。
請參閱一般選項,以取得其他指令選項說明。
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)。
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)。
hadbm restartnode 1
可以在 HADB 資料庫上執行以下作業:
若要啟動資料庫,請使用 hadbm start 指令。此指令可啟動所有在資料庫停止前執行的節點。個別停止 (離線) 的節點不會在資料庫停止後再啟動時啟動。
指令語法為:
hadbm start [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
dbname 運算元指定資料庫名稱。預設為 hadb。
請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-start(1)。
hadbm start
在獨立的作業中停止和啟動資料庫時,資料在停止時不可用。若要使資料可用,可以如重新啟動資料庫中所述重新啟動資料庫。
停止資料庫以:
移除資料庫。
執行影響所有 HADB 節點的系統維護。
停止資料庫前,停止使用資料庫的附屬 Application Server 實例,或將其配置為使用持續性類型而非 ha。
停止資料庫時,資料庫中所有正在執行的節點均會停止,並且資料庫的狀態變為停止。如需有關資料庫狀態的更多資訊,請參閱資料庫狀態。
若要停止資料庫,請使用 hadbm stop 指令。指令語法為:
hadbm stop [--adminpassword=password | --adminpasswordfile= file] [--agent=maurl] [dbname]
dbname 運算元指定資料庫名稱。預設為 hadb。
請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-stop(1)。
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 status 指令表明資料庫為不可作業的,或請參閱取得 HADB 的狀態。
多個節點未回應,並長時間處於等待狀態。
自階段作業資料損毀中回復。請參閱回復階段作業資料損壞
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 選項
選項 |
說明 |
預設 |
---|---|---|
-F |
初始化資料庫時略過裝置初始化。如果磁碟儲存裝置損壞,請勿使用。 |
不適用 |
-s |
經重新初始化的資料庫將具有的備援節點數。必須等於或小於資料庫中的節點數。 |
之前的備援數 |
例如︰
hadbm clear --fast --spares=2
若要移除現有資料庫,請使用 hadbm delete 指令。此指令可刪除資料庫的配置檔案、裝置檔案和歷史檔案,並可釋放共用記憶體資源。要移除的資料庫必須存在且停止。請參閱停止資料庫。
指令語法為:
hadbm delete [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
dbname 運算元指定資料庫名稱。預設為 hadb。
請參閱一般選項,以取得指令選項說明。如需更多資訊,請參閱 hadbm-delete(1)。
指令:
hadbm delete
刪除預設資料庫 hadb。
以下為階段作業資料可能已損壞的指示:
每次應用程式嘗試儲存階段作業狀態時,Application Server 系統記錄 (server.log) 中即會顯示錯誤訊息。
伺服器記錄中的錯誤訊息表示找不到階段作業,或者在階段作業啟動期間無法載入。
之前被鈍化後啟動的階段作業包含空的或不正確的階段作業資料。
實例出現故障時,容錯移轉階段作業包含空的或不正確的階段作業資料。
實例出現故障時,嘗試載入容錯移轉階段作業的實例會在伺服器記錄中導致錯誤,表明找不到階段作業或無法載入。
如果您確定階段作業存放區已損壞,請透過以下程序使其返回一致狀態: