ページの先頭行へ戻る
Symfoware Server V11.1.0 RDB運用ガイド
FUJITSU Software

4.4.8 DSIのバックアップ

データベースの創成が完了すると、データベースの運用を開始することができます。データベースの運用にあたっては、データ破壊などの異常時のリカバリに備えて、表のDSIのバックアップを行っておく必要があります。インデックスが付加された表でも、表のDSIの退避データ取得だけでよく、インデックスのDSIの退避データ取得は必要ありません。

一時表、および、一時表のインデックスのDSIのバックアップは不要です。一時表は、アプリケーション実行時に一時的に使用する領域のため、内容を保存しておく必要はありません。rdbdmpコマンドに一時表、および、一時表のインデックスのDSIを指定した場合、“qdg13756e”を出力してエラーとなります。

一時表のリカバリについては、“11.12 一時表のリカバリ”を参照してください。

バックアップの実行

DSIの退避データの取得は、rdbdmpコマンドを使用します。

rdbdmpコマンドにより取得した退避データの形式には、以下の2つがあります。

参照

rdbdmpコマンドの詳細については、“コマンドリファレンス”を参照してください。

DSI形式

指定されたDSIのすべてのデータを、1つのファイルにまとめて取得した退避データのことをいいます。

エクステント形式

DSIを割り当てているデータベーススペースごとに、別ファイルに分けて取得した退避データのことをいいます。この形式で退避データを取得した場合は、DSIを割り当てているデータベーススペース(エクステント)ごとにリカバリすることができます。

退避データ取得時の実行条件

退避データ取得時には、以下の条件を満足していなければなりません。

退避データ取得時の入出力構成と使用例

退避データは、指定された外部媒体に出力されます。このとき、アーカイブログ運用を行っている場合は、退避データの取得点を表すためのリカバリポイントが、アーカイブログファイルに設定されます。処理メッセージは、標準出力されます。

rdbdmpコマンドを使用して、DSIをバックアップする場合の入出力構成を以下に示します。

DSI形式のバックアップ

$ rdbdmp -i 在庫管理DB.在庫表DSI1 -f stock@/backup/rdb -e -y 
rdb: INFO: qdg02654i:rdbdmpコマンドの処理を開始します (システム名=rdbsys1)
rdb: INFO: qdg02655i:rdbdmpコマンドの処理が正常終了しました (システム名=rdbsys1)

エクステント形式のバックアップ

エクステント形式のバックアップを行う場合は、どのデータベーススペースを、どのディレクトリ配下にバックアップするかを記述した、バックアップ制御ファイルに従って外部媒体に出力されます。

$ rdbdmp -i 在庫管理DB.在庫表DSI -f /home/rdb1/backup1.data -e -y
rdb: INFO: qdg02654i:rdbdmpコマンドの処理を開始します (システム名=rdbsys1)
rdb: INFO: qdg02655i:rdbdmpコマンドの処理が正常終了しました (システム名=rdbsys1)

注意

  • アーカイブログ運用を行っていない場合、アーカイブログ運用を行っていてバッチ業務中などでリカバリを適用しない運用の場合およびOBJECT構造のDSIの退避データを取得する場合は、rdbdmpコマンドの前後で、更新抑止の設定と解除を行ってください。また、rdbdmpコマンド実行時にはNオプションを指定してください。この方法で取得した退避データでは、rdbrcvコマンドのFWモードによって、最新状態にまでリカバリすることはできません。

  • rdbdmpコマンドのeオプションは、退避先がすでに存在した場合に処理を続行するかの確認を行います。

  • rdbdmpコマンドのyオプションは、退避先が磁気テープの場合、入力要求のメッセージを出力せずにセットされている磁気テープを処理対象として処理を行います。そのため、yオプションを使用する場合には、コマンド実行前に、正しい磁気テープがセットされているか確認してください。

  • rdbdmpコマンドのyオプションとeオプションを同時に指定した場合、退避先がファイルのとき、書込みの確認要求は行わず無条件に退避ファイルを作成します。そのため、yオプションを使用する場合には、コマンド実行前に、退避先が正しいか確認してください。

  • rdbdmpコマンドの実行中に切り替えたアーカイブログファイルは、rdbdmpコマンド実行中には、rdblogコマンドによって破棄またはバックアップすることはできません。

複数DSIの一括退避

バックアップの処理時間を短縮するために、同一データベース内の複数のDSIを、指定したディレクトリに一括してバックアップすることができます。

スケーラブルログ運用を行っている場合は、同一ロググループに属するDSIを指定してください。

在庫管理DBに属する在庫表DSI1、在庫表DSI2、在庫表DSI3および在庫表DSI4を、/backup/rdbにdmp1、dmp2、dmp3およびdmp4としてバックアップする例を以下に示します。

