データベース二重化運用している環境において、ハード障害などの異常発生時に異常発生サーバの代わりに別サーバにDBミラーリングシステムを構築することができます。
図P.1 正系ノードのハード障害による異常
図P.2 副系ノードのハード障害による異常
正系ノードに異常が発生した場合に、新たにサーバを準備してDBミラーリングシステムをセットアップする方法について説明します。
操作の手順
注) 正系ノードでのデータベースの一括同期の実行により、副系ノードのデータベースが同期されます。
データベースサーバ1の操作
障害発生後、データベースサーバ1はDBミラーリングシステムの環境としては使用しません。
データベースサーバ2の操作
dxswitchコマンドを実行してノードの切替えを行います。
$ dxswitch
Mirroring Controllerを利用している場合で、データベースサーバ1の障害によってSymfoware/RDBが停止した場合は自動ノード切換えを行いますので、ノード切換えの操作は不要です。
DBミラーリングシステムのデータベース資源の削除を、dxunsetupdbコマンドで行います。
$ dxunsetupdb
データベースサーバを停止します。
モニタデーモンを停止します。
$ dxstop
DBミラーリングシステムのファイル資源の削除をdxunsetupflコマンドで行います。
$ dxunsetupfl
DBミラーリングシステムのファイル資源の作成をdxsetupflコマンドで行います。
$ dxsetupfl -s primary -h データベースサーバ3のホスト名 -p ポート番号 -d DBミラーリングシステム資源配置先
モニタデーモンを起動します。
$ dxstart
データベースサーバを起動します。
DBミラーリングシステムのデータベース資源の作成を、dxsetupdbコマンドで行います。
$ dxsetupdb
データベースの一括同期を、dxsyncdbコマンドで行います。
$ dxsyncdb -C -wm データベースサーバ2の作業用ディレクトリ
DBミラーリングサービスを開始します。
$ dxsvstart -c
データベースサーバ3の操作
正系ノード(データベースサーバ1)の代替として新たに準備するサーバです。
Connection Managerの環境設定を行います。
以下の環境変数を設定します。
Symfoware/RDBの環境変数
環境変数RDBNAMEは、DBミラーリングシステムを構成するノード間は同じRDBシステム名を指定する必要があります。
データベース二重化の環境変数
システムの設定として以下を行います。
システム時刻をデータベースサーバ2に合わせます。
ポート番号を定義します。データベースサーバ1に設定していたポート番号と同じ値に設定します。
システムログの環境設定をします。
Symfoware/RDBの環境を作成する準備として以下を行います。
データベースサーバ2のSymfoware/RDBの各種パラメタファイルを複写します。
RDB資源を配置するディレクトリを作成します。データベースサーバ2と一致させる必要があります。
Symfoware/RDBのログ環境を作成します。
データベースの一括同期実行時にデータベースサーバ2のRDBディクショナリを複写しますので、ここではRDBディクショナリの作成は不要です。
DBミラーリングシステムのファイル資源の作成を、dxsetupflコマンドで行います。
dxsetupflコマンドを実施する前に、DBミラーリング動作環境ファイルのひな型を複写して、データベース管理者の更新権限を付与する必要があります。なお、ひな型の編集は不要です。
$ dxsetupfl -s secondary -h データベースサーバ2のホスト名 -p ポート番号 -d DBミラーリングシステム資源配置先
モニタデーモンを起動します。
$ dxstart
システムログを確認し、以下のメッセージにより、正系ノードでのdxsyncdbコマンドによるデータベースの一括同期の完了を確認します。
SYMFOWARE_SYMDX: INFO: 12110: A synchronization of the database resources is completed normally.
データベースサーバを起動します。
DBミラーリングサービスを開始します。
$ dxsvstart -r
アプリケーションサーバの操作
利用者業務を停止します。
Connection Managerの環境設定を行います。
利用者業務を開始します。
注意
データベース定義数およびデータ量はデータベースの一括同期コマンドの処理時間に影響を与えます。
ポイント
障害発生後、データベースサーバ2で利用者業務を継続し、運用を停止できる状況になった段階で再構築を行うことができます。それまでにデータベースサーバ3でDBミラーリングシステムのファイル資源の作成までを実施しておくことができます。
副系ノードに異常が発生した場合に、新たにサーバを準備してDBミラーリングシステムをセットアップする方法について説明します。
操作の手順
注) 正系ノードでのデータベースの一括同期の実行により、副系ノードのデータベースが同期されます。
データベースサーバ1の操作
DBミラーリングシステムのデータベース資源の削除を、dxunsetupdbコマンドで行います。
$ dxunsetupdb
データベースサーバを停止します。
モニタデーモンを停止します。
$ dxstop
DBミラーリングシステムのファイル資源の削除をdxunsetupflコマンドで行います。
$ dxunsetupfl
DBミラーリングシステムのファイル資源の作成をdxsetupflコマンドで行います。
$ dxsetupfl -s primary -h データベースサーバ3のホスト名 -p ポート番号 -d DBミラーリングシステム資源配置先
モニタデーモンを起動します。
$ dxstart
データベースサーバを起動します。
DBミラーリングシステムのデータベース資源の作成を、dxsetupdbコマンドで行います。
$ dxsetupdb
データベースの一括同期を、dxsyncdbコマンドで行います。
$ dxsyncdb -C -wm データベースサーバ1の作業用ディレクトリ
DBミラーリングサービスを開始します。
$ dxsvstart -c
データベースサーバ2の操作
障害発生後、データベースサーバ2はDBミラーリングシステムの環境としては使用しません。
データベースサーバ3の操作
副系ノード(データベースサーバ2)の代替として新たに準備するサーバです。
Connection Managerの環境設定を行います。従来の実施内容と同様となります。
以下の環境変数を設定します。
Symfoware/RDBの環境変数
環境変数RDBNAMEは、DBミラーリングシステムを構成するノード間は同じRDBシステム名を指定する必要があります。
データベース二重化の環境変数
システムの設定として以下を行います。
システム時刻をデータベースサーバ1に合わせます。
ポート番号を定義します。データベースサーバ2に設定していたポート番号と同じ値に設定します。
システムログの環境設定をします。
Symfoware/RDBの環境を作成する準備として以下を行います。
データベースサーバ1のSymfoware/RDBの各種パラメタファイルを複写します。
RDB資源を配置するディレクトリを作成します。データベースサーバ1と一致させる必要があります。
Symfoware/RDBのログ環境を作成します。
データベースの一括同期実行時にデータベースサーバ1のRDBディクショナリを複写しますので、ここではRDBディクショナリの作成は不要です。
DBミラーリングシステムのファイル資源の作成を、dxsetupflコマンドで行います。
dxsetupflコマンドを実施する前に、DBミラーリング動作環境ファイルのひな型を複写して、データベース管理者の更新権限を付与する必要があります。なお、ひな型の編集は不要です。
$ dxsetupfl -s secondary -h データベースサーバ1のホスト名 -p ポート番号 -d DBミラーリングシステム資源配置先
モニタデーモンを起動します。
$ dxstart
システムログを確認し、以下のメッセージにより、正系ノードでのdxsyncdbコマンドによるデータベースの一括同期の完了を確認します。
SYMFOWARE_SYMDX: INFO: 12110: A synchronization of the database resources is completed normally.
データベースサーバを起動します。
DBミラーリングサービスを開始します。
$ dxsvstart -r
アプリケーションサーバの操作
利用者業務を停止します。
Connection Managerの環境設定を行います。
利用者業務を開始します。
注意
データベース定義数およびデータ量はデータベースの一括同期コマンドの処理時間に影響を与えます。
ポイント
障害発生後、データベースサーバ1で利用者業務を継続し、運用を停止できる状況になった段階で再構築を行うことができます。それまでにデータベースサーバ3でDBミラーリングシステムのファイル資源の作成までを実施しておくことができます。