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

原创
2016-06-07 17:25:39 3440浏览

客户自从使用nbu 以来一直报这个错误。因为以前一直都是正常的。所以晚上先让停止了nbu的备份。单独使用以前的脚本正常。报错信息

客户自从使用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
===================

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Incr 0 113.25M SBT_TAPE 00:08:35 01-MAR-08
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: HOT_DB_BK_LEVEL0
Handle: bk_4_1_648250152 Media:
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
5 0 Incr 1342657 01-MAR-08 /u01/Oracle/app/oracle/oradata/test/undotbs2
75 0 Incr 1342657 01-MAR-08 /u01/oracle/app/oracle/oradata/test/USER_DAT_08_vg3_002
91 0 Incr 1342657 01-MAR-08 /u01/oracle/app/oracle/oradata/test/USER_DAT_12_vg3_002

==>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

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。