異常時に備えたAdvanced Backup Controllerによるデータベースのバックアップについて説明します。
注意
データベースとRDBディクショナリは、同じタイミングでバックアップしてください。
Advanced Backup Controllerを利用した運用では、データベースを定期的にバックアップしてください。
定期的にバックアップする間隔のことをバックアップ周期と呼びます。毎朝バックアップする場合、バックアップ周期は1日となります。
日々の業務の中でデータベースが更新されると、更新ログがアーカイブログとしてアーカイブログファイルに蓄積されます。
Advanced Backup Controllerでは、退避データを利用してバックアップ取得時点の状態にデータベースをリカバリしたあと、バックアップ取得時以降に蓄積されたアーカイブログをデータベースに反映することにより最新状態にリカバリしています。
このため、バックアップ周期は、バックアップに要する時間(データベースの規模)やリカバリに要する時間(アーカイブログ量)を考慮して、管理者が決めてください。
また、管理する世代数は、バックアップポリシーの設定時に指定します。バックアップボリュームの登録時には、世代数+1個のディスクを登録する必要があります。
注意
以下に示す機能では、データベースの更新ログを取得しません。そのため、以下の各機能が正常終了すると、運用方法に関わらず、それ以前に取得した退避データを用いたリカバリが実行できなくなります。異常時に備えて、データベーススペースの退避データを取得しなおしてください。同時に、RDBディクショナリの退避データも取得しなおしてください。
分類 | 機能名 |
---|---|
SQLの文/要素 | バックアップ対象のロググループに属するデータベーススペースに対してのデータベース操作文(DROP DBSPACE文)およびデータベース定義文(CREATE DBSPACE文) |
データベーススペースのリカバリ | swstrestoreコマンド(バックアップ時点へのリカバリまたはrdbsetrpコマンドで設定したリカバリポイントまでのリカバリ) |
DSIの再作成 | rdbgcdsiコマンド、rdbrcvコマンド、rdbsaloaderコマンド、rdbsloaderコマンド、rdbsuloaderコマンド |
リカバリ機能の抑止および解除 | rdbrtrコマンド(nオプションかつiオプション)およびrdbrlsコマンド(nオプションかつiオプション) |
システムファイルのリカバリ | アーカイブログファイルのリカバリ(スケーラブルログ運用を行っている場合は、バックアップ対象のデータベーススペースの属するロググループのアーカイブログのリカバリを行った場合) |
アーカイブログファイルのリカバリについては、“11.6 アーカイブログファイルのリカバリ”を参照してください。
参照
SQLの文/要素については、“SQLリファレンス”を参照してください。
swstrestoreコマンドについては、“ETERNUS SF AdvancedCopy Manager 運用手引書”または“ETERNUS SF AdvancedCopy Manager 運用ガイド”を参照してください。
RDBコマンドについては、“コマンドリファレンス”を参照してください。
バックアップ運用単位の、バックアップ操作の流れを示します。
アーカイブログファイルの操作およびRDBディクショナリのバックアップの詳細については、“4.4 異常時に備えたデータのバックアップ”を参照してください。
データベースの創成が完了すると、データベースの運用を開始することができます。データベースの運用にあたっては、データ破壊などの異常時のリカバリに備えて、バックアップしておく必要があります。
ETERNUSのEC(Equivalent Copy)機能を利用する場合、退避データの取得は、swststartsyncコマンドを利用して同期処理を行ったあと、swstbackupコマンドで行います。
ETERNUSのOPC(One Point Copy)機能を利用する場合、退避データの取得は、swststartsyncコマンドによる同期処理を行わずに、swstbackupコマンドで行います。この場合、swstbackupコマンドの完了後に、バックグラウンドでバックアップ処理が行われます。OPC機能によるバックアップが完了したことを、swstbackstatコマンドにより確認してください。swstbackstatコマンドの結果が、“succeeded(成功)”であれば、バックアップは完了しています。“executing(実行中)”であれば、まだバックアップは完了していません。“failed(失敗)”であれば、バックアップに失敗しています。swstbackupコマンドが完了したあとも、バックグラウンドで行われるバックアップが完了するまでは、古いバックアップデータを削除しないようにしてください。OPC機能を利用する場合、バックアップディスクの登録時には、世代数分のディスクを登録する必要があります。
swstbackupコマンドにより取得した退避データは、データベーススペース単位に作成されます。したがって、データベーススペースごとにリカバリすることができます。退避データは、AdvancedCopy Managerによって管理されます。
参照
swstbackupコマンド、swststartsyncコマンドおよびswstbackstatコマンドの指定方法の詳細については、“ETERNUS SF AdvancedCopy Manager 運用手引書”または“ETERNUS SF AdvancedCopy Manager 運用ガイド”を参照してください。
swstbackupコマンドにより取得した退避データには、通常ダンプと参照ダンプの2種類があります。
アーカイブログと連携して取得した退避データを通常ダンプと呼びます。
アーカイブログと切り離した状態で取得した退避データを参照ダンプと呼びます。これは更新が終了し、参照のみとなったデータを長期保存する場合などに利用します。
退避データ取得時には、以下の条件を満足していなければなりません。
Symfoware/RDBが起動状態でなければなりません。
対象データベーススペースとそれに含まれるすべてのDSIが正常状態でなければなりません。rdbinfコマンドでアクセス禁止状態でないことを確認してください。
バックアップ対象のボリュームが等価性維持状態になっていることが必要です。等価性維持状態になっているかの確認は、swstsyncstatコマンドを利用して行ってください。
参照
swstsyncstatコマンドの指定方法の詳細については、“ETERNUS SF AdvancedCopy Manager 運用手引書”または“ETERNUS SF AdvancedCopy Manager 運用ガイド”を参照してください。
退避データ取得時の入出力構成と使用例
Advanced Backup Controllerの退避データは切り離されたETERNUSのバックアップボリュームである退避データベーススペースと、リカバリ時に必要な情報が格納されたリカバリ制御ファイルの2つが、データベーススペース単位に作成されます。
これらの退避データは、AdvancedCopy Managerによって管理されます。
また、退避データの取得点を表すためのリカバリポイントが、バックアップ時にアーカイブログファイルに設定されます。処理メッセージは、標準出力されます。
swstbackupコマンドを使用して、ユーザロググループ名“grp1”が使用するデータベーススペースをバックアップする場合の入出力構成を以下に示します。
DBSP: データベーススペース
$ swstbackup -n grp1 grp1 swstbackup completed
注意
以下のいずれかの場合は、参照ダンプを取得してください。
バッチ業務中などでリカバリを適用しない運用の場合
バックアップ対象データベースにOBJECT構造のDSIが含まれている場合
参照ダンプの取得方法は、“ETERNUS SF AdvancedCopy Manager 運用手引書”または“ETERNUS SF AdvancedCopy Manager 運用ガイド”を参照してください。
swstbackupコマンドの実行中に切り替えたアーカイブログファイルは、swstbackupコマンド実行中には、rdblogコマンドによって破棄またはバックアップすることはできません。
バックアップ対象のデータベーススペースに割り付けたDSIに対するデータ更新処理中にswstbackupコマンドを実行する場合、コマンド開始時点で動作中のトランザクションが完了してから、実際のバックアップ処理を開始します。コマンド開始以降に動作したトランザクションは、実際のバックアップと並行して実行されます。