ORA-16038: log N sequence# M cannot be archived(日志 N 序列号 M 无法归档)
Oracle含义
Oracle 无法归档某个联机重做日志文件,因此无法重用该日志组。在 ARCHIVELOG 模式下归档卡住时,数据库可能停止接受新事务并挂起。
原因
通常是归档日志目标或快速恢复区(FRA)已满;磁盘空间耗尽;归档目标不可达;或存在权限/挂载问题。常与 ORA-19809(limit exceeded for recovery files)或 ORA-00312 同时出现。
解决方法
释放归档目标/FRA 的空间:用 RMAN 将旧归档日志备份到 FRA 之外的目标后删除(DELETE ARCHIVELOG ALL COMPLETED BEFORE ...; 使用 Data Guard 时,不要删除尚未传送/应用到备库的归档日志),或增大 db_recovery_file_dest_size。检查目标状态:ARCHIVE LOG LIST; 以及 SELECT dest_name, status, error FROM v$archive_dest WHERE status != 'INACTIVE'; 问题解决后,归档会从中断处继续。
同一数据库的其他条目
- ORA-02449unique/primary keys in table referenced by foreign keys(表中的唯一/主键被外键引用)
- ORA-01950no privileges on tablespace 'name'(对表空间 'name' 无权限)
- ORA-01110data file N: 'path'(数据文件 N:'path')
- ORA-19809limit exceeded for recovery files(恢复文件超出限制)
- ORA-00376file N cannot be read at this time(文件 N 当前无法读取)
- ORA-12520TNS:listener could not find available handler for requested type of server(监听程序找不到所请求服务器类型的可用处理程序)
- ORA-28001the password has expired(密码已过期)