ORA-16038: log N sequence# M cannot be archived(ログ N (順序番号 M) をアーカイブできない)
Oracle意味
Oracle がオンライン REDO ログファイルをアーカイブできず、そのロググループを再利用できない。ARCHIVELOG モードでアーカイブが停止すると、データベースは新しいトランザクションを受け付けなくなりハングすることがある。
原因
通常、アーカイブログの出力先または高速リカバリ領域 (FRA) が満杯、ディスク容量の枯渇、アーカイブ先に到達不能、または権限/マウントの問題が原因。ORA-19809 (リカバリファイルの制限超過) や 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'(表領域に対する権限がない)
- 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(パスワードの期限切れ)