回答

收藏

[Oracle] ORA-00257: oracle报archiver error的解决方法

数据库 数据库 1085 人阅读 | 0 人回复 | 2020-08-31

背景:多个用户同时做测试数据,有时候突然Oracle系统就崩溃了,然后报一个
ORA-00257: archiver error. Connect internal only, until freed
的错误,之后怎么连接都连接不上。
之前也见过这种问题,想起可能是归档日志满了,%oracle_home%\10.1.0\flash_recovery_area\下面看了一下,大概有5个G的日志。
想应该是归档日志太大了,当时又是了几下,还是登录不上数据库。
看了些网上的资料,有用的较少。
本次的实验如下:
1)我把数据库的“tnsname”文件的共享模式改成专有模式。
2)重新启动了一下监听和服务
3)再次用sys用户登录
这次奇迹般的登录进去了。
sqlplus sys/password@oracle as sysdba。 sys是用户名,oracle是数据库名字
后面的就是清除归档文件了。
  1. 关掉cmd窗口,重新打开后用rman target sys/password@ims 命令进入RMAN命令行后执行

  2. RMAN> crosscheck archivelog all;

  3. RMAN> delete expired archivelog all; 就可以删除所有过期的日志文档并释放空间
复制代码
或者删除指定时间之前的archivelog:
  1. DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)

  2. 然后再做测试数据,问题就没有了。
复制代码
PS:有人说直接删除物理日志文档释放空间不行,实验证明直接删除物理日志文档释放空间也没问题。





“锲而舍之,朽木不折;锲而不舍,金石可镂”。滴水可以穿石,不是因为其力量,而是因为其坚韧不拔、锲而不舍。用一丝不苟的心对待每一件事,只有把根基做深,墙才会筑的更高。
用我们的专业和诚信赢得您的信赖,让每一次合作总能超越期待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则