Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド

データベースの作成

hadbm create コマンドを使用して、データベースを手動で作成します。

このコマンドを使用してデータベースを作成する前に、管理ドメインを作成し、HADB パッケージを登録します。hadbm create を実行する時点でこの 2 つのステップをまだ行なっていない場合は、コマンドによってそれらのステップが暗黙に実行されます。このようにすれば行う作業は減るように思えますが、いずれかのコマンドでエラーが生じたときに、デバッグが困難になる場合があります。さらに、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 コマンドは、エラーメッセージをログファイルではなくコンソールに書き込みます。

表 11–7 には、hadbm create コマンドの特殊なオプションが説明されています。追加のコマンドオプションの説明は、「一般的なオプション」を参照してください。

表 11–7 hadbm create オプション

オプション (省略形) 

説明 

デフォルト 

--datadevices= number

-a 

各ノード上のデータデバイスの数。1~8 を含みます。データデバイスには 0 から始まる番号が付けられます。 

1 

--devicepath= path

-d 

デバイスへのパス。デバイスには次の 4 つがあります。 

  • DataDevice

  • NiLogDevice (ノード内部ログデバイス)

  • RelalgDevice (関係代数クエリーデバイス)

  • NoManDevice (ノードマネージャーデバイス)。

    このパスは存在していて、書き込み可能であることが必要です。このパスをノードまたはデバイスごとに異なる設定にする場合は、「異機種システム混在デバイスパスの設定」を参照してください。

Solaris および Linux: /var/opt/SUNWhadb

Windows: C:\Sun\AppServer\SUNWhadb\vers。ここで、vers は HADB バージョン番号です。

デフォルトは、管理エージェント設定ファイル内の ma.server.dbdevicepath によって指定されます。詳細については、「設定ファイル」を参照してください。

--devicesize= size

-z 

各ノードのデバイスサイズ。詳細については、「デバイスサイズの指定」を参照してください。

「既存ノードへの記憶スペースの追加」の説明に従って、デバイスサイズを増やします。

1024M バイト 

最大サイズは、オペレーティングシステムのファイルサイズまたは 256G バイトの小さい方となります。最小サイズは次のとおりです。 

(4 x LogbufferSize + 16M バイト) / n

ここで、n は --datadevices オプションで指定されたデータデバイスの番号です。

--historypath= path

-t 

履歴ファイルへのパス。このパスはすでに存在していて、書き込み可能であることが必要です。 

履歴ファイルの詳細については、「履歴ファイルの消去と保存」を参照してください。

デフォルトは、管理エージェント設定ファイル内の ma.server.dbhistorypath によって指定されます。詳細については、「設定ファイル」を参照してください。

Solaris および Linux: /var/opt/SUNWhadb

Windows : REPLACEDIR (実行時に実際の URL に置換される) 

--hosts= hostlist

-H 

データベース内のノードのホスト名または IP アドレス (IPv4 のみ) のコンマ区切りリスト。DNS 検索への依存を避けるため、IP アドレスを使用してください。ホスト名は必ず絶対名にします。localhost や 127.0.0.1 をホスト名として使用することはできません。Host names

詳細については、「ホストの指定」を参照してください。

なし 

--package=name -k

HADB パッケージの名前 (バージョン)。パッケージが見つからない場合は、デフォルトパッケージが登録されます。 

このオプションは推奨されていません。hadbm registerpackage コマンドを使用して、パッケージをドメインに登録してください。 

なし 

--packagepath=path-L

HADB ソフトウェアパッケージへのパス。パッケージがドメインに登録されていない場合にのみ使用します。 

このオプションは推奨されていません。hadbm registerpackage コマンドを使用して、パッケージをドメインに登録してください。 

なし 

--portbase= number

-b 

ノード 0 で使用されるポートベース番号。以降のノードは、この番号から 20 の間隔でポートベース番号が自動的に割り当てられます。各ノードはそれ自身のポートベース番号とそれに続く 5 つの連続する番号のポートを使用します。 

同じマシン上で複数のデータベースを実行するには、明示的にポート番号を割り当てるように計画します。 

15200 

--spares= number

-s 

スペアノードの数。この数は、偶数かつ --hosts オプションに指定したノード数より少ない数でなければいけません。

0 

--set=attr-val-list

-S 

name =value 書式のデータベース設定属性のコンマ区切りリスト。データベース設定属性の説明は、「履歴ファイルの消去と保存」を参照してください。

なし 


例 11–3 データベースの作成例

次に示すのは、データベースを作成するコマンドの例です。

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

ホストの指定

--hosts オプションを使用して、データベース内のノードのホスト名または IP アドレスのコンマ区切りリストを指定します。hadbm create コマンドは、リスト内のホスト名 (または IP アドレス) ごとに 1 つのノードを作成します。ノードの数は偶数でなければなりません。重複するホスト名を使用すると、同じマシン上に異なるポート番号が指定された複数のノードが作成されます。同じマシン上のノードがミラーノードではなく、異なる DRU からでもないことを必ず確認してください。

ノードには、このオプションでリストされている順番で、ゼロから始まる番号が付けられます。最初のミラー化されたペアはノード 0 と 1、2 番目のミラーペアはノード 2 と 3 となり、以下同様です。奇数番号のノードが一方の DRU に配置され、偶数番号のノードは他方の DRU に配置されます。--spares オプションを指定すると、もっとも大きい番号のノードがスペアノードとなります。

二重ネットワークインタフェースの設定については、「ネットワーク冗長性の設定」を参照してください。

デバイスサイズの指定

--devicesize オプションを使用して、デバイスサイズを指定します。推奨されているデバイスサイズは次のとおりです。

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

説明:

異機種システム混在デバイスパスの設定

ノードまたはサービスごとに異なるデバイスパスを設定するには、hadbm create の -- set オプションを使用します。デバイスには、 DataDevice、NiLogDevice (ノード内部ログデバイス)、RelalgDevice (関係代数クエリーデバイス)、および NoManDevice (ノードマネージャーデバイス) の 4 種類があります。各 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 コマンドを使用して行います。


障害追跡

データベースの作成がうまくいかない場合は、次の点をチェックしてください。