ORA-16038,ORA-19809,ORA-00312无法归档的解决方法

源文档 <http://www.dbasky.net/>

    SQL>startup mount

    Total System Global Area 2097152000 bytes

    Fixed Size                  1268436 bytes

    Variable Size             536872236 bytes

    Database Buffers         1543503872 bytes

    Redo Buffers               15507456 bytes

    Database mounted

    SQL> alter database open;

    alter database open

    *

    ERROR at line 1:

    ORA-16038: log 3 sequence# 498 cannot be archived

    ORA-19809: limit exceeded for recovery files

    ORA-00312: online log 3 thread 1: '/opt/oracle/oradata/nuage/redo03.log'

     

    从上面不难看出数据库无法归档.那什么原因造成的呢?通过查看了alter的日志,分析在某个时点出现了异常随后找了相关的了解下情况,主要是开发人员在不正常的情况下关闭数据库,这样一来使得在没有运行完毕的SQL语句造成数据库线程停止.知道了原因接下来就解决问题吧!

    SQL> alter database clear unarchived logfile '/opt/oracle/oradata/nuage/redo03.log';

    Database altered.

     

    SQL>shutdown immediate

    Database closed.

    Database dismounted.

     

    SQL>startup mount

    Total System Global Area 2097152000 bytes

    Fixed Size                  1268436 bytes

    Variable Size             536872236 bytes

    Database Buffers         1543503872 bytes

    Redo Buffers               15507456 bytes

    Database mounted

    SQL> alter database open;

    Database altered.

    通过这次的故障给我们敲响警钟,在任何情况下都得正常的关闭数据库.

 

posted @ 2009-12-04 21:27  xxd  阅读(3304)  评论(0编辑  收藏  举报