RMAN-03002 RMAN-06091 错误解决方法

2014-11-24 18:16:58 · 作者: · 浏览: 0

客户自从使用nbu 以来一直报这个错误。因为以前一直都是正常的。所以晚上先让停止了nbu的备份。单独使用以前的脚本正常。报错信息一样。所以怀疑是不是脚本的问题。
查询网上分析原因如下:


Symptoms
When attempting to delete obsolete backups from RMAN using the following command:


RMAN> delete obsolete;


the following error occurs:


RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 05/07/2008 22:04:21
RMAN-06091: no channel allocated for maintenance (of an appropriate type)


.



Cause
Tape channel had not being allocated when attempt to delete obsolete backup on tape.



Using the following command to verify that there are backup sets on tape.



RMAN> list backup;
List of Backup Sets
===================


==>The Device Type is SBT_TAPE.


Solution
To implement the solution, please execute the following steps:


Please run the following commands to delete obsolete backup sets on both disk and tape:


RMAN> allocate channel for maintenance type disk;
RMAN> allocate channel for maintenance device type 'sbt_tape' PARMS '...';
==>Please change '...' to your actual tape params
RMAN> delete obsolete;



If you want to delete obsolete backup sets on disk, you can use the following commands:
RMAN> allocate channel for maintenance type disk;
RMAN> delete obsolete device type disk;、


说的很明白说是没有分配为维护通道。


我只修改了rman_backup.sh中的语句。
#delete noprompt obsolete;
#allocate channel c1 type disk;
将上面的语句改为下面的。
allocate channel for maintenance type disk; #this is add by yt 2012 2 21
delete obsolete device type disk; #this is add by yt 2012 2 21



我试着单独执行这两句:


RMAN> allocate channel for maintenance type disk;


allocated channel: ORA_MAINT_DISK_2
channel ORA_MAINT_DISK_2: sid=736 instance=cmsxty1 devtype=DISK


RMAN> delete noprompt 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
-------------------- ------ ------------------ --------------------
Control File Copy 1 01-JAN-12 /backup/1101/standby01.ctl


RMAN-06207: WARNING: 1 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status
RMAN-06210: List of Mismatched objects
RMAN-06211: ==========================
RMAN-06212: Object Type Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Datafile Copy /backup/1101/standby01.ctl


提示我 有个备份找不到不让删除。


继续执行下面的语句


RMAN>DELETE FORCE NOPROMPT OBSOLETE DEVICE TYPE DISK;


删除成功。


看了少了个force,至于这个force在这里的作用我下来得好好研究下。


最后脚本更改如下。备份正常。


run {
allocate channel c1 type disk;
backup database include current controlfile format '/backup/rman_cmsxty_full_%s_%T.bak';
sql 'alter system archive log current';
backup archivelog all delete input format '/backup/rman_cmsxty_arc_%s_%T.bak';
backup current controlfile format '/backup/rman_cmsxty_ctl_%s_%T.bak';
release channel c1;
}
report obsolete;
crosscheck archivelog all;
crosscheck backup;
allocate channel for maintenance type disk;
DELETE FORCE NOPROMPT OBSOLETE DEVICE TYPE DISK;
EOF