副系ノードでのデータベース異常を検知した場合のリカバリ操作を示します。
データベースの異常に対するリカバリには以下の方法があります。
Symfoware/RDBのメディアリカバリによるリカバリ
全件複写によるデータベースのリカバリ
選択するリカバリ方法は、まずはSymfoware/RDBのメディアリカバリによるリカバリを検討します。しかし、Symfoware/RDBのメディアリカバリによるリカバリ時間が、正系ノードの利用者業務により発生したRERUNログを蓄積できる時間内に収まらない場合など、Symfoware/RDBのメディアリカバリが最善な方法でない状況では、ログ破棄を利用した、全件複写を選択します。
注意
アーカイブログ運用を行っていない場合、Symfoware/RDBのメディアリカバリを利用したリカバリを行うことはできません。データベースの異常が発生した場合は、全件複写によるデータベースのリカバリを行ってください。
Symfoware/RDBのメディアリカバリにより異常となったデータベースをリカバリする方法は、DBミラーリングシステムを利用しない場合と同じです。
異常が発生した直前に戻るメディアリカバリの方法により、リカバリを実施してください。異常が発生した直前に戻らない方法で副系ノードのデータベースをリカバリした場合には、全件複写によるデータベースのリカバリを行うまで、DBミラーリングシステムの運用が異常になる場合があります。
操作の手順
リカバリ操作については、正系ノード運用中の副系ノードでの保守の手順で、DBミラーリングサービスをリカバリ停止してから、“保守作業”においてSymfoware/RDBのメディアリカバリを利用して資源をリカバリしてください。なお、データベースサーバの停止およびモニタデーモンの停止操作は不要です。
参照
データベースのリカバリ手順については、“ RDB運用ガイド”を参照してください。
副系ノードの保守の手順については“7.2.1.2 副系ノードの保守”を参照してください。
データベースを全件複写でリカバリする方法を説明します。
データベースを資源単位で全件複写によりリカバリする場合には、利用者業務が停止可能な時間帯までログ破棄を実施し、利用者業務の停止後にデータベースのリカバリを行います。
操作の手順
データベースサーバ1の操作
DBミラーリングサービスを通常停止します。
> dxsvstop
正系ノードのデータを副系ノードに全件複写するため、rdbunlコマンドを実行して、データをアンロードします。
該当DSIに対して最適化情報の登録やバックアップなどを実行します。
rdbudsiコマンドによる両ノードの格納件数を比較するなどの方法で、整合性を確認します。
両ノード同時に行う保守の手順でDBミラーリングサービスを開始します。
> dxsvstart -c
データベースサーバ2の操作
正系ノードでのdxsvstopコマンドの実行による副系ノードのDBミラーリングサービス停止を、以下のメッセージにより確認します。
12136: 相手ノードからの要求によりDBミラーリングサービスを通常停止しました
正系ノードのデータを副系ノードに全件複写するため、正系ノードでアンロードしたデータを、rdbsloaderコマンドの実行によりロードします。
該当DSIに対して最適化情報の登録やバックアップなどを実行します。
両ノード同時に行う保守の手順でDBミラーリングサービスを開始します。
> dxsvstart -r
アプリケーションサーバの操作
DBミラーリングサービスを停止する前に、利用者業務を停止します。
利用者業務を再開します。
注意
格納データを暗号化している場合でも、rdbunlコマンドを使用して取得したDSIの退避データは暗号化されません。退避データを副系ノードに転送するときは、opensslコマンドなどのツールを使用して退避データを暗号化してください。また、退避データが不要となった際にはファイルを削除してください。
ポイント
ロググループ全体のデータベースをリカバリする場合には、資源単位のRERUNログ破棄と全件複写によるリカバリを行う方法以外に、DBミラーリングサービスを緊急停止してから、利用者業務が停止可能な時間帯にDCUの再構築を行う方法もあります。
DBミラーリングサービスをリカバリ停止してから、利用者業務が停止可能な時間帯にロググループ単位のDCUの再構築を行うことにより、特定のロググループのデータベースをリカバリすることも可能です。
参照
rdbunl コマンドおよびrdbsloaderコマンド、rdbudsiコマンドの詳細については“ コマンドリファレンス”を参照してください。
ログ破棄を併用したデータベースのリカバリ手順については“11.8.6.4 ログ破棄を利用したリカバリ”を参照してください。
両ノード同時に行う保守の手順については“7.2.1.3 両ノード同時に行う保守”を参照してください。
退避データファイルの削除方法については“RDB運用ガイド”を参照してください。
DCUの再構築については“11.9 DCUの再構築”を参照してください。
副系ノードでデータベースの容量不足を検知した場合のリカバリは、以下のいずれかの方法で実施します。
データベースの再配置または容量拡張
データベースの再作成
副系ノードの保守の手順で、データベースの再配置または容量拡張を行います。データベースの再配置や容量拡張は、rdbalmdsiコマンドまたは、rdbgcdsiコマンドを利用して行います。
両ノードで同時に行う保守の手順で、副系ノードにおいてデータベースの再作成を行います。副系ノードで容量を拡張したデータベースの再作成を行った後、全件複写により副系ノードのデータベースをリカバリします。正系ノードでrdbunlコマンドの実行によりアンロードしたデータを、副系ノードでrdbsloaderコマンドの実行によりロードします。
注意
格納データを暗号化している場合でも、rdbunlコマンドを使用して取得したDSIの退避データは暗号化されません。退避データを副系ノードに転送するときは、opensslコマンドなどのツールを使用して退避データを暗号化してください。また、退避データが不要となった際にはファイルを削除してください。
ポイント
データベースの容量不足からのリカバリを行った場合、バックアップ、メモリチューニング、最適化情報設定などのデータベースを運用する上で必要な操作があります。
必要な容量見積りを行ってからデータベースの再作成を行ってください。
参照
rdbalmdsiコマンド、rdbgcdsiコマンド、rdbunlコマンドおよびrdbsloaderコマンドについては、“ コマンドリファレンス”を参照してください。
データベースの再作成の詳細は、“ RDB運用ガイド(データベース定義編)”を参照してください。
副系ノードの保守手順については“7.2.1.2 副系ノードの保守”を参照してください。
両ノード同時に行う保守の手順については“7.2.1.3 両ノード同時に行う保守”を参照してください。
退避データファイルの削除方法については“RDB運用ガイド”を参照してください。
バックアップ、メモリチューニング、最適化情報設定などのデータベースを運用する上で必要な操作については“RDB運用ガイド”を参照してください。