Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1

ТЕМА:

Планировщик 12 года 9 мес. назад #1191

Привет всем!
Помогите плиз разобраться в небольшой проблемке. Мне нужно создать произвольную тестовую работу на oracle 11g. Именно написать код.
Я создала хранимую процедуру, затем создала программу, использующую эту процедуру. Потом работу, которая базируется на созданной программе.
Когда я формирую программу, я свойство Enabled ставлю равным false, ну чтобы после завершения создания прога была неактивна. и я смогла бы узнатьтребуемые атрибуты для хранимой процедуры. После этого активирую прогу:

exec dbms_scheduler.enable ('test_program');

И вот ответ:
(dbms_scheduler.enable ('test_program'); execute dbms_scheduler.enable ('test_program'); dbms_scheduler.enable ('system.test_program');), выдается ошибка:
ORA-009000: неверно предложение на языке SQL.

Логин - System. Код пишу в PL/SQL Developer.
Такая же ошибка получается и в случае активизации самой работы, которая создана со значением Enabled - false

И эта же ошибка при удалении этой же программы:
dbms_scheduler.drop_program('test_program');

В чем тут проблема может быть? Может быть проблема в правах? Использую System...
Заранее огромнейшее спасибо!!!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Планировщик 12 года 9 мес. назад #1192

Добрый...
А прогу которую создаете, что она из себя представляет то? Модуль exe или скрипт? Или же эта прога PL/SQL?

Если это внешнее приложение, то для примера вот, в 11g:
conn / as sysdba

BEGIN
  dbms_scheduler.create_job(
  job_name   => 'EXT_LOAD',
  job_type   => 'EXECUTABLE',
  job_action => 'c:\oracle\product\11.1.0\db_1\bin\sqlldr.exe',
  number_of_arguments => 1,
  start_date => SYSTIMESTAMP,
  enabled    => FALSE,
  comments   => 'SQL*Loader Job Demo');
END;
/

BEGIN
  dbms_scheduler.set_job_argument_value('EXT_LOAD', 1,
                 argument_value=>
                 'userid=uwclass/uwclass control=c:\temp\sqlldr02.ctl log=c:\temp\sqlldr02.log');
END;
/

exec dbms_scheduler.enable('EXT_LOAD');

col status format a10
col additional_info format a80

SELECT job_name, operation, status
FROM all_scheduler_job_log
WHERE owner = 'SYS';

SELECT job_name, additional_info
FROM all_scheduler_job_run_details;


exec dbms_scheduler.disable('EXT_LOAD');

exec dbms_scheduler.drop_job('EXT_LOAD');

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Планировщик 12 года 9 мес. назад #1193

PL/SQL прога
begin
dbms_scheduler.create_program(
program_name => 'test_program',
program_type => 'stored_procedure',
program_action => 'InsCelebrate',
enabled => FALSE,
number_of_arguments => 1
);
end;

begin
  dbms_scheduler.define_program_argument
  (program_name      => 'test_program',
  argument_position => 1,
  argument_name     => 'NAME',
  argument_type     => 'varchar2'
  );
end;

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от margo491.

Re: Планировщик 12 года 9 мес. назад #1194

И вот
exec dbms_scheduler.enable ('test_program');


Что еще можно сделать? За пример с внешним приложением спасибо :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от margo491.

Re: Планировщик 12 года 9 мес. назад #1195

Ну попробуйте выделить отдельную схему для запуска работы. Затем Загрантовать ее объектами 'test_program'. Проверьте обязательно отсутствие проблем запуска из под нее. Ну и потом сделайте шедулер.
Пример шундлера:
BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
         job_name => 'TEST_JOB'
        ,job_type => 'PLSQL_BLOCK'
        ,job_action => 'begin test_program; end;'
        ,start_date =>  TO_TIMESTAMP_TZ('2009-03-20 01:00:00 Europe/Moscow','YYYY-MM-DD HH24:MI:SS TZR')
        ,repeat_interval => 'FREQ=DAILY'
        ,enabled => TRUE
        ,comments => 'test_scheduler_job'
        );
END;
/

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Планировщик 12 года 9 мес. назад #2182

а для чего нужен планировщик то а то я что то не въехал ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.422 секунд