주식회사 누리아이티

정보자산의 보안강화를 위한 3단계 인증 보안SW(BaroPAM) 전문기업인 누리아이티

▶ Tuxedo/오류 메시지(Oracle)

ORA-0604

누리아이티 2010. 5. 24. 22:47

현상 : ORA-0604: error occurred at recursive SQL level %s
 

원인 : 1.내부적으로 SQL명령이 실행될 때 발생(현재 할당된 익스텐트가 가득 차서 다음 익스텐트를
           할당 받으려고 할 때 오라클이 다음 익스텐트의 크기와 위치를 결정하기 위하여  SELECT
           명령을 내리게 되는 것과 같은 경우)
         2.init.ora 화일의 파라미터 가운데 DC_FREE_EXTENTS 나 ROW_CACHE_ENQUEUES 의 값이 너무 작게 설정
         3.테이블 스페이스가 가득 차거나 Extent 갯수의 최대 허용값을 초과해서 에러가 발생하는
           경우 ORA-604 에러가 함께 발생
 

조치 : 1.?/dbs/init<SID>.ora 화일에 지정된 open_cursors 의 크기를 알아보는 것이다. 이 값이
           설정이 안되어 있으면 Default가 50이므로
                 open_cursors=255
                 ----------------
         2.DC_FREE_EXTENTS 나 ROW_CACHE_ENQUEUES들의 값을 크게 설정
         3.에러의 원인을 찾기 위해서 init.ora 화일에 다음과 같은 라인을 추가한다.
              events = "604 trace name errorstack"
           이렇게 init.ora를 변경하고 DB를 Shutdown 하고 Startup 하면 ORA-0604 에러가 발생하는
           경우에 자세한 정보를 Trace 화일에 기록해 주므로 이 화일을 검사하여 에러의 원인을
           찾을 수 있다.

'▶ Tuxedo > 오류 메시지(Oracle)' 카테고리의 다른 글

ORA-0902 invalid datatype  (0) 2010.05.26
ORA-0901 invalid CREATE command  (0) 2010.05.26
ORA-0600, ORA-1578  (0) 2010.05.24
ORA-0439  (0) 2010.05.24
ORA-0312,0313  (0) 2010.05.24