Oracle10g中的UNIX机器
我在程序执行的Unix命令,要求我该怎么办呢?
Oracle10g中的UNIX机器
我在程序执行的Unix命令,要求我该怎么办呢?
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;
您可以使用DBMS_SCHEDULER从Oracle软件包。 还有一个开源的这样一个软件包集。 你可以找到那些在这里 。
如果DBMS_SCHEDULER是不够的,你,你需要运行的其他PL / SQL代码的上下文中的命令,那么你就需要考虑调用外部程序 。
我想和大家分享有关调用操作系统命令的另一种方法。 在这种方法中一个简单的Web服务接口的设置从SQL或PL / SQL调用OS命令。 有关此方法的详细信息可以在这里找到:
运行操作系统(OS)命令中的Oracle PL / SQL:一个Web服务方法
使用这种方法,在这里也描述了一步一步的说明有关如何从SQL调用SQL * Loader的:
从SQL或PL / SQL运行的Oracle SQL-装载机
请注意,上述方法的网络服务是在Python定义。 Python附带预装了最常见的Linux发行版(包括Oracle Linux的),但是如果你使用的是Windows平台,那么你可能需要安装Python 2.7.3