6.6.1 バックアップ閉塞とは
次に示す場合に,バックアップ対象RDエリアをバックアップ閉塞してください。
-
pdcopyコマンド以外(ほかの製品の機能)でバックアップを取得する場合
-
pdcopyコマンドを更新可能モードで実行する場合
RDエリアをバックアップ閉塞すると,オンライン中でもバックアップを取得できます。RDエリアをバックアップ閉塞するには,pdholdコマンドで-bオプションを指定します。
- 〈この項の構成〉
(1) バックアップ閉塞の種類
バックアップ閉塞には次の表に示す四つの種類があります。
バックアップ閉塞の種類 |
説明 |
---|---|
バックアップ閉塞中,バックアップ閉塞RDエリアの参照はできるが,更新はSQLエラー(−920)になります。 特徴及び注意事項
|
|
バックアップ閉塞中,バックアップ閉塞RDエリアを参照できます。更新はバックアップ閉塞が解除されるまで排他待ち状態になります。 特徴及び注意事項
|
|
バックアップ閉塞中,バックアップ取得対象RDエリアの参照及び更新ができます。更新トランザクションが実行中でも,pdholdコマンドを待ち状態にしないで,RDエリアをすぐに更新可能バックアップ閉塞状態にします。 特徴及び注意事項
|
|
バックアップ閉塞中,バックアップ取得対象RDエリアの参照及び更新ができます。更新トランザクションが実行中の場合は,更新トランザクションが終了するまでpdholdコマンドを待ち状態にします。 特徴及び注意事項
|
(2) 前提条件(RDエリアの構成について)
バックアップ取得対象RDエリアの全構成ファイルが一回のバックアップで取得できるように,RDエリアの構成ファイルをディスクに配置してください。
(3) 注意事項
-
HiRDBが使用しているディスクのバックアップを取得している場合,HiRDBが異常終了又は強制終了するとそのバックアップは無効になります。この場合,再度バックアップを取得してください。
-
RDエリアの状態が,更新可能バックアップ閉塞又は更新可能バックアップ閉塞(WAITモード)の場合,RDエリアの自動増分が抑止されます。そのため,これらの閉塞状態中に新規ページの確保が発生する大量データの追加又は更新業務の実行は避けてください。RDエリアの自動増分の抑止を解除するには,pdrelsコマンドでRDエリアの閉塞を解除してください。
-
pdcopyコマンド以外(ほかの製品の機能)でバックアップを取得する場合,バックアップ取得中にデータベース構成変更ユティリティ(pdmodコマンド)を実行しないでください。
-
バックアップ閉塞中にHiRDBが異常終了又は強制終了した場合,バックアップ閉塞の種類によってはHiRDBの再開始時にバックアップ閉塞を引き継ぎません。この場合,再度バックアップ閉塞を実施してバックアップを取得してください。HiRDB再開始時のバックアップ閉塞の引き継ぎ状態を次の表に示します。
表6‒6 HiRDB再開始時のバックアップ閉塞の引き継ぎ状態 バックアップ閉塞の種類
再開始時に状態を引き継ぐかどうか
参照可能バックアップ閉塞
○
参照可能バックアップ閉塞(更新WAITモード)
×
更新可能バックアップ閉塞
×
更新可能バックアップ閉塞(WAITモード)
×
- (凡例)
-
○:状態を引き継ぎます。
×:状態を引き継ぎません。
(4) 排他との関係
(a) バックアップ閉塞中の排他待ちタイムアウト
次に示すモードでバックアップ閉塞をする場合,排他待ちタイムアウトに注意してください。
-
参照可能バックアップ閉塞(更新WAITモード)
-
更新可能バックアップ閉塞
-
更新可能バックアップ閉塞(WAITモード)
参照可能バックアップ閉塞(更新WAITモード)ではバックアップ閉塞を解除するまで,更新トランザクションがバックアップ閉塞RDエリア(資源種別0602)で排他待ちになります。更新可能バックアップ閉塞及び更新可能バックアップ閉塞(WAITモード)ではバックアップ閉塞を解除するまで,ログレスモード又は更新前ログ取得モードの更新トランザクションがバックアップ閉塞RDエリア(資源種別0602)で排他待ちになります。
このため,pd_lck_wait_timeoutオペランド又はクライアント環境定義のPDCWAITTIMEオペランドの指定値がバックアップ閉塞から閉塞解除までの時間より短いと更新トランザクションがエラーになります。エラーになる場合はこれらのオペランドの指定値を変更してください。
これらのモードでバックアップを取得する場合は,閉塞から閉塞解除までの時間が短かい(論理ボリュームを分割する間だけでよい)ミラーディスクの機能を利用してバックアップを取得するときにお勧めします。
(b) バックアップ閉塞時のデッドロック
複数のRDエリアを次に示すモードでバックアップ閉塞する場合,デッドロックに注意してください。
-
参照可能バックアップ閉塞(更新WAITモード)
-
更新可能バックアップ閉塞
-
更新可能バックアップ閉塞(WAITモード)
参照可能バックアップ閉塞(更新WAITモード)では,更新トランザクションとの間でデッドロックになることがあります。更新可能バックアップ閉塞及び更新可能バックアップ閉塞(WAITモード)では,ログレスモード又は更新前ログ取得モードの更新トランザクションとの間でデッドロックになることがあります。更新トランザクションをエラーにしたくない場合は,pd_deadlock_priority_use = Yを指定してください。この場合,デッドロックが発生するとpdholdコマンドがエラーになるため,一定時間後にpdholdコマンドを再度実行してください。なお,pdholdコマンドに複数のRDエリアを指定した場合,全RDエリアのバックアップ閉塞処理を無効にします。
また,複数のRDエリアを複数回のpdholdコマンドでバックアップ閉塞すると,バックアップ閉塞RDエリアでデッドロックになることがあります。この場合,バックアップ閉塞したRDエリアを閉塞解除した後にpdholdコマンドを再度実行してください。このため,複数のRDエリアをバックアップ閉塞する場合は,1回のpdholdコマンドで複数のRDエリアを指定してください(成功するまで繰り返し実行してください)。
HiRDB/パラレルサーバの場合,異なるサーバにあるRDエリアを指定すると,グローバルデッドロックになることがあります。HiRDBではグローバルデッドロックを検知できないため,トランザクションがタイムアウトエラーになります。グローバルデッドロックを避けるには,複数のRDエリアを指定するとき,サーバ単位にpdholdコマンドを実行してください。
(5) 更新可能バックアップ閉塞中に出力されるシステムログ量
更新可能バックアップ閉塞中にデータベースを更新すると,追加のシステムログが出力されます。追加で出力されるシステムログ量の見積もりについては,マニュアル「HiRDB システム導入・設計ガイド」の「更新可能バックアップ閉塞中に出力されるシステムログ量」を参照してください。ただし,バックアップ閉塞中にHiRDBが異常終了又は強制終了した場合,HiRDBの再開始時にバックアップ閉塞を引き継ぎません(参照可能バックアップ閉塞を除く)。このため,システムログが追加で出力されることはありません。
(6) データベースの回復に必要なシステムログの求め方
データベースを最新の同期点に回復する場合(範囲指定の回復も含む),バックアップ取得後のシステムログが必要になります。データベースの回復に必要なシステムログの求め方を次の表に示します。
条件 |
データベースの回復に必要なシステムログの求め方 |
---|---|
|
バックアップ取得以降のシステムログが必要になります。バックアップの取得前にpdloglsコマンドを実行して,現用のシステムログについて次に示す情報を記録しておいてください。
また,バックアップの取得日時を記録しておいてください。pdrstrコマンドに-Tオプションを指定する場合はこの時刻を指定します。 |
更新可能バックアップ閉塞(WAITモード)の場合 |
バックアップ閉塞コマンド実行開始時点からのシステムログが必要になります。バックアップ閉塞の実行前にpdloglsコマンドを実行して,次に示す情報を記録しておいてください。
また,バックアップ閉塞実行開始日時を記録しておいてください。pdrstrコマンドに-Tオプションを指定する場合はこの時刻を指定します。 |
更新可能バックアップ閉塞の場合 |
データベースの回復に必要なシステムログの開始位置を表示するKFPS02183-Iメッセージを参照してください。※ 更新可能バックアップ閉塞前のKFPS02183-Iメッセージに表示されたシステムログファイルのファイルグループ名,世代番号,シンクポイントダンプ取得開始時刻がデータベースの回復に必要なシステムログの開始位置を示しています。ログサーバプロセスのランIDはpdloglsコマンドで確認してください。 pdrstrコマンドに-Tオプションを指定する場合は,シンクポイントダンプ取得開始時刻を指定します。 |
注※ pd_spd_assurance_msg=Nを指定すると,KFPS02183-Iメッセージは出力されません。