rman 管理

# 进入RMAN
rman target /

1.查看所有备份
# 查看配置
show all;
show retention policy;

清除当前的归档删除策略
configure archivelog deletion policy clear;
设置为默认的NONE
configure archivelog deletion policy to none;

# 查看备份概要
list backup summary;

# 查看详细备份信息
list backup;

# 查看数据库备份
list backup of database;

# 查看归档日志备份
list backup of archivelog all;

# 查看控制文件备份
list backup of controlfile;

2. 按时间查看

# 查看特定时间后的备份
list backup completed after 'sysdate-7';

# 查看特定时间前的备份
list backup completed before 'sysdate-7';

# 查看某个时间段的备份
list backup completed between 'sysdate-14' and 'sysdate-7';

3. 查看过期/废弃备份

# 查看废弃的备份(根据保留策略)
report obsolete;

# 查看过期备份
crosscheck backup;
list expired backup;

# 查看过期的归档日志
crosscheck archivelog all;
list expired archivelog all;

清除RMAN备份
1. 清除废弃备份

# 先设置保留策略(比如7天)
configure retention policy to recovery window of 7 days;

# 查看哪些会被删除
report obsolete;

# 删除废弃备份
delete obsolete;

# 强制删除,不提示
delete noprompt obsolete;

2. 按时间删除

# 删除7天前的数据库备份
delete backup of database completed before 'sysdate-7';

# 删除7天前的归档备份
delete backup of archivelog all completed before 'sysdate-7';

# 删除所有7天前的所有备份(包括归档)
delete backup completed before 'sysdate-7';

# 强制删除,不提示
delete noprompt backup completed before 'sysdate-7';

3.按备份类型删除
# 删除所有备份(谨慎!)
delete backup;

# 只删除数据库备份
delete backup of database;

# 只删除归档备份
delete backup of archivelog all;

# 只删除控制文件备份
delete backup of controlfile;

4.清除过期备份
# 先交叉检查
crosscheck backup;
crosscheck archivelog all;

# 删除过期备份
delete expired backup;
delete expired archivelog all;

# 一起删除
delete noprompt expired backup;
delete noprompt expired archivelog all;

5. 物理删除备份文件
如果RMAN信息已经不一致,需要物理删除

# 先在OS层面查看
ls -lh /data/backup/rman_bak/

# 然后让RMAN忘记这些文件
rman target /
catalog start with '/data/backup/rman_bak/';
crosscheck backup;
delete expired backup;

# 或者直接物理删除(谨慎!)
find /data/backup/rman_bak -name "*.bak" -mtime +30 -exec rm -f {} \;

 

posted @ 2026-03-18 16:57  莫让年华付水流  阅读(2)  评论(0)    收藏  举报