我们可以从oracle10g程序执行unix命令吗?

时间:2009-06-29 14:05:34

标签: oracle oracle10g

unix机器中的Oracle10g

我需要在程序中执行unix命令,我该怎么做?

4 个答案:

答案 0 :(得分:3)

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 :(得分:1)

您可以使用Oracle的DBMS_SCHEDULER软件包。这样做还有一套开源软件包。你可以找到那些here

答案 2 :(得分:0)

如果DBMS_SCHEDULER不够,您需要在其他PL / SQL代码的上下文中运行命令,那么您需要查看calling External Procedures

答案 3 :(得分:0)

我只是想分享一种调用操作系统命令的替代方法。在这种方法中,设置了一个简单的Web服务接口,用于从SQL或PL / SQL调用os命令。有关此方法的详细信息,请访问:

Run Operating System (OS) Command in Oracle PL/SQL: A Web Service Approach

使用此方法,此处还介绍了有关如何从SQL调用SQL * Loader的逐步说明:

Run Oracle SQL-Loader from SQL or PL/SQL

请注意,在上述方法中,Web服务是用Python定义的。 Python预装了最常见的Linux发行版(包括Oracle Linux),但是如果你在windows平台上,那么你可能需要安装python 2.7.3