Автоматизированные задачи обслуживания в базе данных Oracle

Автоматизированные задания по обслуживанию в базе данных OracleАвтоматизированные задачи обслуживания — это автоматически запускаемые в базе данных задания, выполняющие операции по обслуживанию. Ниже перечислены автоматизированные задачи обслуживания в Oracle Database 11g и 12c:

  • Automatic Optimizer Statistics Collection (Автоматический сбор статистики оптимизатора);
  • Automatic Segment Advisor (Автоматический советник по сегментам);
  • Automatic SQL Tuning Advisor (Автоматический советник по настройке SQL).

Все три задачи автоматического обслуживания запускаются во время системного окна обслуживания по умолчанию, приходящегося на ночное время. Ниже мы поговорим о предопределенных окнах обслуживания.

 

Предопределенные окна обслуживания

В Oracle Database 11g и 12c есть семь предопределенных окон обслуживания, которые перечислены ниже:

  • MONDAY_WINDOW — начинается в 10 вечера в понедельник и заканчивается в 2 ночи;
  • TUESDAY_WINDOW — начинается в 10 вечера во вторник и заканчивается в 2 ночи;
  • WEDNESDAY_WINDOW — начинается в 10 вечера в среду и заканчивается в 2 ночи;
  • THURSDAY_WINDOW — начинается в 10 вечера в четверг и заканчивается в 2 ночи;
  • FRIDAY_WINDOW — начинается в 10 вечера в пятницу и заканчивается в 2 ночи;
  • SATURDAY_WINDOW — начинается в 6 утра в субботу и заканчивается в 2 ночи;
  • SUNDAY_WINDOW — начинается в 6 утра в воскресенье и заканчивается в 2 ночи.

Окна рабочих дней недели открыты в течение 4 часов, а окна выходных — в течение 20 часов. Эти семь окон обслуживания входят в группу, именуемую MAINTENANCE_WINDOW_GROUP. Окнами обслуживания можно управлять, изменяя их время начала и конца. Можно также создавать свои окна обслуживания и удалять или отключать окна по умолчанию. В следующих разделах будет показано, как это делать.

 

Управление автоматизированными задачами обслуживания

Поскольку база данных не назначает постоянных заданий Scheduler трем автоматизированным задачам обслуживания, ими нельзя управлять с помощью пакета DBMS_SCHEDULER. Если необходимо выполнять тонко настроенные задачи обслуживания, которые модифицируют автоматизированные задачи обслуживания, следует использовать пакет DBMS_AUTO_TASK_ADMIN.

 

Мониторинг автоматизированных задач обслуживания

Для получения подробной информации относительно выполнения автоматизированных заданий обслуживания в базе данных потребуется запросить представления DBA_AUTOTASK_CLIENT и DBA_AUTOTASK_OPERATION. Эти два представления совместно используют множество столбцов. Ниже показан запрос к представлению DBA_AUTOTASK_CLIENT

SQL> SELECT client_name, status,
2 attributes, window_group,service_name
3 FROM dba_autotask_client;
CLIENT_NAME            STATUS    ATTRIBUTES
--------------------   --------  -------------------------------------
auto optimizer         ENABLED   ON BY DEFAULT, VOLATILE, SAFE TO KILL
statistics collection
auto space advisor     ENABLED   ON BY DEFAULT, VOLATILE, SAFE TO KILL
sql tuning advisor     ENABLED   ONCE PER WINDOW, ON BY DEFAULT;
                                 VOLATILE, SAFE TO KILL
SQL>

Обслуживание базы данных Oracle через автоматические задачи

Столбец ATTRIBUTES показывает, что все три автоматизированные задачи обслуживания по умолчанию включены, о чем свидетельствует атрибут ON BY DEFAULT. Когда открывается окно обслуживания, база данных автоматически создает три автоматизированных задачи обслуживания и выполняет эти задания. Однако только задача SQL Tuning Advisor показывает атрибут OPEN PER WINDOW. Это потому, что база данных выполняет обе задачи — Automatic Optimizer Statistics Collection и Auto Space Advisor — более одного раза, если позволяют размеры окна обслуживания, в то время, как SQL Tuning Advisor выполняется на протяжении окна обслуживания только один раз.

