oracle归档日志的清除
2013-10-10 16:28
931 查看
今天公司的同事反映oracle 11g数据库打不开,提示如下:
![](https://img-blog.csdn.net/20140212163410562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bmh1YV9sb3Zl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
查看位于/u01/app/oracle/diag/rdbms/orcl/orcl/trace的alert_orcl.log日志如下:
![](https://img-blog.csdn.net/20140212161902281?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bmh1YV9sb3Zl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
初步判断是归档日志所在的闪回区容量不足导致,解决步骤如下:
操作系统下执行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
查看位于/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
相关文章推荐
- 清除oracle归档日志
- oracle 正确删除归档日志,并清除 V$ARCHIVED_LOG 数据
- 如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录
- Oracle RMAN 清除归档日志
- 查看oracle的归档日志及空间占用率,清除归档日志
- oracle 正确删除归档日志,并清除 V$ARCHIVED_LOG 数据
- Oracle RMAN 清除归档日志
- 如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录
- oracle清除归档日志
- 实验说明Oracle重做日志与归档日志的作用
- oracle重做日志文件归档是什么意思?
- oracle 归档日志查看方法--logminer
- Oracle 开启归档日志以及关闭归档日志
- ORACLE 开启归档日志功能
- Oracle-归档日志详解(运行模式、分类)
- Oracle归档日志管理技巧
- Oracle rman不完全恢复(数据文件,归档日志,控制文件全部丢失)
- 当ORACLE归档日志满后如何正确删除归档日志
- oracle归档日志(archive log)
- 修改Oracle归档日志方法