Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

建立資料庫

使用 hadbm create 指令手動建立資料庫。

使用此指令建立資料庫之前,請首先建立管理網域並註冊 HADB 套裝軟體。如果在執行 hadbm create 時尚未執行這兩個步驟,則會隱式執行這兩個步驟。雖然這看似需要較少的工作,但任何指令中出現故障均會很難除錯。而且,hadbm create 是不可分割的,即如果其中一個隱式指令失敗,則已成功執行的指令將不會回復。因此,最好僅在建立網域並註冊 HADB 套裝軟體之後建立資料庫。

例如,如果 hadbm createdomain 和 hadbm registerpackage 成功執行,但 hadbm create database 失敗,hadbm createdomain 和 hadbm registerpackage 進行的變更將繼續。

Procedure建立資料庫

  1. 建立管理網域。

    如需更多資訊,請參閱建立管理網域

  2. 註冊 HADB 套裝軟體。

    如需更多資訊,請參閱註冊 HADB 套裝軟體。

  3. 使用 hadbm create 指令建立資料庫。

    如需有關指令語法的資訊,請參閱以下小節。

hadbm create 指令語法

hadbm create [--package= name] [--packagepath= path] [--historypath= path] [--devicepath= path] [--datadevices= number ] [--portbase= number] [--spares=number ] [--set=attr-val-list ] [--agent=maurl] [--no-cleanup] [ --no-clear ] [ --devicesize =size] [--dbpassword=password | --dbpasswordfile=file ] --hosts=host list [-- adminpassword=password | -- adminpasswordfile=file | -- no-adminauthentication ] [dbname ]

dbname 運算元指定資料庫名稱,該名稱必須是唯一的。若要確保資料庫名稱的唯一性,請使用 hadbm list 指令列出現有資料庫名稱。請使用預設資料庫名稱,除非需要建立多個資料庫。例如,若要在同一組 HADB 機器上建立具有獨立資料庫的多個叢集,請為每個叢集使用獨立的資料庫名稱。

hadbm create 指令將錯誤訊息寫入主控台,而非記錄檔。

表 3–7 說明特殊的 hadbm create 指令選項。請參閱一般選項,以取得其他指令選項說明。

表 3–7 hadbm create 選項

選項 (短形式) 

說明 

預設 

--datadevices= number

-a 

每個節點上的資料裝置數 (1 到 8 [含])。資料裝置從 0 開始計數。 

1 

--devicepath= path

-d 

裝置路徑。有四個裝置: 

  • DataDevice

  • NiLogDevice (節點內部記錄裝置)

  • RelalgDevice (相關代數查詢裝置)

  • NoManDevice (節點管理員裝置)。

    此路徑必須存在且可寫入。若要為每個節點或每個裝置設定不同的此路徑,請參閱設定異質多工式裝置路徑

Solaris 和 Linux:/var/opt/SUNWhadb

Windows:C:\Sun\AppServer \SUNWhadb\vers,其中 vers 為 HADB 版本編號。

預設由管理代理程式配置檔案中的 ma.server.dbdevicepath 指定。如需更多詳細資訊,請參閱配置檔案

--devicesize= size

-z 

每個節點的裝置大小。如需更多資訊,請參閱指定裝置大小。

遵循增加現有節點的儲存空間中的說明增加裝置大小。

1024MB 

最大大小小於最大作業系統檔案大小或 256 GB。最小大小為: 

(4 x LogbufferSize + 16MB) / n

其中,n 為選項 --datadevices 指定的資料裝置數。

--historypath= path

-t 

歷史檔案的路徑。此路徑必須已經存在且可寫入。 

如需有關歷史檔案的更多資訊,請參閱清除和歸檔歷史檔案

預設由管理代理程式配置檔案中的 ma.server.dbhistorypath 指定。如需詳細資訊,請參閱配置檔案

Solaris 和 Linux:/var/opt/SUNWhadb

Windows:REPLACEDIR (在執行階段由實際 URL 替代。) 

--hosts= hostlist

-H 

以逗號分隔的資料庫中節點之主機名稱或 IP 位址 (僅 IPv4) 清單。使用 IP 位址可避免對 DNS 查詢的依賴性。主機名稱必須為絕對的。localhost 或 127.0.0.1 不能用做主機名稱。

請參閱指定主機,以取得更多資訊。

無 

--package=name -k

HADB 套裝軟體名稱 (版本)。如果找不到套裝軟體,將註冊預設套裝軟體。 

已停用此選項。使用 hadbm registerpackage 指令在網域中註冊套裝軟體。 

無 

--packagepath=path-L

HADB 軟體套裝軟體的路徑。僅當套裝軟體未在網域中註冊時使用。 

已停用此選項。使用 hadbm registerpackage 指令在網域中註冊套裝軟體。 

無 

--portbase= number

-b 

用於節點 0 的連接埠基底號。在步驟 20 中自此數字開始為後繼節點指定連接埠基底號。每個節點使用其連接埠基底號及接下來連續的五個已編號連接埠。 

若要在同一機器上執行數個資料庫,請明確配置連接埠號。 

15200 

--spares= number

-s 

備援節點數。此數字必須等於或小於在 --hosts 選項中指定的節點數。

0 

--set=attr-val-list

-S 

以逗號分隔的資料庫配置屬性 (格式為 name =value) 清單。如需資料庫配置屬性說明,請參閱清除和歸檔歷史檔案

無 


範例 3–3 建立資料庫範例

以下指令為建立資料庫的範例:

hadbm create --spares 2 --devicesize 1024 --dbpassword secret123
 --hosts n0,n1,n2,n3,n4,n5

指定主機

可使用 --hosts 選項指定以逗號分隔的資料庫節點之主機名稱或 IP 位址清單。hadbm create 指令可為清單中的每個主機名稱 (或 IP 位址) 建立一個節點。節點數必須相等。使用重複主機名稱在同一機器上建立具有不同連接埠號的多個節點。確定同一機器上的節點並非鏡像節點。

節點以此選項中列出的順序自零開始編號。第一個鏡像對為節點零 (0) 和一 (1),第二個為二 (2) 和三 (3),以此類推。奇數編號的節點在一個 DRU 中,偶數編號的節點在其他 DRU 中。使用 --spares 選項,備援節點為編號最大的節點。

如需有關配置雙網路介面的資訊,請參閱配置網路備援

指定裝置大小

使用 --devicesize 選項可指定裝置大小。建議的裝置大小:

(4x / nd + 4l/d) / 0.99

其中,

設定異質多工式裝置路徑

若要為每個節點或服務設定不同的裝置路徑,請使用 hadbm create 的 -- set 選項。有四種類型的裝置:DataDevice、NiLogDevice (節點內部記錄裝置)、RelalgDevice (相關代數查詢裝置) 和 NoManDevice (節點管理員裝置)。每個 name =value 對的語法如下,其中,-devno 僅在 device 為 DataDevice 時需要:

node-nodeno.device-devno.Devicepath

例如︰

--set Node-0.DataDevice-0.DevicePath=/disk0,
Node-1.DataDevice-0.DevicePath=/disk 1

還可以設定歷史檔案的異質多工式路徑,如下所示:

node-nodeno.historypath=path

如需有關歷史檔案的資訊,請參閱清除和歸檔歷史檔案

未設定的特定節點或裝置裝置路徑均預設為 --devicepath 值。


備註 –

使用 hadbm set 和 hadbm addnodes 指令變更歷史檔案的裝置路徑和位置。


疑難排解

如果您在建立資料庫時遇到困難,請檢查以下內容: