DBミラーリングシステムの運用中に正系ノードにおいて、Symfoware/RDBの資源に異常が発生した場合のリカバリ方法について示します。
Symfoware/RDBの資源ごとのリカバリ方法に対応する、DBミラーリングシステムのリカバリの必要性とリカバリ方法の関係を以下に示します。
Symfoware/RDBの資源 | Symfoware/RDBの状態 | ノードの切替えの有無 | DBミラーリングシステムのリカバリ | データベースのリカバリ | 参照先 |
---|---|---|---|---|---|
RDBディクショナリおよびRDBディレクトリファイル | 運用中 | なし | - | - | |
停止中 | あり | - | - | ||
監査ログデータベース | 運用中 | なし | - | - | |
停止中 | あり | - | - | ||
ロググループ管理ファイル | 運用中 | なし | - | - | |
停止中 | あり | △ | - | ||
ログ管理ファイル | 運用中 | なし | - | - | |
停止中 | あり | ○ | - | ||
テンポラリログファイル | 運用中 | なし | △ | ○(注) | |
正常停止後に切替えた場合 | あり | △ | ○(注) | ||
強制停止後に切替えた場合 | ○ (DCUの再構築) | ||||
アーカイブログファイル | 運用中 | なし | - | - | |
停止中 |
○:必要、△:条件付き必要、-:不要
注) ロールバック不可閉塞となったDSI
ポイント
監査ログデータベースまたはロググループ管理ファイル、ログ管理ファイル、アーカイブログファイルに異常が発生した場合には、ノードを切替えずにそのまま利用者業務を継続して、夜間や運休日などの利用者業務が停止できる時間帯で、リカバリすることも可能です。
ノードを切り替えて利用者業務を継続する場合は、強制ノード切替えを実施してください。Mirroring Controllerを利用している場合は、Symfoware/RDBの強制停止によるノード切替え、または強制ノード切替えを実施してください。
参照
Symfoware/RDBの強制停止によるノード切替えについては“8.4.2 Symfoware/RDBの停止によるノード切替え”を参照してください。
強制ノード切替えについては“8.4.3 強制ノード切替えによるノード切替え” を参照してください。
複数のSymfoware/RDBの資源が破壊された場合は、以下の順番に従ってSymfoware/RDBおよびデータベース二重化の資源をリカバリします。
リカバリの順番 | 資源種別 | リカバリ方法の参照先 |
---|---|---|
1 | ロググループ管理ファイル | RDB運用ガイド |
2 | ログ管理ファイル | RDB運用ガイド |
3 | アーカイブログファイル | RDB運用ガイド |
4 | テンポラリログファイル | RDB運用ガイド |
5 | BC ログ管理ファイル | |
6 | RDBディクショナリおよびRDBディレクトリファイル | RDB運用ガイド |
7 | 監査ログデータベース | RDB運用ガイド |
8 | データベース | RDB運用ガイド |
Symfoware/RDBを停止してリカバリを行う場合に、データベース二重化の資源に対するリカバリが不要な操作については、DBミラーリングサービスをリカバリ停止することで、リカバリが可能となります。
以下の資源の破壊によりリカバリが必要な場合は、データベース二重化の資源に対するリカバリは不要です。この場合は、DB ミラーリングサービスをリカバリ停止してから、リカバリ作業を開始します。
RDBディクショナリおよびRDBディレクトリファイル
監査ログデータベース
ロググループ管理ファイル
ログ管理ファイル
アーカイブログファイル
操作の手順
データベースサーバ1の操作
Symfoware/RDBのRDBシステムファイルの異常が発生したことを、メッセージにより確認します。
dxsvstopコマンドのrオプションを実行してDBミラーリングサービスをリカバリ停止します。
> dxsvstop -r
データベースサーバを停止します。
Symfoware/RDBの資源のリカバリを行います。
データベースサーバを起動します。
BC管理DBをメモリ常駐します。
dxsvstartコマンドのcオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -c
Symfoware/RDBの停止が不要なリカバリの場合には、(3)(5)(6)(7)の手順は不要です。
アプリケーションサーバの操作
DBミラーリングサービスを停止する前に、利用者業務を停止します。
利用者業務を再開します。
参照
Symfoware/RDBのRDBシステムファイルのリカバリについては“ RDB運用ガイド”を参照してください。
データベースサーバの起動および停止については“8.1.2 データベースサーバの起動”および“8.2.4 データベースサーバの停止”を参照してください。
監視プロセスの起動については、“Connection Manager ユーザーズガイド” を参照してください。
アプリケーション接続環境の開設プロシジャについては“RDB運用ガイド”を参照してください。
BC管理DBのメモリ常駐については“8.1.3 BC管理DBのメモリ常駐”を参照してください。
DBミラーリングサービスの開始については“8.1.4 DBミラーリングサービスの開始”を参照してください。
RDBディクショナリおよびRDBディレクトリファイルに異常が発生したときに、以下のノード切替えを行った場合のリカバリ方法について説明します。
利用者判断によるノードの切替え
Mirroring Controller利用時のDBミラーリングシステムの異常監視によるノード切替え
操作の手順
異常が発生した直後にSymfoware/RDBが停止してノードが切り替わった後に、異常が発生したノードでdxrebuildコマンドによるノード組込みを行ってから、RDBディクショナリおよびRDBディレクトリファイルのリカバリを行ってください。RDBディクショナリおよびRDBディレクトリファイルは、Symfoware/RDBのメディアリカバリによってリカバリします。
参照
ノード組込みの運用方法については“7.1.2 ノード組込みの運用”を参照してください。
RDBディクショナリおよびRDBディレクトリファイルのリカバリ、Symfoware/RDBのメディアリカバリについては“ RDB運用ガイド”を参照してください。
監査ログデータベースに異常が発生したときに、以下のノード切替えを行った場合のリカバリ方法について説明します。
利用者判断によるノード切替え
Mirroring Controller利用時のDBミラーリングシステムの異常監視によるノード切替え
操作の手順
異常が発生した直後にSymfoware/RDBが停止してノードが切り替わった後に、異常が発生したノードでdxrebuildコマンドによるノード組込みとデータベースサーバの起動を行ってから、監査ログデータベースのリカバリを行います。
監査ログデータベースは、Symfoware/RDBの監査ログエレメントのリカバリ機能によってリカバリします。
参照
ノード組込みの運用方法については“7.1.2 ノード組込みの運用”を参照してください。
監査ログデータベースのリカバリについては“ RDB運用ガイド”を参照してください。
ロググループ管理ファイルに異常が発生したときの、以下の場合のリカバリ方法について説明します。
異常が発生したノードでSymfoware/RDBを停止してリカバリを行う場合
利用者判断によるノード切替えを行う場合
Mirroring Controller利用時のDBミラーリングシステムの異常監視によるノード切替えを行った場合
なお、ロググループ管理ファイルのリカバリ方法は、DBミラーリングシステムを利用しない場合と同じです。
データベース二重化の資源に対するリカバリが不要な場合のリカバリ手順と同じです。
異常が発生した直後にSymfoware/RDBが停止してノードが切り替わった後に、異常が発生したノードでdxrebuildコマンドによるノード組込みを行う前にロググループ管理ファイルのリカバリを行います。
ロググループ管理ファイルは、Symfoware/RDB停止中のリカバリ方法によってリカバリします。
ポイント
ロググループ管理ファイルと同一ボリュームにログ管理ファイルを配置している場合には、ログ管理ファイルのリカバリが必要となります。
参照
ロググループ管理ファイルのリカバリについては“ RDB運用ガイド”を参照してください。
ノード組込みの運用方法については“7.1.2 ノード組込みの運用”を参照してください。
データベース二重化に対するリカバリが不要な場合のリカバリ手順については“11.3.3.3 データベース二重化の資源に対するリカバリが不要な場合”を参照してください。
ログ管理ファイルのリカバリ(Symfoware/RDB停止中)については“11.3.3.7 ログ管理ファイルのリカバリ(Symfoware/RDBの停止中)”を参照してください。
ログ管理ファイルに異常が発生したときの、以下の場合のリカバリ方法について説明します。
異常が発生したノードでSymfoware/RDBを停止してリカバリを行う場合
利用者判断によるノードの切替えを行う場合
Mirroring Controller利用時のDBミラーリングシステムの異常監視によるノード切替え
なお、ログ管理ファイルのリカバリ方法は、DBミラーリングシステムを利用しない場合と同じです。
ログ管理ファイルのリカバリを行った後、DCUを構成する2つのRLPをログ管理ファイルに再登録する必要があります。
ノード切替えを行わない場合の操作の手順を以下に示します。
操作の手順
データベースサーバ1の操作
利用者業務の運用中にログ管理ファイルのアクセスエラーが発生した場合、メッセージを出力して、ログ管理ファイルを閉塞します。
dxsvstopコマンドのrオプションを実行してDBミラーリングサービスをリカバリ停止します。
> dxsvstop -r
データベースサーバを停止します。
Symfoware/RDBの資源のリカバリを行います。
障害ボリュームの交換
ログ管理ファイルの再作成
アーカイブログファイルの再登録(アーカイブログファイルを作成している場合)
テンポラリログファイルの再登録
rdbbcrlpコマンドのAオプションおよび、pオプション、Sオプションを実行して、ログ管理ファイルに DCUを構成する2つのRLP を再登録します 。
> rdbbcrlp -A -p 主系RLPのRLP名 -S 自側送信用RLMのパス名 > rdbbcrlp -A -p 従系RLPのRLP名 -S 自側送信用RLMのパス名
rdbbcdcuコマンドのVオプションおよびbオプションを実行して、RLP が正常に登録されたことを確認します。
> rdbbcdcu -V -b LogGroup : system RLCbuffNum : - RLCbuffSize : - RLCnum : 3 RLCsize : 10240K RLPid RLPname Kind OnMode OnStat RLPstat InhCause ConStat DisConCause LogRemain 1 rlp001 origin capture online normal - disconnection own-stop - 2 rlp002 duplicate init standby normal - disconnection own-stop -
データベースサーバを起動します。
BC管理DBをメモリ常駐します。
dxsvstartコマンドのcオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -c
アプリケーションサーバの操作
データベースサーバを停止する前に、利用者業務を停止します。
利用者業務を再開します。
注意
本リカバリ手順は、副系ノードで異常が発生した場合も同じです。その場合、DBミラーリングサービス開始などについては、副系ノードでの手順で実施してください。
参照
データベースサーバの停止については“8.2.4 データベースサーバの停止”を参照してください。
Symfoware/RDBの資源のリカバリについては“RDB運用ガイド”を参照してください。
データベースサーバの起動については“8.1.2 データベースサーバの起動”を参照してください。
監視プロセスの起動については、“Connection Manager ユーザーズガイド” を参照してください。
アプリケーション接続環境の開設プロシジャについては“RDB運用ガイド”を参照してください。
BC管理DBのメモリ常駐については“8.1.3 BC管理DBのメモリ常駐”を参照してください。
異常が発生した直後にSymfoware/RDBが停止してノードが切り替わった後に、異常が発生したノードでdxrebuildコマンドによるノード組込みを行う前に、ログ管理ファイルのリカバリとRLPの再登録を行います。
リカバリ操作は“ノードの切替えを行わない場合”の手順4、5、6と同じです。
参照
ノード組込みの運用方法については“8.5 ノード組込み”を参照してください。
ログ管理ファイルのリカバリについては“ RDB運用ガイド”を参照してください。
データベースサーバの起動および停止については“8.1.2 データベースサーバの起動”および“8.2.4 データベースサーバの停止”を参照してください。
正系ノードのテンポラリログファイルに入出力障害が発生した場合のDBミラーリングシステムのリカバリ方法について説明します。
テンポラリログファイルとDBミラーリングシステムのリカバリの関係
テンポラリログファイルのリカバリ方法によっては、DBミラーリングシステムのリカバリが必要です。以下に、テンポラリログファイルのリカバリ方法とDBミラーリングシステムのリカバリとの関係を示します。
テンポラリログファイルの | アーカイブログ | 正系ノードの | 副系ノードの | |
---|---|---|---|---|
ノードの切替えを行わない場合 | あり |
| - | |
なし | DCUの再構築 | |||
ノードの切替えを行う場合 | あり |
| ||
なし | DCUの再構築 | |||
Symfoware/RDBを強制停止して切替えた場合のリカバリ(dxswitchコマンドの実行、またはMirroring Controllerを利用している場合はSymfoware/RDBの強制停止によるノード切替え、DBミラーリングシステムによる自動ノード切替え) | あり | |||
なし |
注)ログ管理ファイルをリカバリ対象のボリュームに配置している場合
注意
Mirroring Controllerを利用している場合で、DBミラーリングシステムの異常監視対象としてテンポラリログファイルを設定しているときには、Symfoware/RDBを強制停止してノードを切り替えます。そのため、Symfoware/RDBを正常停止してリカバリする場合や、Symfoware/RDBを正常停止してノードを切り替えるようなリカバリ方法を計画する場合には、異常監視対象として設定しないでください。
ノード切替えを行わないときで、Symfoware/RDBを強制停止してリカバリする場合は、DCUを再構築する必要があります。“Symfoware/RDBを強制停止してからノードの切替えを行った場合のリカバリ”の手順において、Symfoware/RDBの強制停止の直前に、DBミラーリングサービスの緊急停止を行ってから、DCUの再構築を行ってください。
参照
DBミラーリングシステムの異常監視対象の設定については “付録C システムの監視対象と方法(Mirroring Controller使用時)”を参照してください。
DCUの再構築については“11.9 DCUの再構築”を参照してください。
副系ノードへノード切替えを行わずに、テンポラリログファイルをリカバリする方法について示します。
アーカイブログ運用を行っていない場合
アーカイブログ運用を行っていない場合は、異常が発生したノードが利用不可となります。そのため、DBミラーリングサービスを緊急停止してから、DCUを再構築する必要があります。
“Symfoware/RDBを強制停止してからノードの切替えを行った場合のリカバリ”の手順において、Symfoware/RDBの強制停止を、DBミラーリングサービスの緊急停止とSymfoware/RDBの通常停止に置き換えて、DCUの再構築を行ってください。
ロールバック不可閉塞となった資源のリカバリ
ロールバック不可閉塞が発生した場合は、該当資源に対して、副系ノードのデータベースからの全件複写を実施する必要があります。
ログ管理ファイルの再作成に伴うRLP再登録
テンポラリログファイルのリカバリ手順で、ログ管理ファイルを再作成する場合は、DCUを構成する2つのRLPを再登録する必要があります。
操作の手順
データベースサーバ1の操作
利用者業務の運用中にテンポラリログファイルのアクセスエラーが発生した場合、システムメッセージを出力して 、テンポラリログファイルを閉塞します。
rdbcninfコマンドを実行し、トランザクションの状態(Tran)の“TINH”が無くなるまで待ちます。
dxsvstopコマンドを実行してDBミラーリングサービスを通常停止します。
> dxsvstop
データベースへのSQLやRDBコマンドの実行を停止してから、rdbstopコマンドを実行し、Symfoware/RDBを正常停止します。
Symfoware/RDBの資源のリカバリとして、以下の操作を行います。
障害ボリュームの交換
ログ管理ファイルの再作成
アーカイブログファイルの再登録
テンポラリログファイルの再作成
ログ管理ファイルを再作成しなかった場合は、手順8へ
注)Symfoware/RDBの資源のディスク配置によりリカバリ対象の資源が異なります。
rdbbcrlpコマンドを実行して、ログ管理ファイルに DCUを構成する2つのRLP を再登録します 。
> rdbbcrlp -A -p 複写元RLP名 -S 送信用RLMのファイル名 > rdbbcrlp -A -p 複写先RLP名 -S 送信用RLMのファイル名
rdbbcdcuコマンドのVオプションおよび、bオプションを実行してRLP が正常に登録されたことを確認します。
> rdbbcdcu -V -b LogGroup : system RLCbuffNum : - RLCbuffSize : - RLCnum : 3 RLCsize : 10240K RLPid RLPname Kind OnMode OnStat RLPstat InhCause ConStat DisConCause LogRemain 1 rlp101 origin capture switch normal - disconnection own-stop - 2 rlp102 duplicate init switch normal - disconnection own-stop -
データベースサーバを起動します。
BC管理DBをメモリ常駐します。
全件複写により正系ノードのデータベースをリカバリします。rdbsloaderコマンドでロールバック不可閉塞になった資源に関してデータをロードします。
dxsvstartコマンドのcオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -c
データベースサーバ2の操作
正系ノードでのdxsvstopコマンド実行による副系ノードのDBミラーリングサービス停止を、以下のメッセージにより確認します。
12136: 相手ノードからの要求によりDBミラーリングサービスを通常停止しました
全件複写により正系ノードのデータベースをリカバリします。rdbunlコマンドでロールバック不可閉塞になった資源に関してデータを退避します。
dxsvstartコマンドのrオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -r
アプリケーションサーバの操作
DBミラーリングサービスを停止する前に、利用者業務を停止します。
利用者業務を再開します。
注意
格納データを暗号化している場合でも、rdbunlコマンドを使用して取得したDSIの退避データは暗号化されません。退避データを正系ノードに転送するときは、opensslコマンドなどのツールを使用して退避データを暗号化してください。また、退避データが不要となった際にはファイルを削除してください。
ポイント
ロールバック不可閉塞になった資源については、rdbinfコマンドにより調査可能です。
参照
rdbcninfコマンド、rdbstopコマンド、rdbsloaderコマンド、rdbunlコマンド、およびrdbinfコマンドについては、“ コマンドリファレンス”を参照してください。
監視プロセスの起動については、“Connection Manager ユーザーズガイド” を参照してください。
アプリケーション接続環境の開設プロシジャについては“RDB運用ガイド”を参照してください。
BC管理DBのメモリ常駐については“8.1.3 BC管理DBのメモリ常駐”を参照してください。
ロールバック不可閉塞が発生した場合は“Symfoware/RDBを正常停止してからノードの切替えを行った場合のリカバリ”を参考してください。
退避データファイルの削除方法については“RDB運用ガイド”を参照してください。
Symfoware/RDBを正常停止してからノードの切替えを行った場合のリカバリ
テンポラリログファイルの閉塞状態から、Symfoware/RDBを正常停止し、ノードの切替えを行ってからリカバリする方法について示します。
本手順では、正系ノードのデータベースがロールバック不可閉塞となる場合があります。その状態で、副系ノードへノードの切替えを行った場合、異常が発生したノードにおいて、以下のリカバリが必要となります。
アーカイブログ運用を行っていない場合
アーカイブログ運用を行っていない場合には、切替え先のノードで利用者業務を継続することができますが、異常が発生したノードは利用不可となります。そのため、DCUの再構築が必要となります。
“Symfoware/RDBを強制停止してからノードの切替えを行った場合のリカバリ”の手順において、Symfoware/RDBの強制停止を通常停止と置き換えて、DCUの再構築を行ってください。
ロールバック不可閉塞となった資源のリカバリ
ロールバック不可閉塞が発生した場合は、該当資源に対して、ノードの切替え先のデータベースからの全件複写が必要です。なお、全件複写を行うためには、利用者業務の停止を伴うため、業務停止可能な時間帯まで待機することが必要です。そのため、全件複写するまでの間に、新たな正系ノードでロールバック不可閉塞となった資源に対するRERUNログを新たな副系ノードで破棄する必要があります。
ログ管理ファイルの再作成に伴うRLP再登録
テンポラリログファイルのリカバリ手順で、ログ管理ファイルを再作成する場合には、ノード組込みを行う直前にDCUを構成する2つのRLPの再登録が必要です。
注意
Mirroring Controllerを利用している場合、Symfoware/RDBの停止を検知するとDBミラーリングシステムがノード切替えを行うため、Symfoware/RDBを停止する前にDBミラーリングサービスをリカバリ停止する必要があります。
参照
RERUNログの破棄方法は、対象資源をrdbinhコマンドで閉塞させてから、“11.8.6.4 ログ破棄を利用したリカバリ”を参照して実施してください。rdbinhコマンドについては“コマンドリファレンス”を参照してください。
ノード組込みについては“8.5 ノード組込み”を参照してください。
操作の手順
データベースサーバ1の操作
利用者業務の運用中にテンポラリログファイルのアクセスエラーが発生した場合、メッセージを出力して、テンポラリログファイルを閉塞します。
rdbcninfコマンドを実行し、トランザクションの状態(Tran)の“TINH”が無くなるまで待ちます。
dxsvstopコマンドのrオプションを実行してDBミラーリングサービスをリカバリ停止します。
> dxsvstop -r
データベースへのSQLやRDBコマンドの実行を停止してから、rdbstopコマンドを実行し、Symfoware/RDBを正常停止します。
Symfoware/RDBの資源のリカバリとして、以下の操作を行います。
障害ボリュームの交換
ログ管理ファイルの再作成
アーカイブログファイルの再登録
テンポラリログファイルの再作成
ログ管理ファイルを再作成しなかった場合 → 手順8へ
注)Symfoware/RDBの資源のディスク配置によりリカバリ対象の資源が異なります。
rdbbcrlpコマンドを実行して、ログ管理ファイルに DCUを構成する2つのRLP を再登録します 。
> rdbbcrlp -A -p 複写元RLP名 -S 送信用RLMのファイル名 > rdbbcrlp -A -p 複写先RLP名 -S 送信用RLMのファイル名
rdbbcdcuコマンドのVオプションおよび、bオプションを実行してRLP が正常に登録されたことを確認します。
> rdbbcdcu -V -b LogGroup : system RLCbuffNum : - RLCbuffSize : - RLCnum : 3 RLCsize : 10240K RLPid RLPname Kind OnMode OnStat RLPstat InhCause ConStat DisConCause LogRemain 1 rlp101 origin capture online normal - disconnection own-stop - 2 rlp102 duplicate init standby normal - disconnection own-stop -
dxrebuildコマンドによりノード組込みを行います。
> dxrebuild
データベースサーバを起動します。
BC管理DBをメモリ常駐します。
dxsvstartコマンドのrオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -r
正系ノードでのdxsvstopコマンド実行により、副系ノードのDBミラーリングサービスが停止されたことを、以下のメッセージにより確認します。
12136: 相手ノードからの要求によりDBミラーリングサービスを通常停止しました
全件複写により副系ノードのデータベースをリカバリします。rdbsloaderコマンドでロールバック不可閉塞になった資源に関してデータをロードします。
dxsvstartコマンドのrオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -r
データベースサーバ2の操作
dxswitchコマンドのnオプションを実行してノードの切替えを行います。
> dxswitch -n
dxsvstopコマンドを実行してDBミラーリングサービスを通常停止します。
> dxsvstop
全件複写により副系ノードのデータベースをリカバリします。rdbunlコマンドでロールバック不可閉塞になった資源に関してデータを退避します。
dxsvstartコマンドのcオプションを実行してDBミラーリングサービスを開始します。
> dxsvstart -c
アプリケーションサーバの操作
DBミラーリングサービスを停止する前に、利用者業務を停止します。
利用者業務を再開します。
注意
格納データを暗号化している場合でも、rdbunlコマンドを使用して取得したDSIの退避データは暗号化されません。退避データを副系ノードに転送するときは、opensslコマンドなどのツールを使用して退避データを暗号化してください。また、退避データが不要となった際にはファイルを削除してください。
ポイント
ノードの切替えが発生してから、正系ノードで利用者業務を継続する場合は、ログ破棄したデータベースのリカバリを利用して利用者業務を継続します。利用者業務を停止した後、ロールバック不可閉塞となった資源を全件複写してリカバリします。
参照
テンポラリログファイルのリカバリについては“ RDB運用ガイド”を参照してください。
rdbcninfコマンド、rdbsloaderコマンド、rdbunlコマンド、およびrdbstopコマンドについては“コマンドリファレンス”を参照してください。
ログ破棄したデータベースのリカバリについては“11.8.6.4 ログ破棄を利用したリカバリ”を参照してください。
全件複写によるリカバリについては“11.4.2.2 全件複写によるデータベースのリカバリ”を参照してください。
監視プロセスの起動については、“Connection Manager ユーザーズガイド” を参照してください。
アプリケーション接続環境の開設プロシジャについては“RDB運用ガイド”を参照してください。
BC管理DBのメモリ常駐については“8.1.3 BC管理DBのメモリ常駐”を参照してください。
退避データファイルの削除方法については“RDB運用ガイド”を参照してください。
Symfoware/RDBを強制停止してからノードの切替えを行った場合のリカバリ
テンポラリログファイルの閉塞状態から、Symfoware/RDBを強制停止して、以下のいずれかの方法でノード切替えを行った場合のリカバリ方法について説明します。
dxswitchコマンドの実行
正系ノードでeオプションを指定したrdbstopコマンドの実行(Mirroring Controllerを利用している場合)
DBミラーリングシステムによる自動ノード切替えの実施(Mirroring Controllerを利用している場合)
Symfoware/RDBを強制停止した場合には、切替え先のノードで利用者業務を継続することができますが、異常が発生したノードは利用不可となります。そのため、DBミラーリングサービスを緊急停止してから、利用者業務が停止可能な時間帯に全DCUの再構築を行う必要があります。
操作の手順
データベースサーバ1の操作
利用者業務の運用中にテンポラリログファイルのアクセスエラーが発生した場合、メッセージを出力して、テンポラリログファイルを閉塞します。
rdbstopコマンドのeオプションを実行し、Symfoware/RDBを強制停止します。
> rdbstop -e
dxstopコマンドを実行して、モニタデーモンの停止を行います。
> dxstop
各ロググループのDCUを構成するRLPのRLP名とIDを確認します。Vオプションおよびbオプションを指定したrdbbcdcuコマンドを実行して、出力されるRLP名とRLPidを確認します。ここで確認したRLP名とRLPのIDは、以降で行うRLP管理オブジェクトの削除手順で使用します。
> rdbbcdcu -V -b LogGroup : system RLCbuffNum : - RLCbuffSize : - RLCnum : 10 RLCsize : 10240K RLPid RLPname Kind OnMode OnStat RLPstat InhCause ConStat DisConCause LogRemain 1 rlp101 origin capture online normal - disconnection own-stop - 2 rlp102 duplicate init standby normal - disconnection own-stop -
Symfoware/RDBを強制停止した場合に行うテンポラリログファイルのリカバリとして、以下の操作を行います。
障害ボリュームの交換
ログ管理ファイルの再作成
アーカイブログファイルの再登録
テンポラリログファイルの再作成
RLPの削除
Symfoware/RDBの資源のディスク配置によるログ管理ファイルの再作成の有無やアーカイブログ運用の有無によって、リカバリ手順が異なります。以降で、運用毎のリカバリ手順を示します。
ポイント
本手順では、Symfoware/RDBの資源のリカバリ手順における、データベース二重化の資源のリカバリの関係について記述しているため、“RDB運用ガイド”のSymfoware/RDBの資源のリカバリ手順を参照・併用しながら、リカバリを行ってください。
障害ボリュームを交換
DCUを構成するすべてのRLPを削除
rdbbcrlpコマンドのEオプションおよび、pオプションを実行して、すべてのロググループごとにRLPを削除します。
> rdbbcrlp -E -p 主系RLPのRLP名 |
> rdbbcrlp -E -p 従系RLPのRLP名 |
テンポラリログファイルの再作成
rdblogコマンドを実行して、テンポラリログファイルを再作成します。
障害ボリュームを交換
ログ管理ファイルの再作成
システムロググループでは、rdblogコマンドのIオプションを実行して、ログ管理ファイルを作成します。
ユーザロググループでは、rdblogコマンドのIオプションおよび、rオプションを実行して、ログ管理ファイルを再作成します。
アーカイブログファイルの再登録
rdblogコマンドのAオプションおよび、aオプションを実行して、アーカイブログファイルを再登録します。
テンポラリログファイルの再作成
rdblogコマンドのGオプション、tオプションおよび、rオプションを実行して、テンポラリログファイルを再作成します。
BCログ管理ファイルの再作成
rdbbclogコマンドのMオプションおよび、rオプションを実行して、BCログ管理ファイルを再作成します。
障害ボリュームを交換
ログ管理ファイルの再作成
システムロググループでは、rdblogコマンドのIオプションを実行して、ログ管理ファイルを作成します。
ユーザロググループでは、rdblogコマンドのIオプションおよび、rオプションを実行して、ログ管理ファイルを再作成します。
テンポラリログファイルの作成
rdblogコマンドのGオプションおよび、tオプションを実行して、テンポラリログファイルを作成します。
BCログ管理ファイルの再作成
rdbbclogコマンドのMオプションおよび、rオプションを実行して、BCログ管理ファイルを再作成します。
モニタデーモンのサービスをWindowsサービスから削除します。
> dxservice -d
rdbstartコマンドを実行し、Symfoware/RDBを起動します。
> rdbstart
DCUを構成するRLPに対応するRLP管理オブジェクトを、すべてのロググループごとに削除します。
ただし、手順5でのログ管理ファイルの再作成やRLPの削除によって、RLPの管理情報が失われるため、以下の手順により、主系および従系RLPに対応するRLP管理オブジェクトのDSI名およびデータベーススペース名を特定して削除します。
BC管理スキーマのデータベース名を特定
BC構成パラメタファイル内のBCMNDBパラメタに指定したBC管理スキーマのデータベース名を特定します。
BC管理オブジェクトのDSI名を特定
手順4により取得したRLPのIDにより、RLP管理オブジェクトのDSI名を特定します。DSI名の特定方法については、“J.1 BC管理DBの構成”を参照してください。
RLP管理オブジェクトのDSIを削除
手順aおよび手順bで特定したデータベース名およびDSI名より、rdbddlexコマンドを利用して、主系および従系RLPのRLP管理オブジェクトのDSIを削除します。
BC管理DBのデータベーススペース名を特定
手順4により取得したRLPのIDにより、RLP管理オブジェクトのデータベーススペース名を特定します。
RLP管理オブジェクトのデータベーススペースを削除
手順aおよび手順dで特定したデータベース名およびデータベーススペース名より、rdbddlexコマンドを利用して、主系および従系RLPのRLP管理オブジェクトのデータベーススペースを削除します。
rdbstopコマンドを実行し、Symfoware/RDBを停止します。
> rdbstop
モニタ管理ファイルの削除を行います。DBミラーリング動作環境ファイルのDX_MANAGE_PATHパラメタに指定したディレクトリ配下のモニタ管理ファイルをすべて削除するか、またはセットアップスクリプトdxdelmonenv.batを実行して削除します。
> dxdelmonenv.bat [-t 作業用ディレクトリ]
セットアップスクリプトdxdelrlpenv.batのdオプションおよび、pオプションを実行して、従系RLPの複写先RLPのRERUNログ抽出ファイルおよびRERUNログ引継ぎファイルを、すべてのロググループごとに削除します。
> dxdelrlpenv.bat -d 従系RLPのRLP定義ファイル -p 従系RLPのRLP名
全DCUを再構築します。
全DCUの再構築の手順で、RLPを構成するファイルの削除以降を実施します。
データベースサーバ2の操作
dxsvstopコマンドのtermオプションを実行して、DBミラーリングサービスを緊急停止します。
> dxsvstop -term
全DCUの再構築を行います。
アプリケーションサーバの操作
DCUの再構築を行う前に、利用者業務を停止します。
注意
異常が発生したノードでのDCUの再構築手順は“11.9 DCUの再構築”の手順と異なります。
RLP管理オブジェクトの削除では、セットアップスクリプトdxdelmnobj.batを利用することはできません。
参照
Symfoware/RDBの強制停止、起動、および、各コマンドについては“ コマンドリファレンス”を参照してください。
Symfoware/RDBの停止および起動については“ セットアップガイド”を参照してください。
データベーススペース名の特定方法およびBC管理DBの構成については“J.1 BC管理DBの構成”を参照してください。
モニタ管理ファイルのファイル名については “付録E データベース二重化の資源のファイル名”を参照してください。
DCUの再構築については“11.9 DCUの再構築”を参照してください。