私は非本番データベースで更新を行いました、そしてこれらは化身です:
データベースの化身のリスト
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
1 1 ORCL 1355555557 PARENT 1 20-DEC-11
2 2 ORCL 1355555557 CURRENT 12 17-JUL-14
不要になったバックアップを古いインカネーションから削除するにはどうすればよいですか?どんな助けでも大歓迎です。ありがとう。
目的の具体化を指定できるようにするREPORT
またはLIST
コマンドの句を見つけることができませんでした。
ただし、最新のインカネーションのリセット時刻をバックアップ完了時刻と相関させて、現在のインカネーションが始まる前に完了したバックアップを特定することもできます。
最初に、RMAN出力に時間も含まれるように環境変数を設定しましょう。
$ NLS_DATE_FORMAT='DD.MM.YYYY HH24:MI:SS'
$ NLS_TIMESTAMP_FORMAT='DD.MM.YYYY HH24:MI:SS'
$ export NLS_DATE_FORMAT
$ export NLS_TIMESTAMP_FORMAT
次に、RMANリポジトリにあるインカネーションを調べます。
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 OCP 2737702586 PARENT 1 25.08.2013 05:18:32
2 2 OCP 2737702586 PARENT 635002 05.03.2014 10:49:33
3 3 OCP 2737702586 PARENT 750347 13.03.2014 18:08:15
4 4 OCP 2737702586 PARENT 750727 18.03.2014 11:37:57
5 5 OCP 2737702586 CURRENT 1137478 05.08.2014 08:19:38
現在のインカネーションのリセット時間が2014年8月5日午前8時19分(05.08.2014 08:19:38
)であることが出力に示されています。
現在の具体化が始まる前と後にいくつかのバックアップを完了しました。
RMAN> list backup summary;
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
28 B F A DISK 05.08.2014 08:21:56 1 1 YES TAG20140805T082051
29 B F A DISK 05.08.2014 08:12:43 1 1 YES TAG20140805T081243
30 B F A DISK 05.08.2014 08:10:36 1 1 YES TAG20140805T081036
31 B A A DISK 05.08.2014 08:21:59 1 1 YES TAG20140805T082159
32 B F A DISK 05.08.2014 08:13:48 1 1 YES TAG20140805T081243
33 B A A DISK 05.08.2014 08:20:49 1 1 YES TAG20140805T082048
34 B F A DISK 05.08.2014 08:20:51 1 1 YES TAG20140805T082051
35 B F A DISK 05.08.2014 08:11:51 1 1 YES TAG20140805T081036
36 B A A DISK 05.08.2014 08:20:48 1 1 YES TAG20140805T082048
これで、現在の具体化が始まる前に完了したバックアップをリストできます。
RMAN> list backup summary
2> completed before
3> "to_date('05.08.2014 08:19:38', 'dd.mm.yyyy hh24:mi:ss')";
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
29 B F A DISK 05.08.2014 08:12:43 1 1 YES TAG20140805T081243
30 B F A DISK 05.08.2014 08:10:36 1 1 YES TAG20140805T081036
32 B F A DISK 05.08.2014 08:13:48 1 1 YES TAG20140805T081243
35 B F A DISK 05.08.2014 08:11:51 1 1 YES TAG20140805T081036
ご覧のとおり、現在のインカネーションのリセット時刻より前の完了時刻を持つバックアップのみが出力に表示されます。
COMPLETED
コマンドのLIST
副次句を使用して、完了時間が現在のインカネーションのリセット時間より前のバックアップに絞り込んだ後、同じ条件をDELETE
コマンドに指定できます。
RMAN> delete backup
2> completed before
3> "to_date('05.08.2014 08:19:38', 'dd.mm.yyyy hh24:mi:ss')";
AFTER
副次句には、BETWEEN
およびCOMPLETED
指定子もあります。データベースバックアップおよびリカバリユーザーガイドのセクション 選択したバックアップとコピーのリスト を参照してください。 BETWEEN
指定子の使用例:
RMAN> list copy of datafile 2 completed between '10-DEC-2002' and '17-DEC-2002';
RESET DATABASE TO INCARNATION n
コマンドを使用してインカネーションを切り替えることができます(使用のシナリオを確認してください)が、どのインカネーションでも、バックアップセットに関してLIST
およびREPORT
コマンドからの出力は常に同じになります。あなたが切り替えます。
データベースのバックアップとリカバリのリファレンス で「インカネーション」という単語を検索して、いつインカネーションを指定できるか、およびどのRMANコマンドに指定できるかを確認できます。
保持ポリシーを冗長性またはリカバリ期間に設定し、データベースの別のバックアップを作成するだけで、現在の具体化が始まる前に既存のバックアップが完了し、定義された保持ポリシーに従って古くなります。確かに、バックアップ戦略に従ってデータベースの自動バックアップを構成することもできます。
保持ポリシーを冗長性に設定した場合。
RMAN> configure retention policy to redundancy 1;
その後、データベースをバックアップすると、すぐにdelete obsolete
バックアップを実行できます。この場合、現在のインカネーションの前に完了したものも含めて、以前のすべてのバックアップが可能です。
保存ポリシーをリカバリ期間に設定した場合。
RMAN> configure retention policy to recovery window of 7 days;
既存のバックアップが不要と見なされるまで少なくとも1週間(データベースのバックアップを作成して)待つことができ、delete obsolete
コマンドを使用してそれらの削除を試みることができます。
データベースに高速リカバリ領域を構成した場合は、保存ポリシーを設定するだけで、新しいバックアップにスペースが必要になり、リカバリ領域にスペース不足が発生すると、古いバックアップが自動的に削除されます。 『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の 高速リカバリ領域の構成 セクションを参照してください。
ターゲットに接続されたRMAN
rmanカタログrman/*** @rmanRMAN target / RMAN>リストデータベースの化身; データベースインカネーションのリスト DBキーIncキーDB名DB IDステータスリセットSCNリセット時間 ------- ------- -------- -------- -------- --- ---------- ---------- 11349 11384 myDB 2790586635 PARENT 1 31.03.14 11349 11385 myDB 2790586635親733005 31.03.14 11349 11350 myDB 2790586635 CURRENT 750963 31.03.14 1179854 1179855 myDB 2800799356 CURRENT 1 25.07.14
FROM rmanカタログデータベース
sqlplus rman @ RMAN SQL> SELECT db_key、dbid、name FROM rman.rc_database WHERE name = 'myDB' ORDER BY DBID; DB_KEY DBID NAME ---------- ---------- -------- 11349 2790586635 myDB 1179854 2800799356 myDB SQL> EXECUTE rman.dbms_rcvcat.unregisterdatabase(11349,2790586635);