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

- Previous: HADB の設定
- Next: HADB の拡張

# 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`) があります。

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

- normal (デフォルト): ノード上 (メモリー内およびディスク上のデータデバイスファイル内) でローカルに検出されたデータを使用してノードを起動し、欠落している最新の更新内容をミラーとの間で同期します。

- repair: ノードに対して、ローカルデータの破棄およびミラーからのそのデータのコピーを強制します。

- clear: ノードのデバイスを再初期化し、ミラーノードから強制的にデータを修復します。デバイスファイルが損傷を受けたかまたはデバイスファイルを含むディスクを交換したため、デバイスファイルを初期化する必要がある場合に使用します。

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

##### 例 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

### データベースの停止

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

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

- データベースを削除する。

- すべての HADB ノードに影響するシステム保守を実行する。

データベースを停止する前に、そのデータベースを使用する依存 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 status` コマンドから、データベースが稼働していないことがわかる。「HADB の状態の取得」を参照してください。

- 複数のノードが応答せず、長時間待機状態である。

- セッションデータ破損から回復している。「データセッション破損からの回復」を参照してください。

`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` を削除します。

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

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

- アプリケーションがセッション状態を保存しようとするたびに、Application Server システムログ (`server.log` ) にエラーメッセージが表示される。

- サーバーログのエラーメッセージに、セッションが見つからなかったり、セッションアクティベーション中にセッションをロードできなかったことが示されている。

- 以前非アクティブにされていたセッションをアクティブにしたところ、そのセッションに空のセッションデータまたは不正なセッションデータが含まれている。

- インスタンスに障害が発生する際に、処理を継続したセッションに、空のまたは不正なセッションデータが含まれている。

- インスタンスに障害が発生し、処理を継続したセッションをロードしようとするインスタンスがエラーを起こし、サーバーログに、セッションが見つからなかったりロードできなかったことが示されている。

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

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

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

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

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

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

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

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

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

- Previous: HADB の設定
- Next: HADB の拡張

- © 2010, Oracle Corporation and/or its affiliates