删除过期备份时报no channel allocated for maintenance(of an appropriate type)
当筵意气临九霄,星离雨散不终朝。这篇文章主要讲述删除过期备份时报no channel allocated for maintenance(of an appropriate type)相关的知识,希望能为你提供帮助。
问题描述: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<
gz_7:768051562:1>
.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<
gz_7:768051562:1>
.dbf
…
Do you really want to delete the above objects (enter YES or
NO)? yes
deleted backup piece
backup piece
handle=swt-oracle-full<
gz_7:768051562:1>
.dbf
recid=1 stamp=768051562
…
Deleted 26 objects
这样就成功了
【删除过期备份时报no channel allocated for maintenance(of an appropriate type)】本文出自 “我主梁缘” 博客,请务必保留此出处http://xiaocao13140.blog.51cto.com/6198256/1970938
推荐阅读
- 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法()
- Xcode9.0+appium1.6.5真机环境运行app及遇坑知多少
- Android页面路由框架 —— ARouter
- 安卓屏幕截图的获取
- 解决手机助手与 android sdk 的adb 冲突问题
- Spring Boot自动配置和分派器Servlet
- 理查森成熟度模型
- RESTful Web服务简介
- 在UserResource上更新POST和DELETE方法以使用JPA