2017-01-22 12 views
1

Я столкнулся с проблемой ORA: 7445 с автосогласованием. Авто консультант настройка SQL держит неудачу сМожно ли пропустить конкретную инструкцию SQL из автозапуска настройки советника задания

ORA: 7445

, пока она пытается настроить конкретный SQL.

Есть ли способ пропустить это заявление sql из задания на настройку авто sql?

+0

Это база данных oracle11gR2. – sasikumar

+1

вам лучше будет подавать SR с MOS, чтобы получить адрес 7445, исправленный/исправленный. – thatjeffsmith

+0

Вы проверили журнал предупреждений о дополнительной информации? может быть, оракул написал больше информации там. –

ответ

1

Самый простой способ избежать автоматического 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 и устранить причину проблемы. Но у кого есть время для этого? когда вы сталкиваетесь с «ошибкой» базы данных, лучшим решением является, как правило, избегать его как можно быстрее.