ORA-19809: limit exceeded for recovery files
Oracle의미
Fast Recovery Area(FRA)에 할당된 공간(db_recovery_file_dest_size)이 가득 찼다. 아카이브 로그, flashback 로그, 백업을 위한 공간이 남지 않아 Oracle이 새 복구 파일을 생성할 수 없고 데이터베이스가 행 상태가 될 수 있다.
원인
아카이브 로그를 정기적으로 백업하고 정리하지 않아 FRA에 누적되었거나, flashback 로그 사용량이 증가했거나, 할당된 크기가 실제 워크로드에 비해 너무 작다. ORA-16038 같은 아카이브 오류와 함께 나타난다.
해결 방법
FRA 사용량 확인: SELECT * FROM v$recovery_file_dest; 및 SELECT * FROM v$flash_recovery_area_usage; 불필요한 아카이브 로그를 RMAN으로 삭제하거나: DELETE ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK; (Data Guard 환경에서는 먼저 standby에 적용되었는지 확인한다. CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY 설정을 권장한다) 영구 조치로 크기를 늘린다: ALTER SYSTEM SET db_recovery_file_dest_size = 50G SCOPE=BOTH; 아카이브 로그를 정기적으로 백업하는 RMAN 작업을 구성한다.
같은 데이터베이스의 다른 항목
- ORA-01950no privileges on tablespace 'name' (테이블스페이스에 대한 권한 없음)
- ORA-01110data file N: 'path'
- ORA-16038log N sequence# M cannot be archived
- ORA-00376file N cannot be read at this time
- ORA-12520TNS:listener could not find available handler for requested type of server (리스너가 요청한 서버 유형의 핸들러를 찾지 못함)
- ORA-28001the password has expired
- ORA-38029object statistics are locked