您的位置:首页 > 数据库 > Oracle

oracle归档日志的清除

2013-10-10 16:28 931 查看
今天公司的同事反映oracle 11g数据库打不开,提示如下:



查看位于/u01/app/oracle/diag/rdbms/orcl/orcl/trace的alert_orcl.log日志如下:



初步判断是归档日志所在的闪回区容量不足导致,解决步骤如下:

操作系统下执行rm -rf *物理删除所有归档日志,然后执行以下命令:

rman target /

startup mount;

crosscheck archivelog all;

delete expired archivelog all;

alter database open;

下面是我整理的关于清理归档日志的两种方法,大家可以参照一下:

 oracle 的归档日志,达到设置的极限值之后,数据库就不能使用了。 出现的错误提示是: ORA-00257: archiver error. Connect internal only, until freed 那么这时候可以选择把它的日志文件移动到别的地方去,然后去去删除参数文件里面的值

方法一:

1、查看归档日志文件位置

sqlplus / as sysdba

archive log list;

或者

 RMAN> list archivelog all;

2、操作系统下运行rm -rf 删除归档日志或者cp到其它目录;

3、从控制文件中校验归档日志,将过期的清除

rman target /

crosscheck archivelog all;

delete expired archivelog all;

注:其实可以在rman直接执行以下命令删除归档日志,既删除了控制文件中的相关信息,也删除了物理文件,但由于归档日志在介质恢复时会用到,删除需谨慎。

delete archivelog all completed before 'sysdate-7'; (删除七天前的归档日志)

 

方法二:

 

1、先备份然后再删除,物理文件会一并删除

backup archivelog all format '/home/oracle/archbackup/db1_arch_%U' delete input;

对于rman crosscheck的详细用法,请见http://blog.csdn.net/chunhua_love/article/details/16819033
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  archive log Oracle 清除