좀 어려우실지는 모르지만 도움이 되길 바랍니다.
제가 지방 사투리(영어)를 잘못하걸랑요
Solution Description
--------------------
The following suggestions might help to troubleshoot the errors, by at
least eliminating currently known issues.
1) Small and/or fragmented shared pool should not be ruled out.
Customers should consider the shared_pool_size increase and appropriate
tuning, especially if database was upgraded to 8.1.7 from 7.X or 8.0.X releases.
2) It could be 1396675/1396458, if you are seeing the following conditions the
failing PL/SQL code.
PLSQL that contains SQL with a construct of the form:
WHERE (a,b) IN ( (c1,d1),(c2,d2)... )
can cause an spin (hang) and eventually an ORA-4031 error on the server.
This problem was introduced in 8.1.7.0
A very typical symptom for this bug is ora-4031 with the following arguments:
ORA-4031: unable to allocate %...% bytes of shared memory ("shared pool","....", "PL/SQL DIANA","PAR.C:parchk:ptb")
Bug 1396675 is not fixed in 8.1.7.1, but should be included in 8.1.7.2 though.
3)It could be a duplicate of bug 1397603 (not fixed in 8.1.7 or 8.1.6, but only in 9.0.1),
where the workaround is to set
_db_handles_cached = 0
in the init.ora file.
This w/a works wery well, if the bug identified correctly.
Symptoms here are more generic.
Usual arguments in ora-4031 are various state objects, errors are reported
on different occasions (no pattern to speak of).
Already large shared_pool_size is very common, too.
Testing setting "_db_handles_cached = 0" will help to eliminate this bug.
Some performance degradation due to this parameter is possible, but
has not been reported yet.
If none of the above listed options seems to be the issue,
then obtaining a reproduceable test case from the customer would be
the next suggestion.
If you find or work with new bugs relevant to the described errors/problems on
8.1.7, please add new remark to update this article.
그럼 수고하셔요.
>>김홍구 님께서 쓰시길<<
:: 안녕하세요
:: 오라클로 아직어설프지만.. 사이트를 운영하고 있습니다.
:: 그런데.. 아래 메시지와 함께 오라클이 죽어 버립니다..
:: 오라클을 한다는 여러분에게 여쭤 보았지만.. 답이 없습니다..
:: 왜 죽는지.. 안죽게 하려면 어떻게 해야 할까요..
:: 고수님들의 조언 기다리겠습니다.
::
:: 플렛폼 : 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")
::
|