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

建立資料庫

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

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

例如,如果 hadbm createdomainhadbm registerpackage 執行成功,但 hadbm create database 失敗,則 hadbm createdomainhadbm 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 開始計數。 

--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 查詢的依賴性。主機名稱必須為絕對的。localhost127.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 選項中指定的節點數。

--set=attr-val-list

-S 

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

無 


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

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

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

指定主機

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

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

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

指定裝置大小

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

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

其中,

設定異質多工式裝置路徑

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

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 sethadbm addnodes 指令變更歷史檔案的裝置路徑和位置。


疑難排解

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