HADB 旨在提供不會因升級軟體而中斷的「Always On」服務。本小節說明如何在不使資料庫處於離線狀態或不損失任何可用性的情況下,升級至新的 HADB 版本。此程序稱為「線上升級」。
以下小節說明如何升級 HADB 安裝︰
安裝新的 HADB 版本。
如註冊 HADB 套裝軟體中所述,註冊新的 HADB 版本。
在 HADB 管理網域中註冊 HADB 套裝軟體可輕鬆升級或變更 HADB 套裝軟體。管理代理程式可追蹤套裝軟體的位置,以及網域中主機的版本資訊。預設套裝軟體名稱為以 V 開頭並包含 hadbm 程式之版本編號的字串。
變更資料庫使用的套裝軟體。
請輸入以下指令︰
hadbm set PackageName=package |
其中 package 為新 HADB 套裝軟體的版本編號。
如取消註冊 HADB 套裝軟體中所述,取消註冊現有的 HADB 安裝。
如有必要,請替代管理代理程式啟動程序檔。
如需更多資訊,請參閱替代管理代理程式啟動程序檔。
如驗證 HADB 升級中所述,驗證結果。
(可選擇) 移除舊版 HADB 的二進位檔案。
驗證 HADB 已正確升級後,就可以刪除舊版 HADB 套裝軟體。
使用 hadbm registerpackage 指令註冊在管理網域中的主機上安裝的 HADB 套裝軟體。也可在使用 hadbm create 建立資料庫時,註冊 HADB 套裝軟體。
使用 hadm registerpackage 指令之前,請確保:所有管理代理程式均已配置,並在主機清單中的所有主機上執行;該管理代理程式的儲存庫可用於更新;未使用相同的套裝軟體名稱註冊任何套裝軟體。
指令語法為:
hadbm registerpackage --packagepath=path [--hosts=hostlist] [--adminpassword= password | --adminpasswordfile=file] [--agent=maurl] [[package-name]]package-name 運算元為套裝軟體的名稱。
下表說明了特殊的 hadbm registerpackage 指令選項。請參閱安全性選項和一般選項,以取得有關其他指令選項的說明。
表 2–1 hadbm registerpackage 選項
選項 |
說明 |
---|---|
--hosts=hostlist -H |
主機清單,以逗號分隔或置於雙引號中並以空格分隔。 |
--packagepath=path -L |
HADB 軟體套裝軟體的路徑。 |
例如,以下指令在主機 host1、host2 和 host3 上註冊套裝軟體 v4︰
hadbm registerpackage --packagepath=hadb_install_dir/SUNWHadb/4.4 --hosts=host1,host2,host3 v4
回應為:
Package successfully registered.
如果您省略 --hosts 選項,則該指令會在網域中所有已啟用的主機上註冊套裝軟體。
使用 hadbm unregisterpackage 指令移除在管理網域中註冊的 HADB 套裝軟體。
開始使用 hadbm unregisterpackage 指令之前,請確定:
已在 hostlist 中列出的所有主機上配置好所有管理代理程式,並可運作。
管理代理程式的儲存庫可進行更新。
新的 HADB 套裝軟體會註冊在管理網域內
現有的資料庫未配置為在即將取消註冊的套裝軟體中執行。
指令語法為:
hadbm unregisterpackage --hosts=hostlist [--adminpassword=password | --adminpasswordfile= file] [--agent= maurl] [package-name ]
package-name 運算元為套裝軟體的名稱。
請參閱註冊 HADB 套裝軟體,以取得有關 --hosts 選項的說明。如果您省略 --hosts 選項,則主機清單會將在其中註冊套裝軟體的已啟用主機做為預設主機。請參閱安全性選項和一般選項,以取得有關其他指令選項的說明。
若要從網域中特定主機上取消註冊套裝軟體 v4,請執行以下指令︰
hadbm unregisterpackage --hosts=host1,host2,host3 v4
回應為:
Package successfully unregistered.
安裝新的 HADB 版本時,可能需要替代 /etc/init.d/ma-initd 中的管理代理程式啟動程序檔。檢查檔案 HADB_install_dir/lib/ma-initd 的內容。如果其內容與舊的 ma-initd 檔案不同,請使用新檔案替代舊檔案。
請依照以下程序,驗證 HADB 是否已正確升級: