ORA-16038: log string sequence# string cannot be archived
Cause: An attempt was made to archive the named file, but the file could not be archived. Examine the secondary error messages to determine the cause of the error.
Action: No action is required.
问题是闪回区空间满了,虽然删除了一部分归档,
但rman controlfile记录了闪回区的使用情况,并且认为该闪回区已满。
需要删除rman controlfile中相应的记录
SQL> startup
ORACLE instance started.
Total System Global Area 1660944384 bytes
Fixed Size                  1219736 bytes
Variable Size             436208488 bytes
Database Buffers         1207959552 bytes
Redo Buffers               15556608 bytes
Database mounted.
ORA-16038: log 3 sequence# 78 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/tpdata/database/oradata/test/redo03.log'
SQL> 
SQL> select group#,sequence#,archived,status from v$log;
    GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
         1         79 NO INACTIVE
         3         78 NO INACTIVE
         2         80 NO CURRENT
SQL> SQL> alter database clear logfile group 3;
alter database clear logfile group 3
*
ERROR at line 1:
ORA-00350: log 3 of instance test (thread 1) needs to be archived
ORA-00312: online log 3 thread 1: '/tpdata/database/oradata/test/redo03.log'
连接到rman
RMAN> connect target /
RMAN> crosscheck archivelog all --该操作将标明哪些归档文件已被删除
RMAN> delete expired archivelog all --该命令将删除rman controlfile中相应的记录
SQL> SQL> SQL>
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced

SQL> shutdown immediate;
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1660944384 bytes
Fixed Size                  1219736 bytes
Variable Size             436208488 bytes
Database Buffers         1207959552 bytes
Redo Buffers               15556608 bytes
Database mounted.
Database opened.
SQL>
数据库open。