45

- Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

  • Upload
    others

  • View
    36

  • Download
    0

Embed Size (px)

Citation preview

Page 1: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера
Page 2: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

<Insert Picture Here>

Введение

в

Oracle SchedulerИгорь

Мельников

Старший

консультант

Page 3: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

<Insert Picture Here>

План

Введение•

Основные

понятия

Oracle Scheduler

Новые

возможности

в

10g Rel.2 •

Миграция

с

DBMS_JOB

Новые

возможности

в

11g Rel.1

Page 4: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Введение

в

Oracle Scheduler

Page 5: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Новая

подсистема

заданий

в

Oracle 10g

Enterprise Manager(web Interface)

Oracle

Database

Oracle Scheduler

DBMS_SCHEDULER(API)

Page 6: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Управление

через

консоль

EM

Page 7: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler API Встроенный

пакет

DBMS_SCHEDULER

SQL> desc DBMS_SCHEDULER

PROCEDURE ADD_EVENT_QUEUE_SUBSCRIBERArgument Name Type In/Out Default?------------------------------ --------- ------ --------SUBSCRIBER_NAME VARCHAR2 IN DEFAULTPROCEDURE ADD_WINDOW_GROUP_MEMBERArgument Name Type In/Out Default?------------------------------ --------- ------ --------GROUP_NAME VARCHAR2 INWINDOW_LIST VARCHAR2 INPROCEDURE ALTER_CHAINArgument Name Type In/Out Default?------------------------------ --------- ------ --------CHAIN_NAME VARCHAR2 INSTEP_NAME VARCHAR2 INATTRIBUTE VARCHAR2 INVALUE BOOLEAN IN

Page 8: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Основные

понятия

Page 9: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Основные

понятия

ЧтоКогда

Как

КогдаКак

часто

Как

долгоЧтоКогда

Page 10: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Программа

Page 11: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Программа

Код который будет выполняться в задании:PL/SQL- процедураАнонимный PL/SQL-блокВнешняя программа ОС

Скриптвыполняемый файлкоманда ОС

Определяется имя программыПараметры

Page 12: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Создание

программы

в

EM

Page 13: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

