Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写

网友投稿 330 2023-12-28

Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写

本篇文章给大家分享的是有关Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写

1. 创建一个shell脚本并授权:

[oracle@xhdbserver01 DBA]$ cat ftp_file.sh 

#!/bin/bash

ftp -n<

open 192.168.9.12

user ftpuser ftpuser

binary

cd /

lcd $1

prompt

put $2

close

bye

chmod u+x ftp_file.sh

2. 创建一个过程, 通过dbms_scheduler来调用创建的shell脚本

begin

  dbms_scheduler.create_credential

  (

credential_name => scriptuser,

    username        => oracle,

    password        => oracle

  );

end;

/

CREATE OR REPLACE PROCEDURE sp_transfer_file_by_ftp(p_directory IN VARCHAR2,

                                                    p_filename  IN VARCHAR2) IS

BEGIN

dbms_scheduler.create_job(job_name            => unix_job,

                            job_type            => executable,

                            number_of_arguments => 2,

job_action          => /home/oracle/DBA/ftp_file.sh,

                            auto_drop           => TRUE,

credential_name     => scriptuser);

  dbms_scheduler.set_job_argument_value(job_name          => unix_job,

+argument_position => 1,

                                        argument_value    => p_directory);

dbms_scheduler.set_job_argument_value(job_name          => unix_job,

                                        argument_position => 2,

                                        argument_value    => p_filename);

  dbms_scheduler.enable(unix_job);

dbms_scheduler.run_job(unix_job);

END;

3. 调用过程上传文件

begin

  sp_transfer_file_by_ftp(/home/oracle, ggs_start.sh);

end;

以上就是Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Oracle 与spark-local 模式的性能对比分析
下一篇:如何理解lpad和rpad函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~