일단 님이 당하신 에러 메세지에 대한 oerr 결과입니다.
00604, 00000, "error occurred at recursive SQL level %s"
// *Cause: An error occurred while processing a recursive SQL statement
// (a statement applying to internal dictionary tables).
// *Action: If the situation described in the next error on the stack
// can be corrected, do so; otherwise contact Oracle Support.
04031, 00000, "unable to allocate %s bytes of shared memory ("%s","%s","%s\
","%s")"
// *Cause: More shared memory is needed than was allocated in the shared
// pool.
// *Action: If the shared pool is out of memory, either use the
// dbms_shared_pool package to pin large packages,
// reduce your use of shared memory, or increase the amount of
// available shared memory by increasing the value of the
// INIT.ORA parameters "shared_pool_reserved_size" and
// "shared_pool_size".
// If the large pool is out of memory, increase the INIT.ORA
// parameter "large_pool_size".
결국 내부적으로 공유메모리를 지나치게 소모하는 recursive 한 또는 그와 비슷한 쿼리가 작동하고 있고, 이것을 처리하기에는 공유 풀의 메모리 사이즈가 작다는 뜻인 것 같군요. 위의 메세제 대로 공유 풀의 사이즈를 늘리시는게 좋겠군요.
>>김홍구 님께서 쓰시길<<
:: 안녕하세요
:: 오라클로 아직어설프지만.. 사이트를 운영하고 있습니다.
:: 그런데.. 아래 메시지와 함께 오라클이 죽어 버립니다..
:: 오라클을 한다는 여러분에게 여쭤 보았지만.. 답이 없습니다..
:: 왜 죽는지.. 안죽게 하려면 어떻게 해야 할까요..
:: 고수님들의 조언 기다리겠습니다.
::
:: 플렛폼 : linux 6.2
:: 웹서버 : apache
:: oracle : oracle8.1.7
::
:: -------------에러 메시지------------------------------------
::
:: OCISessionBegin: ORA-00604: error occurred at recursive SQL level 2
:: ORA-04031: unable to allocate 4200 bytes of shared memory ("shared pool","TRIGGER$","sga heap","
:: state objects")
:: ORA-00604: error occurred at recursive SQL level 2
:: ORA-04031: unable to allocate 4200 bytes of shared memory ("shared pool","SEQ$","sga heap","stat
:: e objects")
::
|