Планировщик двенадцатого оракла позволяет запускать задания основанные на скриптах (bash/rman). Это особенно удобно в среде RAC, так как расписание будет храниться в едином хранилище, а не в crontab каждого узла.
В старых версиях тоже была возможность вызывать внешние скрипты, но для этого требовались определенные танцы с бубном. Сейчас же всё легко и просто.
Для создания этих заданий требуются привилегии CREATE JOB, CREATE EXTERNAL JOB
и CREATE CREDENTIAL.
В старых версиях тоже была возможность вызывать внешние скрипты, но для этого требовались определенные танцы с бубном. Сейчас же всё легко и просто.
Для создания этих заданий требуются привилегии CREATE JOB, CREATE EXTERNAL JOB
и CREATE CREDENTIAL.
1. Для начала нужно создать ссылку на учетную запись ОС. С этими правами и будет работать скрипт.
BEGIN DBMS_CREDENTIAL.create_credential(
credential_name => 'oracle_os',
BEGIN DBMS_CREDENTIAL.create_credential(
credential_name => 'oracle_os',
username => 'oracle',
password => 'oracle');
END;
/
2. Теперь можно создавать задание. В примере используется скрипт RMAN.
DECLARE
l_job_name
VARCHAR2 (30);
l_script
VARCHAR2 (32767);
BEGIN
l_job_name := 'DAILY_BACKUP';
l_script := 'connect target /
run
{
backup database plus archivelog delete input;
delete noprompt obsolete;
}';
DBMS_SCHEDULER.CREATE_JOB (
job_name => l_job_name,
job_type => 'BACKUP_SCRIPT',
job_action => l_script,
start_date => sysdate,
repeat_interval => 'FREQ=DAILY;INTERVAL=1',
enabled => TRUE,
auto_drop => FALSE,
credential_name => 'oracle_os');
);
END;
/Для создания задания, основанного на bash или sql нужно указать JOB_TYPE EXTERNAL_SCRIPT или SQL_SCRIPT соответственно.
Комментарии
Отправить комментарий