BEGINDBMS_SCHEDULER.CREATE_PROGRAM(

program_name => 'my_arc_prg',program_action => '/usr/local/bin/my_batch.sh',program_type => 'EXECUTABLE',comments => 'Скрипт

для

архивирования');

END;

Oracle Scheduler Создание

программы

через

DBMS_SCHEDULER

Page 14: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Расписание

Page 15: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Календарь

для

расписания

Удобный календарь для расписания выполненияИнтервал: минуты, часы, дни, месяцы, годыДаты начала и окончания расписания выполнения

Page 16: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Создание

распиcания

в

EM

Page 17: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

BEGINDBMS_SCHEDULER.CREATE_SCHEDULE(schedule_name => 'my_stats_schedule',start_date => SYSTIMESTAMP,end_date => SYSTIMESTAMP + INTERVAL '30' day,repeat_interval => 'FREQ=HOURLY; INTERVAL=4',comments => 'Every 4 hours');

END;

Oracle Scheduler Создание

распиcания

программно

Page 18: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Job

Page 19: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Создание

задания

Параметры

задания

Page 20: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Определение

программы

для

задания

Определяется

какой

код

должен

выполняться•

Возможен

как

и

непосредственный

ввод

кода

и

расписания•

Так

и

определение

задания

как

комбинации

программы

и

расписания

(типизация

задания)

Page 21: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Расписание

задания

Установка

расписания

вручную

Page 22: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Дополнительные

параметры

для

задания

Page 23: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Журнал

выполнения

заданий

Просмотр как через view, так и через DB Control

Page 24: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Job Class

Page 25: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Job Class

Группировка заданий с одинаковыми требованиямик ресурсамДля Job Class определяются

Resource Consumer GroupДетализация журнала выполнения (logging level)Имя сервиса (для RAC)

Page 26: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Создание

Job Class

в

EM

Page 27: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Новые

возможности

в

Oracle Database 10g Release 2

Page 28: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Database

SchedulerСобытиеНовые

данные"

“Bulk Load” Job

Do_bulk_load

Recalc_stats

Rebuild_indx

Run Reports

space?

Oracle Scheduler Новые

возможности

в

Oracle Database 10g Rel.2

YES

NO

Составные

задания•

Задания

по

событиям

Приоритеты

заданий•

Более

гибкий

календарь

Page 29: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Зависимости

между

заданиями

Page 30: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Цепочки

выполнения

заданий

Цепочка

выполнения

заданий•

Условия

перехода

по

цепочке: состояние

задания

на

входе, код

ошибки, время

и

т.д. – могут комбинироваться

(AND, OR, NOT)

На

выходе

цепочки

могут

быть

несколько

потоков выполнения

Примеры

выхода: запустить, запустить

с задержкой, остановить

Расписание

на

цепочку•

Возможно:

запустить

цепочку, приостановить,

пропустить

цепочку

Page 31: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Задания

по

событиям

Выполнение

задания

по

событиям•

Генерируются

на

стороне

сервера

программно

Могут

поступать

события

и

снаружи

например

появился файл

на

сервере

Событие

может

быть

частью

цепочки

!

Page 32: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Приоритеты

заданий

Более

высокий

приоритет

для

важных

заданий•

Более

ровная

загрузка

системы

за

счет

расстановки

приоритетов•

Распределение

ограниченных

ресурсов

для

заданий

Интеграция

с

Resource Manager•

Изменение

распределения

ресурсов

по

расписанию

Page 33: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Приоритеты

заданий Пример

APPLICATION

Job1 Job2

ADMIN

Job4 Job5

OTHER

Job3

Group Resource Allocation

Application 60%

Admin 30%

Other 10%

Resource plan

Page 34: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Изменение

приоритета

по

расписанию

1 2 3 4 5 6 7 8 9 10 11 12

Resource plan1 Resource plan 2

Application 30%

Admin 60%

Other 10%

Application 60%

Admin 30%

Other 10%

Page 35: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Миграция

с

DBMS_JOB

Page 36: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Вся

функциональность

DBMS_JOB в

целях

обратной

совместимости поддерживается!

Cоздание

задания

в

стиле

DBMS_JOB (за

один

вызов)

DECLAREv_xStartDate constant date := to_date('01.08.2007 01:00:00',

'dd.mm.yyyy hh24:mi:ss');BEGINDBMS_SCHEDULER.CREATE_JOB(

job_name => 'close_day_backup',job_type => 'plsql_block',job_action => 'begin opn_service.makeBackup; end;',start_date => v_xStartDate,repeat_interval => 'freq=daily',enabled => true,comments => 'Create backup');

END;

Миграция

с

пакета

DBMS_JOB Создание

задания

в

стиле

DBMS_JOB

Page 37: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Миграция

с

пакета

DBMS_JOB Удаление

задания

BEGINDBMS_SCHEDULER.REMOVE('close_day_backup');

END;

Page 38: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Новые

возможности

в

Oracle Database 11g

Page 39: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Запуск

заданий

с

командами

ОС

под

разными пользователями

операционной

системы

Запуск

удаленных

заданий

с

командами

ОС

Oracle Scheduler Новые

возможности

в

Oracle Database 11g

Page 40: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Локальные

задания

под

разными пользователями

ОС

User SCOTT submit jobs

Run job2 as OS user Y

Run job1 as OS user X

Run job3 as OS user Z

Machine 1

Oracle Database

Job1Job2Job3

Page 41: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Запуск

удаленных

заданий

Oracle Database

User SCOTT submit jobs

Machine CMachine A Machine B

Run job1 as OS user X

Agent Agent Agent

Machine 1

Run job2 as OS user Y

Run job3 as OS user Z

Job1Job2Job3

Page 42: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Заключение

Гибкая

система

управления

заданиями

в

СУБД Oracle Database

Интеграция

с

менеджером

ресурсов

и поддержка

RAC

Теперь

не

требуется

делать

собственную подсистему

“поверх”

DBMS_JOB как

было

раньше

Поддержка

“workflow”

заданий

и

приоритеты

Page 43: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

Oracle Scheduler Documentation Документация

Oracle Database Administrator's Guide 10g Release 2 (10.2)

Ссылки:•

http://download.oracle.com/docs/cd/B19306_01/server.102/b14231.p

df•

http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/to

c.htm

Глава

26 “Overview of Scheduler Concepts”

Глава

27 “Using the Scheduler”

Глава

28 “Administering the Scheduler”

Page 44: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера
Page 45: - Oracle BI · возможности в Oracle Database 10g Release 2 . Oracle Database. Scheduler. ... сервера

<Insert Picture Here>

Игорь

МельниковСтарший

консультант

Oracle СНГ

Email : [email protected] : +7 (495) 641 14 00Direct: +7 (495) 641 14 42Mobile: +7 (916) 290 45 15