Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

HADB の管理

通常、ネットワーク、ハードウェア、オペレーティングシステム、または HADB ソフトウェアを交換またはアップグレードする際には、管理オペレーションを実行する必要があります。次の節では、さまざまな管理オペレーションについて説明します。

ドメインの管理

HADB ドメインで、次の操作を実行できます。

コマンドオプションの説明は、「セキュリティーオプション」および 「汎用オプション」を参照してください。

ドメインの拡張

extenddomain を使用して、既存の管理ドメインにホストを追加します。コマンド構文は次のとおりです。

hadbm extenddomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
hostlist

HADB ホストの IP アドレスは、IPv4 アドレスである必要があります。

詳細については、hadbm-extenddomain(1)を参照してください。

ドメインの削除

deletedomain を使用して、管理ドメインを削除します。コマンド構文は次のとおりです。

hadbm deletedomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

詳細については、hadbm-deletedomain(1)を参照してください。

ドメインからのホストの削除

reducedomain を使用して、管理ドメインからホストを削除します。コマンド構文は次のとおりです。

hadbm reducedomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
host_list

詳細については、hadbm-reducedomain(1)を参照してください。

ドメイン内のホストの一覧表示

listdomain を使用して、管理ドメイン内に定義されているすべてのホストを一覧表示します。コマンド構文は次のとおりです。

hadbm listdomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

詳細については、hadbm-listdomain(1)を参照してください。

ノードの管理

個々のノードに対して、次の操作を実行できます。

ノードの起動

ハードウェアやソフトウェアのアップグレードや交換のためにホストをオフラインにしたために、停止した HADB ノードを手動で起動する必要がある場合があります。また、二重障害以外の何らかの理由でノードが再起動に失敗すると、手動でのノードの起動が必要な場合があります。二重障害から回復する方法の詳細については、「データベースの解除」を参照してください。

たいていの場合には、まず normal 起動レベルを使用してノードの起動を試行することをお勧めします。normal 起動レベルで失敗するかまたはタイムアウトになる場合には、repair 起動レベルを使用する必要があります。

データベース内のノードを起動するには、hadbm startnode コマンドを使用します。構文は次のとおりです。

hadbm startnode
 [--adminpassword=password | --adminpasswordfile=file]
 [--agent=maurl]
 [--startlevel=level]
 nodeno
 [dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

nodeno オペランドには起動するノードの番号を指定します。hadbm status を使用すると、データベース内のすべてのノードの番号を表示できます。

詳細については、hadbm-startnode(1)を参照してください。

起動レベルオプション

hadbm startnode コマンドには、ノードの起動レベルを指定する、1 つの特別なオプション --startlevel (省略形 -l) があります。

ノード起動レベルは次のとおりです。

その他のコマンドオプションの説明は、「汎用オプション」を参照してください。


例 3–6 ノードを起動する例

hadbm startnode 1

ノードの停止

ホストマシンのハードウェアやソフトウェアを修復またはアップグレードするために、ノードの停止が必要な場合があります。ノードを停止するには、hadbm stopnode コマンドを使用します。コマンド構文は次のとおりです。

hadbm stopnode  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--no-repair]  
nodeno  
[dbname]

nodeno オペランドには停止するノードの番号を指定します。このノード番号のミラーノードが実行中でなければなりません。hadbm status を使用すると、データベース内のすべてのノードの番号を表示できます。

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

hadbm stopnode コマンドには、停止したノードを置き換えるスペアノードがないことを示す、1 つの特別なオプション --no-repair (省略形 -R) があります。このオプションを使用しない場合は、スペアノードが起動して、停止したノードの機能を引き継ぎます。

その他のコマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-stopnode(1)を参照してください。


例 3–7 ノードを停止する例

hadbm stopnode 1

ノードの再起動

CPU の過剰な消費など異常な動作が見られる場合には、ノードの再起動が必要なこともあります。

データベース内のノードを再起動するには、hadbm restartnode コマンドを使用します。コマンド構文は次のとおりです。

