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@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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-2150384/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用DBMS_SCHEDULER排程作業系統shell指令碼作業系統指令碼
- oracle排程程式作業dbms_schedulerOracle
- oracle使用DBMS_SCHEDULER排程作業Oracle
- Oracle 排程程式作業( dbms_scheduler )Oracle
- Oracle DBMS_SCHEDULEROracle
- 監控Oracle系統中鎖的常用指令碼Oracle指令碼
- oracle 11gR2 安裝時增加修改作業系統引數指令碼Oracle作業系統指令碼
- 系統巡檢指令碼指令碼
- Linux 作業系統指令碼格式問題導致指令碼無法執行Linux作業系統指令碼
- 使用Linux系統的Shell指令碼維護Oracle(轉)Linux指令碼Oracle
- CentOS7.5安裝PostgreSQL作業系統配置指令碼CentOSSQL作業系統指令碼
- 作業系統比對指令碼[inststuff.pl](轉)作業系統指令碼
- windows系統垃圾清理指令碼Windows指令碼
- 企業需求呼喚:ERP系統需要四大整合(轉)
- 使用oracle dbms_scheduler代替crontabOracle
- 監控系統告警指令碼集合指令碼
- Linux系統檢查指令碼Linux指令碼
- 業務系統表格調研指令碼指令碼
- linux系統優化指令碼Linux優化指令碼
- Shell 系統資訊監控指令碼指令碼
- Oracle運維指令碼-收集統計資訊Oracle運維指令碼
- Oracle定時任務dbms_schedulerOracle
- 指令系統
- linux系統for迴圈小指令碼Linux指令碼
- Linux 系統健康巡檢指令碼Linux指令碼
- FreeBSD系統啟動指令碼(轉)指令碼
- Solaris linux 系統監控指令碼Linux指令碼
- 系統初始化SHELL指令碼薦指令碼
- Debian系統啟動指令碼(轉)指令碼
- Oracle rman 指令碼Oracle指令碼
- Oracle expdp 指令碼Oracle指令碼
- Oracle 11g 統計資訊收集指令碼Oracle指令碼
- Linux作業系統的Shell程式設計指令碼欣賞(轉)Linux作業系統程式設計指令碼
- Oracle 作業系統認證Oracle作業系統
- Oracle作業系統認證Oracle作業系統
- 【SHELL】Linux系統 Oracle例項監控、重啟 簡易Shell指令碼LinuxOracle指令碼
- CPU、指令集、體系結構以及作業系統作業系統
- 透過Python指令碼理解系統程式Python指令碼