unix机器中的Oracle10g
我需要在程序中执行unix命令,我该怎么做?
答案 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