alert.log에 보니 아래의 에러가 표시가 되네요.
무슨 문제가 있는지...
ORA_00604: error occurred at recursive SQL level 1
ORA-01001: invalid cursor ORA-00601: cleanup lock conflict
ORA-0604 오류가 발생한 원은 다음과 같이 3가지 원인을 찾을 수 있습니다.
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 화일에 기록해 주므로 이 화일을 검사하여 에러의 원인을 찾을 수 있습니다.