手动清理归档日志
一、
可以先在操作系统层面用rm命令删除再进入rman中
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
二、
rman target/
或rman target/@orcl
在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
#############################################
使用report obsolete命令报告过期备份
RMAN> report obsolete;
使用delete obsolete命令删除过期备份:
RMAN> delete obsolete;
日志未归档的处理
用alter database clear logfile命令尝试重构logfile group 1,失败;
SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
ERROR at line 1:
ORA-00350: log 1 of instance orcl (thread 1) needs to be archived
ORA-00312: online log 1 thread 1: '/u02/oradata/orcl/redo01.log'
失败的原因是group 1还没有归档,需要加上”unarchived”参数;
SQL> alter database clear unarchived logfile group 1;
Database altered.