мы можем выполнить команду unix из процедуры oracle10g - PullRequest
3 голосов
/ 29 июня 2009

Oracle10g в Unix-машине

У меня есть требование выполнить процедуру unix, как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 29 июня 2009
BEGIN
     DBMS_SCHEDULER.create_job(
    job_name        => 'SHELL_JOB',
    repeat_interval  => 'FREQ=DAILY; BYHOUR=2',
    job_type         => 'EXECUTABLE',
    job_action       => '/u01/app/oracle/admin/tools/shell_job.sh',
    enabled          => TRUE,
    comments         => 'Perform stuff'
);
END;
1 голос
/ 29 июня 2009

Вы можете использовать пакет DBMS_SCHEDULER от Oracle. Для этого также имеется набор пакетов с открытым исходным кодом. Вы можете найти эти здесь .

0 голосов
/ 20 января 2013

Я просто хочу рассказать об альтернативном подходе к вызову команд операционной системы. При таком подходе настраивается простой интерфейс веб-сервиса для вызова команд os из SQL или PL / SQL. Подробности об этом подходе можно найти здесь:

Команда запуска операционной системы (ОС) в Oracle PL / SQL: подход веб-службы

Используя этот подход, пошаговое описание того, как вызвать SQL * Loader из SQL, также описано здесь:

Запуск Oracle SQL-Loader из SQL или PL / SQL

Пожалуйста, обратите внимание, что в вышеупомянутом подходе веб-сервис определен в Python. Python поставляется с предустановленным дистрибутивом Linux (в том числе Oracle Linux), однако если вы работаете на платформе Windows, вам может потребоваться установить python 2.7.3

0 голосов
/ 29 июня 2009

Если вам не хватает DBMS_SCHEDULER и вам нужно запускать команды в контексте другого кода PL / SQL, тогда вам нужно будет вызвать внешние процедуры .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...