Базы данных Oracle - статьи



Настройка управления задачами (Task Management)


Важно заметить, что SQL Tuning Advisor, подобно всем другим управляющим советчикам, сформирован на основе общего Advisor Framework. Advisor Framework обеспечивает общую поддержку инфраструктуры для построения, сохранения и поиска советов, сгенерированных при помощи различных управляющих возможностей, включая SQL Tuning Advisor.Поэтому все процедуры настройки SQL работают с объектами задач советчика, названными задачами настройки. Это значит, что для выполнения автоматической настройки должна быть создана задача настройки. Использование SQL- процедур настройки, включая создание задач настройки, требует наличия привилегии ADVISOR.

Для выполнения автоматической SQL-настройки, используя пакет DBMS_SQLTUNE, первым шагом всегда будет создание задачи настройки вызовом процедуры create_tuning_task. Эта процедура создает задачу советчика и задает ей соответствующие параметры, согласно установленным пользователем входным параметрам.

Есть несколько разновидностей процедуры create_tuning_task, которые могут быть использованы для создания задач настройки для настройки одного SQL-предложения или множества предложений, сохраненных в SQL Tuning Set.

Следующий пример показывает одну форму процедуры create_tuning_task, которая позволяет передавать текст SQL-предложению непосредственно, как параметр. В этом примере текст предложения передается, как CLOB. create_tuning_task( sql_text => ‘select * from emp where emp_id = :bnd', bind_list => sql_binds(anydata.ConvertNumber(100)), user_name => ‘scott', scope => ‘comprehensive', time_limit => 60, task_name => ‘my_sql_tuning_task', description => ‘task to tune a query on a specified employee');

В этом примере целевое предложение использует связанную переменную bnd, значение которой (100) - это число, передающееся как функциональный аргумент типа SQL_BINDS. SQL_BINDS - это новый тип объектов, введенный в Oracle 10g. Параметр scott предоставляет имя схемы, в которой анализируется представление. Возможности настройки задачи передаются, как comprehensive, чтобы сообщить SQL Tuning Advisor, что нужно сделать полный анализ, включая генерацию SQL Profile. И, наконец, аргумент 60 - это предел по времени в секундах для настройки SQL-предложения.

Есть две другие формы этой процедуры, доступные для адресата специфического SQL-предложения, выбранного или из кэша курсоров, или из AutomaticWorkload Repository (AWR). В любом случае предложение будет идентифицировано передачей его SQL_ID вместо SQL-текста.

Когда задача настройки еще только успешно создана, она находится в первоначальном состоянии. Затем задача должна быть выполнена для запуска процесса настройки. Это достигается с помощью запуска процедуры execution_tuning_task, как показано ниже:

execute_tuning_task(task_name => ‘my_sql_tuning_task');

В любое время, после того как началось выполнение, пользователь может использовать соответствующую процедуру советчика для отмены, прерывания или сброса задачи. Пользователь может также проверить состояние задачи путем просмотра информации, помещенной в рабочее представление DBA_ADVISOR_LOG, или может запросить представление V$SESSIO_LOGOPS для отображения информации о прогрессе выполнения задачи. Эта информация включает оставшееся время на выполнение, количество результатов, выгоду и число предложений, использованных SQL Tuning Set для настройки.

Когда задача настройки закончена, результаты настройки могут быть визуализированы, вызовом процедуры report_tuning_task, как показано ниже: set long 10000; select report_tuning_task(task_name => ‘my_sql_tuning_task') from dual;




Содержание  Назад  Вперед