项目中使用的是Oracle数据库,由于之前没怎么用过Oracle,所有难免会遇到一些没有遇到过的问题。这不,突然有一天连不上数据库了,tomcat扔给了这样一个错误:ORA-00257: Archiver error。
Google了一下,说是归档日志写满了。。。之前测试环境也没出现过,查了下资料,发现-----

是启用了归档。由于数据库还有好多不同的项目要用到,所以考虑了一下,还是不要轻易去动数据库吧。
去Oracle安装目录下找到RMAN--参考“G:\db\Oracle\product\11.2.0\dbhome_1\BIN\rman”.
写一个.bat文件,参考:
G:/db/Oracle/product/11.2.0/dbhome_1/BIN/rman target sys/数据库名@密码 cmdfile=D:/OracleArchLogClear.rman log=D:/rman.log

释: cmdfile后的是一个后缀名为.rman的文件,文件内容为:
我设置的删除4天以前的所有的日志。可以修改 sysdate-4 来修改删除操作。
(备注:你也可以直接使用cmd执行rman来执行delete操作)

- 打开plsql,使用sys用户登录系统,执行 select * from V$FLASH_RECOVERY_AREA_USAGE;当看到99.99的时候,就会出现错误。
- 使用RMAN删除归档日志。
- 双击执行 “OracleArchLogClear.bat”文件,等待执行结束,再使用plsql,操作步骤1,就可以看到 ARCHIVED_LOG的数值减小了,数据库也就能连上了。
并且,在我的的“D”盘(路径在.bat文件中设置)下生成了 “rman.log”文件,可以查看log.

最后,因为项目中产生的日志特别大,特别多,所以在 Window系统下设置定期执行计划,定期5天执行一次 ".bat",文件。不知道如何在Window系统下设置定期执行计划,可以去百度一下。
参考资料:https://blog.youkuaiyun.com/xiaolongzaixian/article/details/47921247
本文详细介绍了在使用Oracle数据库时遇到ORA-00257归档错误的解决方法,包括使用RMAN删除旧归档日志、通过PL/SQL检查归档日志使用情况及设置Windows定时任务定期清理。
6900

被折叠的 条评论
为什么被折叠?



