Oracle如何运行操作系统命令(上)页12
Oracle课程是Oracle运行OS命令(top)的过程。在Oracle 8i,往往有一个存储过程中的运行操作系统命令的情况。一般来说,当使用Oracle企业管理器来设置工作可以达到这个目标。但由于设置工作OEM不灵活,设置的参数是固定的,在实际应用中,它是经常需要在SQL语句中的任何时间执行操作系统命令。Oracle 8i没有语句运行OS命令直接,我们可以使用dbms_pipe包来实现这一要求。
dbms_pipe允许至少两个进程通过管道通信。甲骨文的管道在概念上是相同的操作系统,但它们在实现机制不同。
介绍了以下步骤:
1。创建一个名为守护进程的程序包,SQL语句如下所示:
创建守护程序包
创建或替换包体守护进程
/ * execute_system运行操作系统命令功能。
功能execute_system(命令VARCHAR2,
超时次数默认为10)
返回数
状态数;
结果VARCHAR2(20);
command_code数;
pipe_name VARCHAR2(30);
开始
pipe_name:= dbms_pipe.unique_session_name;
dbms_pipe.pack_message(系统的);
dbms_pipe.pack_message(pipe_name);
dbms_pipe.pack_message(命令);
要发送命令守护程序管道字符*
现状:= dbms_pipe.send_message('daemon,超时);
如果状态> 0,那么
(20010 raise_application_error,
execute_system:错误而发送。状态=地位| |);
最后如果;