删除过期备份时报no channel allocated for maintenance(of an appropriate type)
admin
2023-04-25 18:23:00
0次

问题描述:AIX 平台Oracle 10G,今天发现数据库归档空间满了,就通过crosscheck 后,执行delete force obsolete时报no channel allocated for maintenance(of an appropriate type) 错误,

原因分析:经过查询可能是因为在之前的备份过程中采用了不同设备类型备份导致不能正常删除过期的备份

解决方案:

先摘录一段对CROSSCHECK的描述

当archivelog或是backup被手工删除后,需要运行crosscheck.该命令确保recovery catalog或是控制文件中记录的数据与硬盘上的文件一致。

 

对于找不到的文件,CROSSCHECK会把它的状态标为EXPIRED.然后,你运行DELETE EXPIRED命令就可以把rman repository中的相关记录和硬盘上的文件删除。

 

如果有些文件被错误地标为EXPIRED,那么在确认文件存在时,再次运行CROSSCHECK BACKUP可以将这些文件重置为AVAILABLE状态。

 

也就是说,对于硬盘上已经不存在的文件,用DELETE EXPIRED在RMAN中删除相关记录。对于已经超过retention policy的备份,用DELETE OBSOLETE从硬盘和磁带设备上删除,并从RMAN中把记录删除。

 

在执行完

Crosscheck backup;

Crossscheck backuppiece;

Crosscheck archivelog all;

Delete obsolete;报RMAN-06091: no channel allocated for maintenance (of an appropriate type)

 

研究了一下,之前的备份一部分是直接备份在硬盘上,另一部分是通过DP备份在磁带上的。出现这样的错误是因为有磁带上的数据,但是未申请磁带类型的channel造成的。

 

RMAN> allocate channel for maintenance type disk;

 

allocated channel: ORA_MAINT_DISK_6

channel ORA_MAINT_DISK_6: sid=137 devtype=DISK

 

RMAN> delete expired archivelog all;

 

specification does not match any archive log in the recovery catalog

这个应该是正常的,没有发现expired log.

 

RMAN> delete obsolete;

 

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

Deleting the following obsolete backups and copies:

Type                Key   Completion Time   Filename/Handle

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

Backup Set          2499  2011-11-24 11:39:28

 Backup Piece      2511  2011-11-24 11:39:28 swt-oracle-full.dbf

…

Backup Set          2564  2011-11-26 21:18:57

 Backup Piece      2567  2011-11-26 21:18:57 /backup/arc0dmsld1e

…

Backup Set          2950  2011-12-14 14:45:40

 Backup Piece      2955  2011-12-14 14:45:40 /u01/oracle/flash_recovery_area/GZ/backupset/2011_12_14/o1_mf_annnn_TAG20111214T144526_7gjkjly0_.bkp

…

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of delete command at 12/15/2011 17:05:42

RMAN-06091: no channel allocated for maintenance (of an appropriate type)

这里出错了

 

解决的办法是分别删除硬盘上与磁带上的过期备份数据。

RMAN>delete obsolete device type disk;--指定设备类型,这样就可以删除指定的设备中的数据

删除硬盘上的过期备份

 

 

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

Deleting the following obsolete backups and copies:

Type                Key   Completion Time   Filename/Handle

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

Backup Set          2509  2011-11-24 14:28:32

 Backup Piece      2521  2011-11-24 14:28:32 /backup/sp

Backup Set          2564  2011-11-26 21:18:57

 Backup Piece      2567  2011-11-26 21:18:57 /backup/arc0dmsld1e

Backup Set          2565  2011-11-26 21:19:20

 Backup Piece      2568  2011-11-26 21:19:20 /backup/arc0emsld29

Control File Copy    2709  2011-11-26 21:42:33 /var/opt/omni/tmp/ctrl_gz.dbf

Backup Set          2885  2011-11-27 20:44:15

 Backup Piece      2888  2011-11-27 20:44:15 /backup/db_full_31.1

Control File Copy    2898  2011-11-27 20:43:57 /backup/bj.ctl

Backup Set          2886  2011-11-27 20:44:21

 Backup Piece      2889  2011-11-27 20:44:21 /backup/db_full_32.1

Backup Set          2950  2011-12-14 14:45:40

 Backup Piece      2955  2011-12-14 14:45:40 /u01/oracle/flash_recovery_area/GZ/backupset/2011_12_14/o1_mf_annnn_TAG20111214T144526_7gjkjly0_.bkp

Backup Set          2951  2011-12-14 14:45:46

…

 

 

Do you really want to delete the above objects (enter YES or NO)? YES

deleted backup piece

backup piece handle=/backup/db_full_31.1 recid=31 stamp=768343384

deleted control file copy

control file copy filename=/backup/bj.ctl recid=4 stamp=768343437

deleted backup piece

backup piece handle=/backup/db_full_32.1 recid=32 stamp=768343461

deleted backup piece

backup piece handle=/u01/oracle/flash_recovery_area/GZ/backupset/2011_12_14/o1_mf_annnn_TAG20111214T144526_7gjkjly0_.bkp recid=38 stamp=769877137

deleted backup piece

…

Deleted 17 objects

 

deleted backup piece

backup piece handle=/backup/sp recid=11 stamp=768061712

deleted backup piece

backup piece handle=/backup/arc0dmsld1e recid=13 stamp=768259119

deleted backup piece

backup piece handle=/backup/arc0emsld29 recid=14 stamp=768259146

Deleted 3 objects

这回成功了

 

 

RMAN> allocate channel for maintenance device type 'sbt_tape' PARMS 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=gz,OB2BARLIST=swt-oracle-full)';

 

这里PARMS后面的参数与备份时RMAN脚本中的参数相同

 

 

allocated channel: ORA_MAINT_SBT_TAPE_7

channel ORA_MAINT_SBT_TAPE_7: sid=136 devtype=SBT_TAPE

channel ORA_MAINT_SBT_TAPE_7: Data Protector A.06.11/243

 

RMAN> delete obsolete;

 

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

Deleting the following obsolete backups and copies:

Type                Key   Completion Time   Filename/Handle

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

Backup Set          2499  2011-11-24 11:39:28

 Backup Piece      2511  2011-11-24 11:39:28 swt-oracle-full.dbf

…

 

Do you really want to delete the above objects (enter YES or NO)? yes

 

 

deleted backup piece

backup piece handle=swt-oracle-full.dbf recid=1 stamp=768051562

…

Deleted 26 objects

这样就成功了




相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...