2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RMANバックアップ検証2 RECYCLEBIN(ゴミ箱)はバックアップセットに含まれるのか?

Posted at

「RECYCLEBINをonに設定すると、削除された表はごみ箱に入り、リカバリが可能です。」と書かれていたので、RECYCLEBIN(ゴミ箱)もバックアップセットに含まれているかを検証した。

【Oracle Databaseリファレンス 11gリリース2 (11.2)】
-> RECYCLEBIN
RECYCLEBINは、フラッシュバック・ドロップ機能がオンかオフかを制御するために使用します。
このパラメータをoffに設定すると、削除された表はごみ箱に入りません。
このパラメータをonに設定すると、削除された表はごみ箱に入り、リカバリが可能です。

この記事では11gリリース2 (11.2)を使っています。

■結論

RECYCLEBINに格納された領域に関しては、RECYCLEBINがPurgeされない限りバックアップセットに含まれる。

■検証結果

10万件を挿入した表を用意

   
   SQL> select count(*) from tabA;
   
     COUNT(*)
   ----------
       100000

RECYCLEBINに何も入っていないことを確認

   
   SQL> show recyclebin;
   SQL>                 ※RECYCLEBINに何も入っていない

バックアップを取得(※1)

   
   RMAN> backup database;
   
   $ ll
   -rw-r----- 1 oracle oinstall    9830400  6月 10 18:16 2019 o1_mf_ncsnf_TAG20190610T181545_fsdfmj4x_.bkp
   -rw-r----- 1 oracle oinstall 1004937216  6月 10 18:16 2019 o1_mf_nnndf_TAG20190610T181545_fsdfl3qv_.bkp ※1 
                                                                         10万件のデータが挿入された状態のサイズ

表を削除して、RECYCLEBINへ

   
   SQL> drop table tabA;
   
   表が削除されました。

表tabA がRECYCLEBINに入っていることを確認

   
   SQL> show recyclebin
   ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
   ---------------- ------------------------------ ------------ -------------------
   TABA                BIN$dYHZHSm1DILgUKjADDgYeA==$0 TABLE        2019-06-10:18:19:02

バックアップを取得(※2)

   
   RMAN> backup database;
   
   $ ll
   -rw-r----- 1 oracle oinstall    9830400  6月 10 18:16 2019 o1_mf_ncsnf_TAG20190610T181545_fsdfmj4x_.bkp
   -rw-r----- 1 oracle oinstall    9830400  6月 10 18:19 2019 o1_mf_ncsnf_TAG20190610T181932_fsdfsyyr_.bkp
   -rw-r----- 1 oracle oinstall 1004937216  6月 10 18:16 2019 o1_mf_nnndf_TAG20190610T181545_fsdfl3qv_.bkp ※1 
   -rw-r----- 1 oracle oinstall 1004969984  6月 10 18:19 2019 o1_mf_nnndf_TAG20190610T181932_fsdfs509_.bkp ※2 
                                                                  表を削除(purgeは未実行)してもサイズはほぼ変わらない

バックアップ(※2)からリストア・リカバリ

   
   RMAN> restore database;
   RMAN> recover database;

RECYCLEBINの確認

   
   SQL> sho recyclebin
   ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
   ---------------- ------------------------------ ------------ -------------------
   TABA                BIN$dYHZHSm1DILgUKjADDgYeA==$0 TABLE        2019-06-10:18:19:02 
    ※リカバリした環境でもRECYCLEBINに入っていた

purgeした状態でバックアップ(※3)を取得

   
   SQL> purge recyclebin;
   
   リサイクルビンがパージされました。
   
   SQL> show recyclebin
   SQL>               ※Purgeの結果消えた
   
   RMAN> backup database;
   
   $ ll
   -rw-r----- 1 oracle oinstall    9830400  6月 10 18:16 2019 o1_mf_ncsnf_TAG20190610T181545_fsdfmj4x_.bkp
   -rw-r----- 1 oracle oinstall    9830400  6月 10 18:19 2019 o1_mf_ncsnf_TAG20190610T181932_fsdfsyyr_.bkp
   -rw-r----- 1 oracle oinstall    9830400  6月 10 18:41 2019 o1_mf_ncsnf_TAG20190610T184111_fsdh2l2n_.bkp
   -rw-r----- 1 oracle oinstall 1004937216  6月 10 18:16 2019 o1_mf_nnndf_TAG20190610T181545_fsdfl3qv_.bkp
   -rw-r----- 1 oracle oinstall 1004969984  6月 10 18:19 2019 o1_mf_nnndf_TAG20190610T181932_fsdfs509_.bkp
   -rw-r----- 1 oracle oinstall  987848704  6月 10 18:41 2019 o1_mf_nnndf_TAG20190610T184111_fsdh1r2k_.bkp ※3 
                                                                   ゴミ箱をpurgeしたことでファイルの容量も減った

■まとめ

  • オブジェクトを削除することにより、RMANのバックアップセットのサイズを小さくすることが出来るが、
    RECYCLEBINに格納されたままだとバックアップセットのサイズは小さくならない。

■関連リンク

RMANバックアップ検証1 バックアップセットの「未使用ブロック」とは何か?

以上

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?