Hi.
I lost few previous archivelogs, and can't run "backup database plus archivelog;".
That's what I got from rman:
RMAN> backup database plus archivelog;
Starting backup at 12-APR-09
current log archived
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 04/12/2009 13:06:14
RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
ORA-19625: error identifying file /u01/app/Oracle/backup/ORCL/archivelog/2008_08_04/o1_mf_1_11_49f37bn1_.arc
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
How to fix it ?
原因是过期和丢失的归档日志找不到所以报错,解决方法是执行下列两个命令,将过期的归档日志删除
Hi
Run commands:
RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
And then "backup database plus archivelog delete all input;"
--------------------------------------推荐阅读 --------------------------------------
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容
--------------------------------------分割线 --------------------------------------
附
如何手动删除Oracle 归档日志文件
问题描述
Oracle归档日志把空间占满,导致数据库不能正常使用,备份异常出错。
分析问题
Oracle数据库,如果客户这边没有做归档日志删除策略或者每天的日志量太大,又或者事物日志备份没有成功导致归档日志不能被删除的时候,需要手动删除归档日志文件。
解决方案
一、 对于windows和linux
#rman target用户名/密码@实例名
rman >DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-7';删除7前的所有归档日志。
rman >crosscheck archivelog all;
rman >delete noprompt expired archivelog all;
rman>crosscheck archivelog all;
rman> delete expired archivelog all;
二、 对于UNIX
#rman target用户名/密码@实例名
Rman>find ./(归档日志路径) -xdev –mtime +7 –name “*.dbf” –exec rm –f {};