RMAN> report obsolete

直接delete会报这个错误:

RMAN> delete obsolete;

RMAN 保留策略将应用于该命令

将 RMAN 保留策略设置为冗余 1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=136 devtype=DISK

释放的通道: ORA_DISK_1

crosscheck也不行

RMAN> crosscheck backup;

a分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=136 devtype=DISK

释放的通道: ORA_DISK_1

解决方式:

1、重建控制文件。

绝对好使,但是代价较大,不仅之前备份统统无效,而且还需要停数据库服务,由于要操作的是一台较重要的生产服务器,因此这种方法不可行。

2、通过rman命令手工将备份集状态置为unavailable。

RMAN提供了一个change命令,可以修改备份集状态为AVAILABLE/UNAVAILABLE/UNCATALOG等等。手工使用该命令将所有不可访问的备份集置为unavailable,修改完状态后等待控制文件自动更新覆盖失效记录即可。这种方式最大的问题是见效太慢。

注意,nocatalog模式才能使用这种方式。

3、借助dbms_backup_restore包直接删除备份片段。通过dbms_backup_restore.deleteBackupPiece过程删除无法访问的备份集。

dbms_backup_restore.deleteBackupPiece的定义如下:

前6项参数都需要我们指定,这些参数的参数值可以从v$backup_piece中获得。

SQL> select recid,stamp,set_stamp,set_count,handle,piece# from v$backup_piece;

RECID      STAMP SET_STAMP SET_COUNT HANDLE                             PIECE#

---------- ---------- ---------- ---------- ------------------------------ ----------

11301 674167385 674167385      11411 c-1984618042-20081222-00                1

11304 674168006 674168005      11414 c-1984618042-20081222-01                1

11306 674168089 674168089      11416 c-1984618042-20081222-02                1

11312 674253707 674253707      11422 c-1984618042-20081223-00                1

11315 674254316 674254315      11425 c-1984618042-20081223-01                1

11317 674254397 674254397      11427 c-1984618042-20081223-02                1

执行删除RMAN过期备份

SQL> DECLARE

devtype varchar2(256);

BEGIN

devtype:=dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');

dbms_backup_restore.deleteBackupPiece(recid => 11301,stamp => 674167385,handle => 'c-1984618042-20081222-00',set_stamp => 674167385 ,set_count => 11411 ,pieceno => 1);

dbms_backup_restore.deviceDeallocate;

END;

/

SQL> select 'dbms_backup_restore.deleteBackupPiece(recid =>' || recid || ',stamp =>' || stamp || ',handle =>''' || HANDLE || ''',set_stamp =>' || SET_STAMP || ',set_count =>' || SET_COUNT || ',pieceno =>' || PIECE# || ');' sqlt

     from v$backup_piece0b1331709591d260c1c78e86d0c51c18.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