hadbm create コマンドを使用して、データベースを手動で作成します。
このコマンドを使用してデータベースを作成する前に、管理ドメインを作成し、HADB パッケージを登録します。hadbm create を実行する時点でこの 2 つのステップをまだ行なっていない場合は、コマンドによってそれらのステップが暗黙に実行されます。このようにすれば行う作業は減るように思えますが、いずれかのコマンドでエラーが生じたときに、デバッグが困難になる場合があります。さらに、hadbm create は不可分ではありません。つまり、暗黙的なコマンドのいずれかが失敗した場合に、正常に実行されたコマンドはロールバックされません。したがって、ドメインを作成し HADB パッケージを登録したあとにのみ、データベースを作成するのが最善です。
たとえば、hadbm createdomain と hadbm registerpackage は正常に実行されるものの hadbm create database は失敗する場合、 hadbm createdomain と hadbm registerpackage によって加えられた変更は持続します。
管理ドメインを作成します。
詳細については、「管理ドメインの作成」を参照してください。
HADB パッケージを登録します。
詳細については、「HADB パッケージの登録」を参照してください。
hadbm create コマンドを使用してデータベースを作成します。
コマンド構文については、次の節を参照してください。
dbname オペランドには データベース名を指定します。この名前は一意でなければなりません。データベース名が一意であることを確認するために、hadbm list コマンドを使用して既存のデータベース名を一覧表示します。複数のデータベースを作成する必要がなければ、デフォルトのデータベース名を使用してください。たとえば、同じセットの HADB マシン上に独立データベースで複数のクラスタを作成するには、クラスタごとに別個のデータベース名を使用します。
hadbm create コマンドは、エラーメッセージをログファイルではなくコンソールに書き込みます。
表 3–7 には、hadbm create コマンドの特殊オプションが説明されています。追加のコマンドオプションの説明は、「一般的なオプション」を参照してください。
表 3–7 hadbm create オプション
オプション (省略形) |
説明 |
デフォルト |
---|---|---|
-a |
各ノード上のデータデバイスの数。1〜8 を含みます。データデバイスには 0 から始まる番号が付けられます。 |
1 |
-d |
デバイスへのパス。デバイスには次の 4 つがあります。
|
Solaris および Linux: /var/opt/SUNWhadb Windows: C:\Sun\AppServer\SUNWhadb\vers。ここで、vers は HADB バージョン番号です。 デフォルトは、管理エージェント設定ファイル内の ma.server.dbdevicepath によって指定されます。詳細については、「設定ファイル」を参照してください。 |
-z |
各ノードのデバイスサイズ。詳細については、「デバイスサイズの指定」を参照してください。 「既存ノードへの記憶スペースの追加」の説明に従って、デバイスサイズを増やします。 |
1024M バイト 最大サイズは、オペレーティングシステムのファイルサイズまたは 256G バイトの小さい方となります。最小サイズは次のとおりです。 (4 x LogbufferSize + 16M バイト) / n ここで、n は --datadevices オプションで指定されたデータデバイスの番号です。 |
-t |
履歴ファイルへのパス。このパスはすでに存在していて、書き込み可能であることが必要です。 履歴ファイルの詳細については、「履歴ファイルの消去と保存」を参照してください。 |
デフォルトは、管理エージェント設定ファイル内の ma.server.dbhistorypath によって指定されます。詳細については、「設定ファイル」を参照してください。 Solaris および Linux:/var/opt/SUNWhadb Windows の場合: REPLACEDIR (実行時に実際の URL に置換される) をクリックします。 |
-H |
データベース内のノードのホスト名または IP アドレス (IPv4 のみ) のコンマ区切りリスト。DNS 検索への依存を避けるため、IP アドレスを使用してください。ホスト名は必ず絶対名にします。localhost や 127.0.0.1 をホスト名として使用することはできません。 詳細については、「ホストの指定」を参照してください。 |
なし |
--package=name -k |
HADB パッケージの名前 (バージョン)。パッケージが見つからない場合は、デフォルトパッケージが登録されます。 このオプションは推奨されていません。hadbm registerpackage コマンドを使用して、パッケージをドメインに登録してください。 |
なし |
--packagepath=path-L |
HADB ソフトウェアパッケージへのパス。パッケージがドメインに登録されていない場合にのみ使用します。 このオプションは推奨されていません。hadbm registerpackage コマンドを使用して、パッケージをドメインに登録してください。 |
なし |
-b |
ノード 0 に使用するポートベース番号。 後続のノードには、この番号から 20 刻みでポートベース番号が自動的に割り当てられます。各ノードはそれ自身のポートベース番号とそれに続く 5 つの連続する番号のポートを使用します。 同じマシン上で複数のデータベースを実行するには、明示的にポート番号を割り当てるように計画します。 |
15200 |
-s |
スペアノードの数。この数は、偶数かつ --hosts オプションに指定したノード数より少ない数でなければいけません。 |
0 |
-S |
name =value 書式のデータベース設定属性のコンマ区切りリスト。データベース設定属性の説明は、「履歴ファイルの消去と保存」を参照してください。 |
なし |
次に示すのは、データベースを作成するコマンドの例です。
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
説明:
x は、ユーザーデータの合計サイズです。
n は、--hosts オプションで指定されたノード数です。
d は、--datadevices オプションで指定された、ノードあたりのデバイス数です。
l は、属性 LogBufferSize で指定されたログバッファーサイズです。
hadbm addnodes を使用するなどして再度の断片化が行われる可能性がある場合は 、推奨されるデバイスサイズは次のようになります。
(8x / 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 コマンドを使用して行います。
データベースの作成がうまくいかない場合は、次の点をチェックしてください。
すべてのホスト上で管理エージェントを起動し、HADB ドメインを定義したことを確認します。詳細については、「管理エージェントの起動」を参照してください。
ファイルおよびディレクトリのアクセス権は、次のユーザーに対して、インストールパス、履歴パス、デバイスパス、設定パスへの読み取り、書き込み、および実行のアクセスを許可するように設定されている必要があります。
Sun Java System Application Server 管理ユーザー (インストール時に設定)
HADB システムユーザー
ユーザーアクセス権の設定に関する詳細については、「HADB の設定の準備」を参照してください。
Application Server および HADB ポート割り当てが、同じマシン上のほかの ポート割り当てと競合しないようにする必要があります。推奨されているデフォルトのポート割り当ては次のとおりです。
Sun Java SystemMessage Queue: 7676
IIOP: 3700
HTTP サーバー: 80
管理サーバー: 4848
HADB ノード: 各ノードは連続する 6 つのポートを使用します。たとえば デフォルトポート 15200 の場合、ノード 0 は 15200 〜 15205、ノード 1 は 15220 〜 15225 を使用し、以下同様です。
ディスク容量が適切であることも必要です。『Sun Java System Application Server 9.1 リリースノート』を参照してください。