スナップショット型高速バックアップおよび同期型高速バックアップで退避したデータの復元には、19.2.2.4 acmrestore(リストア実行コマンド)を用います。
Symfowareのリカバリーは、業務ボリュームまたはロググループを指定して、19.2.2.1 acmbackup(バックアップ実行コマンド)でバックアップされた履歴管理されているバックアップボリュームまたはテープから、19.2.2.4 acmrestore(リストア実行コマンド)を用いて行います。
注意
ロググループを指定してリカバリーを行う場合、ロググループに含まれる業務ボリュームを一度にリカバリーします。
また、“-bundle”オプションを使用して同一ロググループの複数の業務ボリュームを一括してリカバリーすることも可能です。これを、バンドル・リカバリーと呼びます。
RAIDグループ内に複数のデータベーススペースが配置されている場合、これらのデータベーススペースを一括してリカバリーすることで、ログ適用の時間が短縮され、リカバリー時間を短縮できます。
リカバリーは、次に挙げる方法で実行できます。
最新状態への復旧
リカバリ終了点を指定した特定時点への復旧
バックアップ時点への復旧
リカバリーするデータのバックアップした方法(通常ダンプ/参照ダンプ)によって、指定できるリカバリー方法が異なります。次に示すような組合せで指定できます。
バックアップ単位 | バックアップ方法 | リカバリー単位 | リカバリー方法 | ||
---|---|---|---|---|---|
最新状態への復旧 | リカバリ終了点を指定した特定時点への復旧 *1 | バックアップ時点への復旧 | |||
業務ボリューム | 通常ダンプ | ロググループ | ○ | ○ | ○ |
同一ロググループの複数の業務ボリューム | ○ | ○ | ○ | ||
業務ボリューム | ○ | × | × | ||
ロググループ | 通常ダンプ | ロググループ | ○ | ○ | ○ |
同一ロググループの複数の業務ボリューム | ○ | ○ | ○ | ||
業務ボリューム | ○ | × | × | ||
参照ダンプ | ロググループ | ○ | × | ○ | |
同一ロググループの複数の業務ボリューム | ○ | × | ○ | ||
業務ボリューム | ○ | × | × |
(○:可能 ×:不可能)
*1:リカバリポイントは、Symfoware Serverのマニュアルを参照してください。リカバリポイントはデータベースのリカバリー時まで覚えておく必要があります。
注意
すべての方法において、リカバリー対象となるデータベーススペースがアクセス禁止状態になっている必要があります。アクセス禁止状態にするには、Symfowareが提供するコマンドの“rdbinh”コマンドを用いて行います。コマンドの詳細は、『Symfoware Server RDB運用ガイド』を参照してください。
注意
ロググループに含まれる業務ボリュームを個別にリカバリーする場合は、最新状態へ復旧するリカバリー方法だけ行えます。この場合、ロググループ内の表間のリレーションはデータベースの管理者の責任で整合させる必要があります。
“最新状態への復旧”、“特定時点への復旧”を行う場合、アーカイブログファイルが外部媒体に保管されていれば、リカバリー時に必要なアーカイブログ退避ファイル名を列挙したファイルを、リカバリーを行う業務ボリュームが存在する管理対象サーバ(Storageサーバ)に作成しておき、リカバリー時に指定する必要があります。このファイルの記述方法は、『Symfoware Server RDB運用ガイド』を参照してください。
リストア実行コマンドで実行したリカバリーが、作業ディレクトリの空き容量不足で失敗した場合、“-w”オプションを使用して、一時的に別のディレクトリを作業ディレクトリとして再実行することで、リカバリーが可能になります。“-w”オプションの詳細は、「19.2.2.4 acmrestore(リストア実行コマンド)」を参照してください。
“リカバリ終了点を指定した特定時点への復旧”または“バックアップ時点への復旧”を行う場合、Symfowareの管理情報を復旧する処理が行われます。この処理はリカバリーの実行処理の一部として実施されるため、コマンドの処理に時間がかかります。
データベーススペース単位にバックアップを実施した場合、ロググループ単位リカバリーまたはバンドル・リカバリーでは、世代指定に相対世代番号を指定するようにしてください。これは、以下の例のようにデータベーススペース単位にバックアップを実施した場合、特定の業務ボリューム(データベーススペース)の履歴が更新されるため、相対世代番号に対する絶対世代番号がそろわない状態が発生するからです。
(例)ロググループ(LOG1/RDB1)にデータベーススペース1(DB1.DBSP1)とデータベーススペース2(DB1.DBSP2)が存在する場合
1日目:データベーススペース1(DB1.DBSP1)をバックアップ
# /opt/FJSVswstc/bin/acmbackup /dev/dsk/c1t0d0s1 /dev/dsk/c1t0d0s1 acmbackup completed # |
2日目:データベーススペース1(DB1.DBSP1)とデータベーススペース2(DB1.DBSP2)を個別にバックアップ
# /opt/FJSVswstc/bin/acmbackup /dev/dsk/c1t0d0s1 /dev/dsk/c1t0d0s1 acmbackup completed # /opt/FJSVswstc/bin/acmbackup /dev/dsk/c1t0d0s4 /dev/dsk/c1t0d0s4 acmbackup completed # |
履歴情報の表示
# /opt/FJSVswstc/bin/acmhistdisp -l -n LOG1/RDB1 Generation Management Backup Server = SV01 Device = /dev/dsk/c1t0d0s1 Mount-Point = DB1.DBSP1/LOG1/RDB1 (SymfoWARE) Generation Version Backup-Date Backup-Device Status Execute ArcSerial Tape-Gen CopyID Pool-Name Backup-Tape 1 2 2004/12/12 22:00 /dev/dsk/c1t0d2s4 succeeded ---- 5 1 1 TapePool4 LT00059 2 1 2004/12/11 22:00 /dev/dsk/c1t0d2s1 succeeded ---- 5 2 1 TapePool4 LT00060 Server = SV01 Device = /dev/dsk/c1t0d0s4 Mount-Point = DB1.DBSP2/LOG1/RDB1 (SymfoWARE) Generation Version Backup-Date Backup-Device Status Execute ArcSerial Tape-Gen CopyID Pool-Name Backup-Tape 1 1 2004/12/12 23:00 /dev/dsk/c1t0d2s3 succeeded ---- 5 1 1 TapePool4 LT00058 Day Management Backup Server = SV01 Device = /dev/dsk/c1t0d0s1 Mount-Point = DB1.DBSP1/LOG1/RDB1 (SymfoWARE) TapeCopy-Date Backup-Date ArcSerial Expiration-Date Pool-Name Backup-Tape Server = SV01 Device = /dev/dsk/c1t0d0s4 Mount-Point = DB1.DBSP2/LOG1/RDB1 (SymfoWARE) TapeCopy-Date Backup-Date ArcSerial Expiration-Date Pool-Name Backup-Tape # |
以上のような履歴を使用したロググループ単位リカバリーまたはバンドル・リカバリーでは、指定するオプションによって使用されるバックアップデータが異なります。上記の場合、相対世代番号を指定した方が両データベーススペースとも2日目のバックアップデータが使用されるため、リカバリー後のデータベースの整合性を保つことができます。
世代番号の種類 | 指定オプション | リカバリーに使用されるバックアップデータ | |
---|---|---|---|
DB1.DBSP1 | DB1.DBSP2 | ||
ディスクの相対世代番号 | -g 1 -m DISK | 2日目のバックアップデータ | 2日目のバックアップデータ |
絶対世代番号 | -v 1 | 1日目のバックアップデータ | |
テープの相対世代番号 | -g 1 -m TAPE | 2日目のバックアップデータ | 2日目のバックアップデータ |
注意
ロググループ単位にバックアップを実施した場合、データベーススペース単位バックアップや履歴の削除で絶対世代番号がそろっていない状態でも、ロググループ単位バックアップの絶対世代番号はそろいます。これは、以下の例のように絶対世代番号が小さい業務ボリューム(データベーススペース)の番号が、絶対世代番号が大きい業務ボリューム(データベーススペース)の番号に合わせられるからです。よって、絶対世代番号が小さい業務ボリューム(データベーススペース)では、途中の絶対世代番号が抜けた状態になります。
(例)ロググループ(LOG1/RDB1)にデータベーススペース1(DB1.DBSP1)とデータベーススペース2(DB1.DBSP2)が存在する場合
1日目:データベーススペース1(DB1.DBSP1)をバックアップ
# /opt/FJSVswstc/bin/acmbackup /dev/dsk/c1t0d0s1 /dev/dsk/c1t0d0s1 acmbackup completed # |
2日目:データベーススペース1(DB1.DBSP1)とデータベーススペース2(DB1.DBSP2)をロググループ単位でバックアップ
# /opt/FJSVswstc/bin/acmbackup -n LOG1/RDB1 LOG1/RDB1 acmbackup completed # |
履歴情報の表示
# /opt/FJSVswstc/bin/acmhistdisp -l -n LOG1/RDB1 Generation Management Backup Server = SV01 Device = /dev/dsk/c1t0d0s1 Mount-Point = DB1.DBSP1/LOG1/RDB1 (SymfoWARE) Generation Version Backup-Date Backup-Device Status Execute ArcSerial Tape-Gen CopyID Pool-Name Backup-Tape 1 2 2002/12/12 22:00 /dev/dsk/c1t0d2s4 succeeded ---- 5 1 1 TapePool4 LT00059 2 1 2002/12/11 22:00 /dev/dsk/c1t0d2s1 succeeded ---- 5 1 1 TapePool4 LT00060 Server = SV01 Device = /dev/dsk/c1t0d0s4 Mount-Point = DB1.DBSP2/LOG1/RDB1 (SymfoWARE) Generation Version Backup-Date Backup-Device Status Execute ArcSerial Tape-Gen CopyID Pool-Name Backup-Tape 1 2 2002/12/12 22:00 /dev/dsk/c1t0d2s3 succeeded ---- 5 1 1 TapePool4 LT00058 Day Management Backup Server = SV01 Device = /dev/dsk/c1t0d0s1 Mount-Point = DB1.DBSP1/LOG1/RDB1 (SymfoWARE) TapeCopy-Date Backup-Date ArcSerial Expiration-Date Pool-Name Backup-Tape Server = SV01 Device = /dev/dsk/c1t0d0s4 Mount-Point = DB1.DBSP2/LOG1/RDB1 (SymfoWARE) TapeCopy-Date Backup-Date ArcSerial Expiration-Date Pool-Name Backup-Tape # |
以上のような履歴を使用したロググループ単位リカバリーまたはバンドル・リカバリーでは、相対世代番号に対する絶対世代番号がそろっているため、どちらの世代指定でも使用されるバックアップデータに違いはありません。
世代番号の種類 | 指定オプション | リカバリーに使用されるバックアップデータ | |
---|---|---|---|
DB1.DBSP1 | DB1.DBSP2 | ||
ディスクの相対世代番号 | -g 1 -m DISK | 2日目のバックアップデータ | 2日目のバックアップデータ |
絶対世代番号 | -v 2 | ||
テープの相対世代番号 | -g 1 -m TAPE | 2日目のバックアップデータ | 2日目のバックアップデータ |
ただし、“-v 1”を指定した場合は、データベーススペース2(DB1.DBSP2)のバックアップデータが存在しないため、リストアコマンドはエラーになります。
ポイント
日数管理指定のバックアップ履歴は、ロググループ単位でバックアップをしても、データベーススペース間で日数管理開始日時が異なることがあります。これは、日数管理開始日時が、データベーススペース単位で記録されているためです。
この場合、リカバリーに指定する日数管理開始日時は、どのデータベーススペースの日時を指定しても同じ履歴がリカバリーされます。
(例)データベーススペース1(DB1.DBSP1)とデータベーススペース2(DB1.DBSP2)をロググループ単位でバックアップ
テープが1本しかないため、データベーススペース1の書込み完了後に、データベーススペース2の書込みが開始された。
# /opt/FJSVswstc/bin/acmbackup -m DISK -n LOG1/RDB1 LOG1/RDB1 acmbackup completed # /opt/FJSVswstc/bin/acmtphistcopy -b DAY -n LOG1/RDB1 LOG1/RDB1 acmtphistcopy completed # |
履歴情報の表示
# /opt/FJSVswstc/bin/acmhistdisp -l -n LOG1/RDB1 Generation Management Backup Server = SV01 Device = /dev/dsk/c1t0d0s1 Mount-Point = DB1.DBSP1/LOG1/RDB1 (SymfoWARE) Generation Version Backup-Date Backup-Device Status Execute ArcSerial Tape-Gen CopyID Pool-Name Backup-Tape 1 6 2004/03/01 10:20 /dev/dsk/c2t16d32s1 succeeded ---- 1 ---- ---- ---- ---- Server = SV01 Device = /dev/dsk/c1t0d0s4 Mount-Point = DB1.DBSP2/LOG1/RDB1 (SymfoWARE) Generation Version Backup-Date Backup-Device Status Execute ArcSerial Tape-Gen CopyID Pool-Name Backup-Tape 1 6 2004/03/01 10:20 /dev/dsk/c2t16d32s4 succeeded ---- 1 ---- ---- ---- ---- Day Management Backup Server=SV01 Device=/dev/dsk/c1t0d0s1 Mount-Point=DB1.DBSP1/LOG1/RDB1 (SymfoWARE) TapeCopy-Date Backup-Date ArcSerial Expiration-Date CopyID Pool-Name Backup-Tape 2004/03/01 10:35:02 2004/03/01 10:30 1 2004/03/01 10:35:02 TapePool5 LT00040 Server=SV01 Device=/dev/dsk/c1t0d0s4 Mount-Point=DB1.DBSP2/LOG1/RDB1 (SymfoWARE) TapeCopy-Date Backup-Date ArcSerial Expiration-Date CopyID Pool-Name Backup-Tape 2004/03/01 10:40:05 2004/03/01 10:30 1 2004/03/01 10:40:05 TapePool5 LT00040 # |
以上のように同時にバックアップをしても日数管理開始日時が異なる履歴を使用したロググループ単位リカバリーまたはバンドル・リカバリーでは、どちらの日時を指定しても使用されるバックアップデータに違いはありません。
指定した日時 | リカバリーに使用されるバックアップデータ | |
---|---|---|
DB1.DBSP1 | DB1.DBSP2 | |
-t "2004/03/01 10:35:02" | TapeCopy-Dateが「2004/03/01 10:35:02」のデータ | TapeCopy-Dateが「2004/03/01 10:40:05」のデータ |
-t "2004/03/01 10:40:05" |
ポイント
バンドル・リカバリーを実行するには、あらかじめ「デバイスリストファイル」という一括してリカバリーしたい業務ボリュームを列挙したファイルを作成しておく必要があります。デバイスリストファイルの詳細は、「11.5.3.1 デバイスリストファイルの記述方法」を参照してください。
デバイスリストファイルは、リカバリーを行う管理対象サーバ(Storageサーバ)上の任意の場所に作成します。このファイルをリカバリー実行時に指定することで、複数の業務ボリュームを一括してリカバリーできます。
デバイスリストファイルの記述例を以下に示します。
# コメントは「#」で始めます。 # LOG01/GRP1 /dev/dsk/c1t0d1s3 # この部分にもコメントを記述できます。 /dev/dsk/c1t0d1s4 /dev/dsk/c1t0d1s5 /dev/dsk/c1t0d1s6 /dev/dsk/c1t0d1s7 : : |
デバイスリストファイル作成時の規則を以下に示します。
1行に業務ボリューム名を1つ記述します。行頭から業務ボリューム名の間、および、業務ボリューム名の後ろから行末(改行記号)の間には1個以上の「半角空白またはタブ文字」が含まれていても構いません。
空白行(「半角空白またはタブ文字」)がファイルに含まれていても構いません。
記号「#」から行末まではコメントとみなされます。
注意
リストア実行コマンドで-bundleオプションが指定された場合、デバイスリストファイルに記述されたすべての業務ボリュームがリストアの対象となります。以下の場合、リストア処理はエラーとなります。
業務ボリュームに関する記述が1件もなかったとき。
業務ボリュームに関する記述は存在するが、記述形式に誤りがあったとき。
業務ボリュームがSymfowareのボリュームでなかったとき。
業務ボリュームが複数のロググループにまたがっていたとき。
業務ボリュームに関する記述行以外に不正行が存在したとき。
以下の例のように、1つの業務ボリュームを複数指定したとき。
# 1業務ボリュームが複数ある例 /dev/dsk/c1t0d1s4 /dev/dsk/c1t0d1s4 : : |