如何解决ORACLE 10g自动归档日志满了的问题
上周末的oracle 10g出现了自动归档日志满了的问题,导致oracle服务无法启动,报ORA-16038、ORA-19809、ORA-00312错误,没什么经验,瞎整一通,简单记录一下。
首先尝试把归档日志空间的设置加大:
- sql>alter system set db_recovery_file_dest_size=20g scope=spfile;
未果。
接着找到默认的归档日志存放目录$ORACLE_HOME/flash_recovery_area/ORCL/archivelog/,手工删除归档文件(可适当保留最近7天的):
- $ rm -rf 2007*
- ...
结果重启服务后,Rman备份检测到日志缺失,oracle服务仍无法启动。参考了一些高手的文档,试图尝试
- $ rman target /
- RMAN>crosscheck archivelog all;
- RMAN> delete expired archivelog all;
- RMAN> delete obsolete;
发现ORCL没有启动,强行startup也不行,执行不了上述命令,最后尝试执行了:
- alter system set log_archive_start=TRUE scope=spfile;
重新设置归档模式,误打误撞之下,恢复了服务。
而正确的解决办法应该是使用RMAN删除过期归档。当然一般来说,在RMAN备份策略中,会设置成自动删除归档日志,为何出现那一问题,不解。
RMAN的学习和参考:
http://search.oracle.com/search/search?start=1&nodeid=&fid=&keyword=rman&group=Documentation
做的东西太多,学的东西太杂,没有一样精通的,以致于做的事情没有深度,体现不出价值。想想真是悲哀。工作中做的太多事情,并不是我想做的,而我想做的太多事情,并不是工作环境可以让我去做的。
很想专注于某一点。

05月 8th, 2008 at 2:13 pm
已然不错了,向你学习!
[Reply]
05月 9th, 2008 at 12:04 am
哈哈,我也遇到过归档满了的问题。
[Reply]
08月 27th, 2008 at 10:33 am
你的情况和我是一样的,总是做一些我不想做的事,更可气的是工作没有做完就给我按排到另的工作中去,到头下来好像没有一个项目是从头到尾做完的,而技术更没有什么提升……我真的想专注的做一件事呀!~~
[Reply]