есть отчет, в нем встречается во такой sql:
INSERT INTO TMP_TABLE (RN, COMP_ID)
( SELECT RN, COMP_ID FROM
( SELECT ROWNUM RN, COMP_ID FROM
( SELECT DISTINCT PR.ID COMP_ID, PR. NAME FROM CONTACTS P, CONTACT_TYPES C, COMPANIES PR, COUNTRIES CO
WHERE P.CNTCT_TYPE_ID = C.ID AND PR.ID=P.COMP_ID AND PR.ORIGIN_COUNTRY_ID = CO.ID AND C.TYPE='EVENT'
AND C.COMPANY_EVENT='Y' AND PR.IS_LEGAL = 'L' AND P.XDATE <= :B1 AND PR.REGNO||CO.CODE
IN (SELECT VALUE FROM VARS) ORDER BY PR. NAME ) X
)
WHERE RN >= :B3 AND RN <= :B2
)
|
(VARS - временная табличка)
иногда (пару раз в месяц) обнаруживаю 2-3 сессии которые висят с этим запросом и забирают 90% CPU. В вебном 10g EM смотрю планы проблемных сесий и убиваю, захожу сам и иногда могу повторить ситуацию, иногда нет.
планы во время проблемы и после нее разные, причем план который я получаю из аналога sqlplus похож именно на проблемный план.
от чего межет менятся план и как с этим боротся ?