ORA-00604: error occurred at recursive SQL level
Oracle의미
Oracle이 내부적으로 백그라운드에서 실행하는 recursive SQL 중 오류가 발생했다. 실제 오류를 감추는 래퍼(외부) 오류이며, 실제 원인은 바로 아래에 나열된 두 번째 오류 코드에 있다.
원인
data dictionary 접근, 실패하는 DDL 트리거, 가득 찬 SYSTEM 테이블스페이스, 임시 공간 부족, 손상된 data dictionary 객체, 또는 세션 로그인 시 실행되는 LOGON 트리거의 실패.
해결 방법
오류 스택에서 ORA-00604 다음의 두 번째 줄을 읽는다. 그것이 실제 원인이므로 이를 해결한다. 예를 들어 ORA-01653이 보이면 테이블스페이스를 확장한다. DDL/LOGON 트리거가 의심되면 일시적으로 비활성화한다: ALTER TRIGGER trigger_name DISABLE; DBA_FREE_SPACE로 SYSTEM 및 TEMP 테이블스페이스 사용량을 확인한다.
같은 데이터베이스의 다른 항목
- buffer busy waits대기: 다른 세션이 이미 읽거나 수정 중인 버퍼에 대한 경합
- gc buffer busy대기(RAC): 인스턴스 간 전송 중인 cache fusion 블록에 대한 경합
- library cache lock대기: library cache 객체 핸들 경합(parse/DDL 직렬화)
- ORA-01438value larger than specified precision allowed for this column
- ORA-01400cannot insert NULL into (column)
- ORA-02291integrity constraint violated - parent key not found
- ORA-02292integrity constraint violated - child record found