web-dev-qa-db-ja.com

rmanの古いインカネーションからバックアップを削除する

私は非本番データベースで更新を行いました、そしてこれらは化身です:

データベースの化身のリスト

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

不要になったバックアップを古いインカネーションから削除するにはどうすればよいですか?どんな助けでも大歓迎です。ありがとう。

3
mike smith

目的の具体化を指定できるようにする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コマンドに指定できるかを確認できます。

3

保持ポリシーを冗長性またはリカバリ期間に設定し、データベースの別のバックアップを作成するだけで、現在の具体化が始まる前に既存のバックアップが完了し、定義された保持ポリシーに従って古くなります。確かに、バックアップ戦略に従ってデータベースの自動バックアップを構成することもできます。

保持ポリシーを冗長性に設定した場合。

RMAN> configure retention policy to redundancy 1;

その後、データベースをバックアップすると、すぐにdelete obsoleteバックアップを実行できます。この場合、現在のインカネーションの前に完了したものも含めて、以前のすべてのバックアップが可能です。

保存ポリシーをリカバリ期間に設定した場合。

RMAN> configure retention policy to recovery window of 7 days;

既存のバックアップが不要と見なされるまで少なくとも1週間(データベースのバックアップを作成して)待つことができ、delete obsoleteコマンドを使用してそれらの削除を試みることができます。

データベースに高速リカバリ領域を構成した場合は、保存ポリシーを設定するだけで、新しいバックアップにスペースが必要になり、リカバリ領域にスペース不足が発生すると、古いバックアップが自動的に削除されます。 『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の 高速リカバリ領域の構成 セクションを参照してください。

1

ターゲットに接続された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);
1
Fabien Celaia