|  
  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_piece 
 
 
  本文出自:亿恩科技【www.enkj.com】 
      
      
		服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM] 
       |