删除归档日志和过期备份

删除归档日志

删除某个Sequence之前(包含该Sequence)的归档日志

RMAN>delete archivelog until sequence xxx;
RMAN>delete archivelog from sequence xxx until  sequence xxx;

 

删除系统时间1天以前的归档日志,不会删除闪回区有效的归档日志(可以指定删除多久日志)

RMAN>delete archivelog all completed before 'sysdate-1';

 

force参数表示会删除有效归档日志

RMAN>delete force archivelog all completed before 'sysdate-1';

 

删除某个时间段的归档日志,例如删除20天前到2天前的归档日志。

RMAN>delete archivelog from time 'sysdate-20' until time 'sysdate-2';
RMAN>delete archivelog from time 'sysdate-1';

 

删除所有的归档日志。

RMAN>delete noprompt archivelog all;   
RMAN>delete noprompt archivelog all completed before 'sysdate'; 
RMAN> delete expired archivelog all;

 注意delete expired archivelog all  实际上此命令不会真正删除归档日志,它删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了文件的信息,实际删除的只是RMAN资料库或控制文件中的记录;

RMAN> delete obsolete;
RMAN> delete noprompt obsolete;

 注意delete obsolete这个是清理过期备份,它也会删除过期的归档日志。但是特殊情况下,除闪回区有效的归档日志不会删除。

 

上面都是使用RMAN命令删除归档日志,最后一种方式,也是最不推荐的一种方式就是使用命令从系统系统删除归档日志,使用rm删除了备份文件后,需要执行crosscheck archivelog all命令校检归档日志是否失效。

 

删除备份

删除过期备份

删除过期备份,RMAN会根据备份冗余策略确定备份是否过期。然后删除过期的备份。

RMAN> report obsolete;
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set           1      18-MAY-17         
  Backup Piece       1      18-MAY-17           /u03/backup/backupsets/ora_df944345823_s1_s1
Control File Copy     1      18-MAY-17          /u03/backup/backupsets/controlfile.copy
 
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u03/backup/backupsets/ora_df944345823_s1_s1 recid=1 stamp=944345824
deleted control file copy
control file copy filename=/u03/backup/backupsets/controlfile.copy recid=1 stamp=944347366
Deleted 2 objects

 

删除无效备份

 RMAN> delete expired backup;

 

关于delete obsolete 与delete expired backup的区别:

备份集有两种状态A(Available,RMAN认为该项存在于备份介质上), X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上),一般要运行CROSSCHECK才能检查,关于delete expired与delete obsolete的区别

  delete obsolete 会删除旧于备份保留策略定义的备份数据同时也更新RMAN资料库以及控制文件。

  delete expired 删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录信息,也就是说delete expired是不会删除备份集文件的。

 

删除EXPIRED副本

RMAN> delete expired copy;

 

删除特定印象副本

 

RMAN> delete datafile copy 'xxxxxxxxxxx';

 

删除特定备份集

RMAN> delete backupset 24;
using channel ORA_DISK_1
 
List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
24      24      1   1   AVAILABLE   DISK        /u01/app/oracle/flash_recovery_area/GSP/backupset/kerryfull_GSP_20170520_25
 
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u01/app/oracle/flash_recovery_area/GSP/backupset/kerryfull_GSP_20170520_25 RECID=24 STAMP=944472557
Deleted 1 objects

 

删除特定备份片

RMAN> delete backuppiece '/u01/app/oracle/flash_recovery_area/GSP/backupset/kerryfull_GSP_20170520_26';
using channel ORA_DISK_1
 
List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
25      25      1   1   AVAILABLE   DISK        /u01/app/oracle/flash_recovery_area/GSP/backupset/kerryfull_GSP_20170520_26
 
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u01/app/oracle/flash_recovery_area/GSP/backupset/kerryfull_GSP_20170520_26 RECID=25 STAMP=944472653
Deleted 1 objects

 

删除所有备份集

RMAN> delete backup;
RMAN> delete noprompt backup;

 

删除所有备份文件副本

RMAN> delete datafilecopy all;

 

删除某个备份文件副本

RMAN> delete datafilecopy xxx;

 

posted on 2024-09-25 08:54  阿陶学长  阅读(101)  评论(0编辑  收藏  举报