База данных присваивает клиентское имя каждой из автоматизированных задач обслуживания, чтобы они выглядели как клиенты. Задание Scheduler, ассоциированное с тремя клиентами, получает имя операции, поскольку задания считаются операциями. Вот имена операций, ассоциированные с каждой из трех автоматизированных задач обслуживания:

SQL> SELECT client_name, operation_nameFROM dba_autotask_operation;
CLIENT_NAME                        OPERATION_NAME
---------------------------------  -----------------------
auto optimizer stats collection    auto optimizer stats job
auto space advisor                 auto space advisor job
sql tuning advisor                 automatic sql tuning task
SQL>

 

Включение задачи обслуживания

Выполните процедуру ENABLE, чтобы включить ранее отключенного клиента или операцию, как показано ниже:

SQL> begin
2 dbms_auto_task_admin.enable
3 (client_name => 'sql tuning advisor',
4 operation => 'automatic sql tuning task',
5 window_name => 'monday_window');
6* end;
SQL> /
PL/SQL procedure successfully completed.
SQL> 

Извлечь атрибуты CLIENT_NAME и OPERATION_NAME можно, опросив представления DBA_AUTOTASK_CLIENT и DBA_AUTOTASK_OPERATION.

 

Отключение задачи обслуживания

С помощью процедуры DISABLE можно отключить любое из трех заданий обслуживания во время определенного окна обслуживания:

SQL> begin
2 dbms_auto_task_admin.disable
3 (client_name => 'sql tuning advisor',
4 operation => 'automatic sql tuning task',
5 window_name => 'monday_window');
6* end;
SQL> /
PL/SQL procedure successfully completed.
SQL> 

В приведенном примере задача SQL Tuning Advisory отключается только во время MODAY_WINDOW и остается включенной во всех остальных окнах.

 

Реализация автоматизированных задач обслуживания

Процесс ABR (Autotask Background Process — фоновый процесс автоматизированных задач) отвечает за реализацию трех автоматизированных задач обслуживания, преобразуя их в задания Scheduler. Для каждой из этих задач ABR создает список заданий и назначает им приоритеты. Есть три уровня приоритета: высокий, средний и срочный. Scheduler также создает классы заданий и отображает группу потребителей на соответствующий класс заданий. ABR назначает задания в каждый класс заданий, а классы заданий отображают задания на группы потребителей на основе уровня приоритета задания. Фоновый процесс MMON осуществляет перезапуск и отслеживает процесс ABR. Представление DBA_AUTOTASK показывает задания, хранящиеся в репозитории ABR, которым служит табличное пространство Sysaux.

Просматривать репозиторий ABR можно путем опроса представления DBA_AUTOTASK_TASK.

 

Выделение ресурсов автоматическим задачам

План ресурсов по умолчанию, назначаемый всем окнам обслуживания — это DEFAULT_MAINTENANCE_PLAN. Когда окно обслуживания открывается, база данных активизирует DEFAULT_MAINTENANCE_PLAN для контроля ресурсов центрального процессора, используемых автоматическими задачами обслуживания. Три автоматических задачи обслуживания запускаются под ORA$AUTOTASK_SUB_PLAN — подпланом DEFAULT_MAINTENANCE_PLAN. Выделение ресурсов для автоматизированных задач можно изменить, изменяя выделение ресурсов этому подплану для конкретного окна обслуживания.

Вас заинтересует / Intresting for you:

Oracle изменения изменений!
Oracle изменения изменений! 3112 просмотров Stas Belkov Tue, 21 Nov 2017, 13:18:46
Разница между базой данных и э...
Разница между базой данных и э... 3265 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
База данных и экземпляр Oracle...
База данных и экземпляр Oracle... 6515 просмотров Antoni Tue, 21 Nov 2017, 13:28:01
Проверка оставшегося свободног...
Проверка оставшегося свободног... 5786 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
Войдите чтобы комментировать

Oracle_Admin аватар
Oracle_Admin ответил в теме #8944 6 года 1 мес. назад

apv пишет: Автоматизированные задания сильно облегчают работу администратору по обслуживанию базы данных Oracle.

+ 1 мистеру Очевидность)))
Без обид!)
apv аватар
apv ответил в теме #8874 6 года 3 мес. назад
Автоматизированные задания сильно облегчают работу администратору по обслуживанию базы данных Oracle.