hadbm restartnode  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--startlevel=level]  
nodeno  
[dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

nodeno オペランドには再起動するノードの番号を指定します。hadbm status を使用すると、データベース内のすべてのノードの番号を表示できます。

hadbm restartnode コマンドには、ノードの起動レベルを指定する、1 つの特別なオプション --startlevel (省略形 -l) があります。詳細については、「起動レベルオプション」を参照してください。

その他のコマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-restartnode(1)を参照してください。


例 3–8 ノードを再起動する例

hadbm restartnode 1

データベースの管理

HADB データベースで、次の操作を実行できます。

データベースの起動

データベースを起動するには、hadbm start コマンドを使用します。このコマンドは、データベースが停止する前に実行していたすべてのノードを起動します。停止後にデータベースを起動しても、個別に停止されてオフラインになっているノードは起動されません。

コマンド構文は次のとおりです。

hadbm start  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

コマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-start(1)を参照してください。


例 3–9 データベースを起動する例

hadbm start

データベースの停止

データベースを停止してから起動するまでの、データベースが停止している間は、データを使用することができません。データを使用可能にするために、「データベースの再起動」で説明されているようにデータベースを再起動できます。

次の目的で、データベースを停止します。

データベースを停止する前に、そのデータベースを使用する依存 Application Server インスタンスを停止するか、またはそれらのインスタンスが ha 以外の「持続型」を使用するように設定します。

データベースを停止すると、データベース内で実行中のすべてのノードが停止し、データベースの状態が「停止中」になります。データベースの状態の詳細については、「HADB の状態の取得」を参照してください。

データベースを停止するには、hadbm stop コマンドを使用します。コマンド構文は次のとおりです。

hadbm stop  
[--adminpassword=password | --adminpasswordfile= file]  
[--agent=maurl]  
[dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

コマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-stop(1)を参照してください。


例 3–10 データベースを停止する例

hadbm stop

データベースの再起動

タイムアウトの問題が解消されないなどの異常な動作が見られる場合には、データベースの再起動が必要なこともあります。再起動で問題が解決する場合もあります。

データベースを再起動すると、データベースとそのデータは引き続き使用可能です。HADB を停止してから起動するまでの、HADB が停止している間は、データおよびデータベースサービスを使用することができません。これは、デフォルトで hadbm restart がノードの順次再起動を実行するためです。このときノードは 1 つずつ順番に停止して起動します。一方、hadbm stop を実行した場合には、すべてのノードが同時に停止します。

データベースを再起動するには、hadbm restart コマンドを使用します。コマンド構文は次のとおりです。

hadbm restart  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--no-rolling]  
[dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

このコマンドには特別なオプションが 1 つあります。それは --no-rolling (省略形 -g) で、すべてのノードの一括再起動を指定するオプションですが、サービスの低下を招きます。このオプションを使用しない場合は、データベース内の各ノードが現在の状態またはよりよい状態で再起動されます。

その他のコマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-restart(1)を参照してください。

次に例を示します。

hadbm restart

データベースの一覧表示

HADB インスタンス内のすべてのデータベースを一覧表示するには、hadbm list コマンドを使用します。コマンド構文は次のとおりです。

hadbm list  
[--agent=maurl] 
[--adminpassword=password | --adminpasswordfile=file]

コマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-list(1)を参照してください。

データベースの解除

次の場合には、データベースを解除します。

hadbm clear コマンドはデータベースノードを停止し、データベースデバイスを解除してから、ノードを起動します。このコマンドは HADB 内の Application Server スキーマデータストア (テーブル、ユーザー名、パスワードを含む) を消去します。hadbm clear を実行した後で、asadmin configure-ha-cluster を使用してデータスキーマを再作成し、JDBC 接続プールを再設定し、セッション持続性ストアを再ロードしてください。

コマンド構文は次のとおりです。

hadbm clear  [--fast]  [--spares=number]  
[--dbpassword=password | --dbpasswordfile= file]  
[--adminpassword=password | --adminpasswordfile= file]  
[--agent=maurl] 
[dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

次の表で、hadbm clear の特別なコマンドオプションについて説明します。その他のオプションの説明は、「汎用オプション」を参照してください。

詳細については、hadbm-clear(1)を参照してください。

表 3–12 hadbm clear オプション

オプション 

説明 

デフォルト 

--fast

-F 

データベースを初期化している間、デバイスの初期化をスキップします。ディスク記憶装置デバイスが破損している場合は、使用しないでください。 

適用外 

--spares= number

-s 

再初期化されたデータベースに配置されるスペアノードの数。この数は、偶数かつデータベース内のノードの数より少ない数である必要があります。 

前回のスペアの数 

次に例を示します。

hadbm clear --fast --spares=2 --dbpassword secret123

データベースの削除

既存のデータベースを削除するには、hadbm delete コマンドを使用します。このコマンドは、データベースの設定ファイル、デバイスファイル、および履歴ファイルを削除し、共用メモリーリソースを解放します。削除対象のデータベースは、存在していてかつ停止している必要があります。「データベースの停止」を参照してください。

コマンド構文は次のとおりです。

hadbm delete  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[dbname]

dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。

コマンドオプションの説明は、「汎用オプション」を参照してください。詳細については、hadbm-delete(1)を参照してください。


例 3–11 データベースを削除する例

コマンド

hadbm delete

は、デフォルトのデータベース hadb を削除します。


データセッション破損からの回復

次のような症状が見られる場合、セッションデータが破損している可能性があります。

Procedureセッションストアを一貫性のある状態に戻すには

セッションストアが破損していると判断する場合には、次の手順に従って一貫性のある状態に戻します。

  1. セッションストアを消去します。

    この処置で問題が正されたかどうかを判定します。問題が正された場合は、これで処置は終わりです。引き続きサーバーログにエラーが表示されるなど、問題が正されていない場合は、処置を継続します。

  2. すべてのノード上のデータスペースを再初期化して、データベース内のデータを消去します。

    「データベースの解除」を参照してください。

    この処置で問題が正されたかどうかを判定します。問題が正された場合は、これで処置は終わりです。引き続きサーバーログにエラーが表示されるなど、問題が正されていない場合は、処置を継続します。

  3. データベースを削除して再作成します。

    「データベースの削除」および 「データベースの作成」を参照してください。