Самый простой способ избежать автоматического SQL Tuning Advisor - преобразовать запрос в форму, которая не поддерживается программой.
По the "Automatic SQL Tuning" chapter of the "Database Performance Tuning Guide":
база данных игнорирует рекурсивного SQL и заявления, которые были настроенную недавно (в прошлом месяце), параллельных запросов, DML, DDL и SQL заявления с проблемами производительности, вызванные проблемы параллелизма.
Если запрос select * from dba_objects
вызывало проблемы, попробуйте заново писать так:
select * from dba_objects
union all
--This query block only exists to avoid the Automatic SQL Tuning Advisor.
select /*+ parallel(dba_objects 2) */ * from dba_objects
where 1=0;
Это теперь «параллельный запрос», хотя это не будет действительно работать параллельно из-за 1=0
. Я не тестировал это, и я думаю, вам будет сложно протестировать, потому что вам нужно будет очистить существующие данные AWR, чтобы предотвратить ошибки.
Это одна из причин, по которой я обычно отключил автоматический советник по настройке SQL. Мне нравится идея этого, но на практике я никогда не видел, чтобы консультант по настройке предоставлял полезную информацию. Все, что он когда-либо делал для меня, - это генерировать предупреждения.
В теории пакет DBMS_AUTO_SQLTUNE содержит параметры BASIC_FILTER
, OBJECT_FILTER
и PLAN_FILTER
. Я предполагаю, что один из них может быть полезным, но я не думаю, что они реализованы. Я не могу найти ссылки на них в Google или моей поддержке Oracle. И когда я ввел случайный текст для значений, ошибок не было.
В идеале мы бы посмотреть все ORA-00600 и ORA-07445 ошибка, создать SR и устранить причину проблемы. Но у кого есть время для этого? когда вы сталкиваетесь с «ошибкой» базы данных, лучшим решением является, как правило, избегать его как можно быстрее.
Это база данных oracle11gR2. – sasikumar
вам лучше будет подавать SR с MOS, чтобы получить адрес 7445, исправленный/исправленный. – thatjeffsmith
Вы проверили журнал предупреждений о дополнительной информации? может быть, оракул написал больше информации там. –