$ rdbdmp -t /home/rdb1/dsi.list -e -y
rdb: INFO: qdg02654i:rdbdmpコマンドの処理を開始します (システム名=rdbsys1)
rdb: INFO: qdg12578i:DSI '在庫管理DB.在庫表DSI1'をバックアップします (システム名=rdbsys1)
rdb: INFO: qdg12578i:DSI '在庫管理DB.在庫表DSI2'をバックアップします (システム名=rdbsys1)
rdb: INFO: qdg12578i:DSI '在庫管理DB.在庫表DSI3'をバックアップします (システム名=rdbsys1)
rdb: INFO: qdg12578i:DSI '在庫管理DB.在庫表DSI4'をバックアップします (システム名=rdbsys1)
rdb: INFO: qdg02655i:rdbdmpコマンドの処理が正常終了しました (システム名=rdbsys1)

業務とバックアップの同時実行

24時間連続運用など日々のデータベース運用中にバックアップ時間が確保できないような場合にも、rdbdmpコマンドは業務と並行してバックアップを取得することができます。業務と並行して取得する退避データを、オンラインダンプと呼びます。オンラインダンプは、更新中のDSI情報を取得するため、DSIイメージデータと、rdbdmpコマンド実行中の更新ログを一緒にバックアップすることで、退避データとしての整合性を保証しています。このため、取得した退避データのみでrdbdmpコマンド実行時点にDSIをリカバリすることが可能です。

オンラインダンプは、アーカイブログ運用を行っていて、rdbdmpコマンドにNオプションを指定しない場合に取得できます。

なお、オンラインダンプ取得時には、rdbdmpコマンドが業務アプリケーションと同一のディスクに対してアクセスを行うため、業務アプリケーションのレスポンスに影響を与えてしまいます。また、rdbdmpコマンド実行時間に比例して、バックアップされる更新ログ量も増加してしまいます。このため、オンラインダンプを取得する場合は、なるべく更新量の少ない時間を見計らって、バックアップを取得するようにしてください。

参考

rdbdmpコマンドは、オンラインダンプの問題点に対応して、以下の機能を提供しています。

更新ログをバックアップしない:

rdbdmpコマンドのcオプションにより、実行中の更新ログをバックアップしません。これにより、rdbdmpコマンド実行時間に関わらず、退避データ量は、DSIイメージデータのサイズとなります。退避データとしての整合性は、アーカイブログファイルに保存される更新ログを適用することで保証します。このため、DSIリカバリ時は、アーカイブログファイルが必須となります。(rdbrcvコマンドのFWモードによるリカバリのみ実行可能)

インターバル値の指定:

rdbdmpコマンドのdオプションでインターバル値を指定することにより、rdbdmpコマンドのディスクに対するアクセスの優先度を下げることができます。これにより、業務アプリケーションのレスポンスへの影響を軽減できます。ただし、dオプション指定時は、dオプション未指定時と比較して、rdbdmp実行時間が増加します。

参照

rdbdmpコマンドのcオプションおよびdオプションについては、“コマンドリファレンス”を参照してください。

参考

オンラインバックアップを実施する場合、退避データの整合性を保つために、以下の様に処理します。

  • コマンド開始時に、バックアップ対象のDSIに対するトランザクションが実行中の場合、実際のバックアップ処理はトランザクションが完了してから開始します。

  • バックアップ対象のDSIに対するトランザクションがコマンド開始以降に実行した場合、トランザクションは実際のバックアップ処理と並行して実行します。

  • 実際のバックアップ処理が終了した時にトランザクションが実行中の場合、コマンドはトランザクションの完了を待って復帰します。

注意

cオプションを指定する場合、以下の注意事項があります。

  • cオプションを指定する場合、アーカイブログ運用を行っていなければなりません。

  • cオプション指定時の退避データを用いてDSIをリカバリする場合、退避データ取得時以降のアーカイブログファイルが必須になります。このため、アーカイブログファイルの入出力障害に備えて、rdbdmpコマンド実行後には、使用中のアーカイブログファイルをバックアップしておくなどの考慮が必要です。

  • cオプション指定時の退避データを用いて退避データ採取時点にDSIをリカバリする場合、rdbrcvコマンドのFWモードにdumpオプションおよび退避データ取得時点の退避アーカイブログファイルを指定してリカバリしてください。

    rdbrcvコマンドのdumpオプションについては、“コマンドリファレンス”を参照してください。

リカバリ

DSIのリカバリは、rdbrcvコマンドを使用します。DSIのリカバリ操作の手順とリカバリ操作例については、“第5章 媒体障害からのリカバリ”を参照してください。