相関図おさらい
心臓外科医の術式、いろんな登場人物がいますので、相関図のおさらいからです
新人Tさんの相談
システムの「心臓」こと、Oracle Databaseに日々携わるたろーちゃん。
たろーちゃんのもとに、新人のTさんが訪れました。
何かあったのでしょうか?
新人T「たろーさん。今ちょっとよろしいでしょうか?」
たろー「うん、どうしたの?」
新人T「ちょっと、 RMAN のことでお聞きしたいことがありまして…。」
たろー「なんだい?」
新人T「アプリケーションチームからの依頼で、TEST1という時点のオンラインフルバックアップと、TEST2という時点のオンラインフルバックアップを取得したんです。」
たろー「うむ。」
新人T「そして業務テスト実施後、TEST1の時点にデータベースを戻しました。」
たろー「うん?TEST1の時点に不完全リカバリしたってこと?」
新人T「はい、そうです。」
たろー「ふむ、それで?」
新人T「更に業務テストを進めたあと、今度はTEST2の時点にデータベースを戻そうとしたんです。」
たろー「・・・んん?!未来の時点に リストア しようとしたの??」
新人T「はい。すると、 リストア 時に以下のエラーになってしまうんです。」
RMAN> restore database from tag='TEST2' ;
restoreを2019/01/09 16:22:33で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=20 デバイス・タイプ=DISK
データファイル7をスキップしています。すでにファイル/opt/app/oracle/oradata/ee/users01.dbfにリストアされています
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restoreコマンドが01/09/2019 16:22:35で失敗しました
RMAN-06026: 見つからないターゲットがあります - リストアを中止します
RMAN-06023: データファイル16をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル15をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル11をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル10をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル9をリストアするためのバックアップまたはコピーが見つかりません
新人T「エラーメッセージから察するに、 リストア するためのファイルが無いって言われてるんですが、確認するとちゃんとあるんですよ。」
RMAN> list backup ; バックアップ・セットのリスト =================== BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 76 Full 1.31G DISK 00:00:18 2019/01/09 15:54:32 BPキー: 76 ステータス: AVAILABLE 圧縮: NO タグ: TEST1 ピース名: /opt/app/oracle/oradata/ee/bkup/7ctmtfd6_1_1 バックアップ・セット76のデータファイルのリスト File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 1 Full 2428725 2019/01/09 15:54:14 NO /opt/app/oracle/oradata/ee/system01.dbf 3 Full 2428725 2019/01/09 15:54:14 NO /opt/app/oracle/oradata/ee/sysaux01.dbf 4 Full 2428725 2019/01/09 15:54:14 NO /opt/app/oracle/oradata/ee/undotbs01.dbf 7 Full 2014052 2018/01/22 11:13:38 NO /opt/app/oracle/oradata/ee/users01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 77 Full 542.87M DISK 00:00:04 2019/01/09 15:54:59 BPキー: 77 ステータス: AVAILABLE 圧縮: NO タグ: TEST1 ピース名: /opt/app/oracle/oradata/ee/bkup/7dtmtfef_1_1 バックアップ・セット77のデータファイルのリスト コンテナID: 4、PDB名: PDBPROD1 File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 9 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/system01.dbf 10 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/sysaux01.dbf 11 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/undotbs01.dbf 15 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/users.dbf 16 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/users2.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 78 Full 512.41M DISK 00:00:32 2019/01/09 15:55:53 BPキー: 78 ステータス: AVAILABLE 圧縮: NO タグ: TEST1 ピース名: /opt/app/oracle/oradata/ee/bkup/7etmtff9_1_1 バックアップ・セット78のデータファイルのリスト コンテナID: 2、PDB名: PDB$SEED File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 5 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/system01.dbf 6 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/sysaux01.dbf 8 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/undotbs01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 79 Full 17.94M DISK 00:00:01 2019/01/09 15:56:18 BPキー: 79 ステータス: AVAILABLE 圧縮: NO タグ: TAG20190109T155617 ピース名: /opt/app/oracle/oradata/ee/bkup/EE/autobackup/2019_01_09/o1_mf_s_997113377_g3c6rlq9_.bkp SPFILEも含まれます: 修正時間: 2019/01/09 15:53:08 SPFILE db_unique_name: EE 含まれている制御ファイル: Ckp SCN: 2428784 Ckp時間: 2019/01/09 15:56:17 BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 80 Full 1.31G DISK 00:00:47 2019/01/09 15:57:56 BPキー: 80 ステータス: AVAILABLE 圧縮: NO タグ: TEST2 ピース名: /opt/app/oracle/oradata/ee/bkup/7gtmtfil_1_1 バックアップ・セット80のデータファイルのリスト File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 1 Full 2428820 2019/01/09 15:57:09 NO /opt/app/oracle/oradata/ee/system01.dbf 3 Full 2428820 2019/01/09 15:57:09 NO /opt/app/oracle/oradata/ee/sysaux01.dbf 4 Full 2428820 2019/01/09 15:57:09 NO /opt/app/oracle/oradata/ee/undotbs01.dbf 7 Full 2014052 2018/01/22 11:13:38 NO /opt/app/oracle/oradata/ee/users01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 81 Full 542.87M DISK 00:00:04 2019/01/09 15:58:09 BPキー: 81 ステータス: AVAILABLE 圧縮: NO タグ: TEST2 ピース名: /opt/app/oracle/oradata/ee/bkup/7htmtfkd_1_1 バックアップ・セット81のデータファイルのリスト コンテナID: 4、PDB名: PDBPROD1 File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 9 Full 2428844 2019/01/09 15:58:05 NO /opt/app/oracle/oradata/ee/PDBPROD1/system01.dbf 10 Full 2428844 2019/01/09 15:58:05 NO /opt/app/oracle/oradata/ee/PDBPROD1/sysaux01.dbf 11 Full 2428844 2019/01/09 15:58:05 NO /opt/app/oracle/oradata/ee/PDBPROD1/undotbs01.dbf 15 Full 2428844 2019/01/09 15:58:05 NO /opt/app/oracle/oradata/ee/PDBPROD1/users.dbf 16 Full 2428844 2019/01/09 15:58:05 NO /opt/app/oracle/oradata/ee/PDBPROD1/users2.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 82 Full 512.41M DISK 00:00:14 2019/01/09 15:58:48 BPキー: 82 ステータス: AVAILABLE 圧縮: NO タグ: TEST2 ピース名: /opt/app/oracle/oradata/ee/bkup/7itmtfla_1_1 バックアップ・セット82のデータファイルのリスト コンテナID: 2、PDB名: PDB$SEED File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 5 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/system01.dbf 6 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/sysaux01.dbf 8 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/undotbs01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 83 Full 17.94M DISK 00:00:02 2019/01/09 15:59:19 BPキー: 83 ステータス: AVAILABLE 圧縮: NO タグ: TAG20190109T155917 ピース名: /opt/app/oracle/oradata/ee/bkup/EE/autobackup/2019_01_09/o1_mf_s_997113557_g3c6y729_.bkp SPFILEも含まれます: 修正時間: 2019/01/09 15:59:12 SPFILE db_unique_name: EE 含まれている制御ファイル: Ckp SCN: 2428887 Ckp時間: 2019/01/09 15:59:17 BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ ------------------- 84 Full 17.94M DISK 00:00:03 2019/01/09 16:20:52 BPキー: 84 ステータス: AVAILABLE 圧縮: NO タグ: TAG20190109T162049 ピース名: /opt/app/oracle/oradata/ee/bkup/EE/autobackup/2019_01_09/o1_mf_s_997114849_g3c86n9w_.bkp SPFILEも含まれます: 修正時間: 2019/01/09 16:20:51 SPFILE db_unique_name: EE 含まれている制御ファイル: Ckp SCN: 2429073 Ckp時間: 2019/01/09 16:20:49
新人T「ほら、この通り。何故エラーになるんでしょうか?」
たろー「・・・いや、TEST1の時点で一回、RESETLOGS指定でOPENしてるんだよね?」
新人T「はい。不完全リカバリだから、そうです。」
たろー「なら、インカネーションが異なるから、それまでに取得したバックアップは無効になってしまうよ。」
新人T「え、そうなんですか?!」
たろー「そうだよ。」
新人T「でも list backup したら、制御ファイルのカタログにはバックアップが記録されてるんですよ?!」
たろー「・・・えーっとね、ちょっと貸してごらん?」
RMAN> list backup recoverable ;
バックアップ・セットのリスト
===================
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
76 Full 1.31G DISK 00:00:18 2019/01/09 15:54:32
BPキー: 76 ステータス: AVAILABLE 圧縮: NO タグ: TEST1
ピース名: /opt/app/oracle/oradata/ee/bkup/7ctmtfd6_1_1
バックアップ・セット76のデータファイルのリスト
File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
1 Full 2428725 2019/01/09 15:54:14 NO /opt/app/oracle/oradata/ee/system01.dbf
3 Full 2428725 2019/01/09 15:54:14 NO /opt/app/oracle/oradata/ee/sysaux01.dbf
4 Full 2428725 2019/01/09 15:54:14 NO /opt/app/oracle/oradata/ee/undotbs01.dbf
7 Full 2014052 2018/01/22 11:13:38 NO /opt/app/oracle/oradata/ee/users01.dbf
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
77 Full 542.87M DISK 00:00:04 2019/01/09 15:54:58
BPキー: 77 ステータス: AVAILABLE 圧縮: NO タグ: TEST1
ピース名: /opt/app/oracle/oradata/ee/bkup/7dtmtfef_1_1
バックアップ・セット77のデータファイルのリスト
File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
9 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/system01.dbf
10 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/sysaux01.dbf
11 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/undotbs01.dbf
15 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/users.dbf
16 Full 2428739 2019/01/09 15:54:55 NO /opt/app/oracle/oradata/ee/PDBPROD1/users2.dbf
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
78 Full 512.41M DISK 00:00:32 2019/01/09 15:55:47
BPキー: 78 ステータス: AVAILABLE 圧縮: NO タグ: TEST1
ピース名: /opt/app/oracle/oradata/ee/bkup/7etmtff9_1_1
バックアップ・セット78のデータファイルのリスト
File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
5 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/system01.dbf
6 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/sysaux01.dbf
8 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/undotbs01.dbf
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
79 Full 17.94M DISK 00:00:01 2019/01/09 15:56:18
BPキー: 79 ステータス: AVAILABLE 圧縮: NO タグ: TAG20190109T155617
ピース名: /opt/app/oracle/oradata/ee/bkup/EE/autobackup/2019_01_09/o1_mf_s_997113377_g3c6rlq9_.bkp
SPFILEも含まれます: 修正時間: 2019/01/09 15:53:08
SPFILE db_unique_name: EE
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
80 Full 1.31G DISK 00:00:47 2019/01/09 15:57:56
BPキー: 80 ステータス: AVAILABLE 圧縮: NO タグ: TEST2
ピース名: /opt/app/oracle/oradata/ee/bkup/7gtmtfil_1_1
バックアップ・セット80のデータファイルのリスト
File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
1 Full 2428820 2019/01/09 15:57:09 NO /opt/app/oracle/oradata/ee/system01.dbf
3 Full 2428820 2019/01/09 15:57:09 NO /opt/app/oracle/oradata/ee/sysaux01.dbf
4 Full 2428820 2019/01/09 15:57:09 NO /opt/app/oracle/oradata/ee/undotbs01.dbf
7 Full 2014052 2018/01/22 11:13:38 NO /opt/app/oracle/oradata/ee/users01.dbf
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
82 Full 512.41M DISK 00:00:14 2019/01/09 15:58:48
BPキー: 82 ステータス: AVAILABLE 圧縮: NO タグ: TEST2
ピース名: /opt/app/oracle/oradata/ee/bkup/7itmtfla_1_1
バックアップ・セット82のデータファイルのリスト
File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
5 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/system01.dbf
6 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/sysaux01.dbf
8 Full 1443963 2017/12/21 18:56:42 NO /opt/app/oracle/oradata/ee/pdbseed/undotbs01.dbf
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
83 Full 17.94M DISK 00:00:02 2019/01/09 15:59:19
BPキー: 83 ステータス: AVAILABLE 圧縮: NO タグ: TAG20190109T155917
ピース名: /opt/app/oracle/oradata/ee/bkup/EE/autobackup/2019_01_09/o1_mf_s_997113557_g3c6y729_.bkp
SPFILEも含まれます: 修正時間: 2019/01/09 15:59:12
SPFILE db_unique_name: EE
BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ -------------------
84 Full 17.94M DISK 00:00:03 2019/01/09 16:20:52
BPキー: 84 ステータス: AVAILABLE 圧縮: NO タグ: TAG20190109T162049
ピース名: /opt/app/oracle/oradata/ee/bkup/EE/autobackup/2019_01_09/o1_mf_s_997114849_g3c86n9w_.bkp
SPFILEも含まれます: 修正時間: 2019/01/09 16:20:51
SPFILE db_unique_name: EE
含まれている制御ファイル: Ckp SCN: 2429073 Ckp時間: 2019/01/09 16:20:49
たろー「ほら。recoverableを指定すると、出てこないでしょ。」
新人T「ええ?! list backup の recoverable オプションって何ですか?」
たろー「list backupは、カタログに登録されているバックアップ全てが出力されるんだけど、recoverableを指定すると、実際にリストア出来るバックアップのみが出力されるんだ。」
新人T「ということは、TEST2時点にはリストア出来ないってことですか?」
たろー「そういうこと。RESETLOGS指定で一回OPENした以上、インカネーションが異なるから、それまでに取得したバックアップは無効になってしまうんだよ。」
新人T「えー・・・。でもH課長はこの方法で出来るって言ったんですよ?」
たろー「は?・・・H課長がそう言ったの?」
新人T「はい。」
たろー「・・・。」
そ れ は ひょ っ と し て ギャ グ で 言 っ て る の か ! ?
新人T「アプリケーションチームとの打ち合わせで、『業務テストのために、データベースを任意の時点に数回戻したい』という要望が挙がったんです。そこでH課長は『 RMAN で出来ます』と言って、このやり方で行くことになったんです。」
たろー「いや、そういう場合は RMAN のような物理バックアップを使うべきじゃない。 DataPump のような論理バックアップを使うべきだよ。」
新人T「でもH課長は『 DataPump よりも、 RMAN で全体を戻したほうが早い。 DataPump だとアーカイブログも大量に出力されてしまうからデータベースが停止する恐れがある』って言ってました。」
たろー「・・・。そういう問題じゃないんだけどな・・・。アーカイブログ領域が心配なら、impdpの時だけノーアーカイブログモードにすれば済む話だし。」
新人T「なんとかTEST2の時点に戻す方法はないですかね?
もし戻らなければ、アプリケーションチームになんて言い訳すればいいか・・・。」
今回はここまで!
たろーちゃんは、この状況を打開することが出来るのでしょうか?