利用SCHEDULER呼叫shell指令碼
10g的SCHEDULER的一個重要的功能是可以呼叫作業系統命令或SHELL指令碼。而在10g以前,這個功能只能通過外部儲存過程來實現。
下面是一個簡單的例子,首先編輯一個test.sh指令碼:
#!/usr/bin/ksh
echo abc >> /home/xxx/a.txt
注意,#!/usr/bin/ksh是必須的,否則JOB執行會出現ORA-27369錯誤。
給這個shell設定執行許可權:
$ chmod 744 test.sh
下面就可以在資料庫中建立PROGRAM:
SQL> BEGIN
2
DBMS_SCHEDULER.CREATE_JOB(
3 JOB_NAME => 'J_TEST',
4 JOB_TYPE => 'EXECUTABLE',
5 JOB_ACTION =>
'/home/xxx/test.sh',
6 ENABLED => TRUE,
7 AUTO_DROP => TRUE);
8
END;
9
/
PL/SQL procedure successfully completed.
SQL> SELECT * FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME = 'J_TEST';
no rows selected
SQL> COL JOB_NAME FORMAT A30
SQL> SELECT TO_CHAR(LOG_DATE, 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'),
2
JOB_NAME,
3
STATUS
4
FROM DBA_SCHEDULER_JOB_RUN_DETAILS
5
WHERE JOB_NAME = 'J_TEST';
TO_CHAR(LOG_DATE,'YYYY-MM-DDHH24:MI:
JOB_NAME STATUS
------------------------------------ ------------------------------ ----------------------
2012-03-12 18:41:16.275361 +08:00
J_TEST
SUCCEEDED
檢查shell執行資訊:
SQL> EXIT
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 -
64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[xxx@hpserver2 ~]$ more a.txt
abc
[xxx@hpserver2 ~]$ ls -l a.txt
-rw-r--r-- 1 xxx oinstall 4 Mar 12 18:41 a.txt
通過這個簡單的方法,就可以實現作業系統命令的呼叫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-718391/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 9、在Shell指令碼中呼叫其他指令碼指令碼
- Oracle DBMS_SCHEDULER呼叫作業系統指令碼Oracle作業系統指令碼
- Linux/Unix shell 指令碼中呼叫SQL,RMAN指令碼Linux指令碼SQL
- Centos下使用php呼叫shell指令碼CentOSPHP指令碼
- 利用shell指令碼生成動態sql指令碼SQL
- 使用DBMS_SCHEDULER排程作業系統shell指令碼作業系統指令碼
- 利用shell指令碼統計程式碼行數指令碼
- 如何呼叫python中的shell指令碼?Python指令碼
- 使用CRONTAB呼叫shell指令碼執行EXP指令碼
- go 呼叫 shell 指令碼 如何傳遞引數Go指令碼
- crontab呼叫oracle的shell指令碼注意事項Oracle指令碼
- android 利用shell指令碼重新打包簽名Android指令碼
- 利用shell指令碼監控網站狀態指令碼網站
- 利用shell指令碼實現計劃任務功能指令碼
- shell指令碼指令碼
- shell指令碼呼叫java jar包 的問題總結指令碼JavaJAR
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- shell指令碼(二)指令碼
- shell指令碼心得指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- 巧用shell指令碼生成快捷指令碼指令碼
- shell指令碼(6)-shell陣列指令碼陣列
- 在shell指令碼中呼叫另一個指令碼的三種不同方法(fork, exec, source)指令碼
- 使用Python和Java呼叫Shell指令碼時的死鎖陷阱PythonJava指令碼
- 利用docker與shell指令碼進行懶人伺服器搭建Docker指令碼伺服器
- 案例:利用shell指令碼spool資料到一指定文指令碼
- 如何加密shell指令碼加密指令碼
- 初識shell指令碼指令碼
- 執行shell指令碼指令碼
- Shell 指令碼語句指令碼
- shell 指令碼加密 | shc指令碼加密
- Linux Shell指令碼Linux指令碼
- shell指令碼例項指令碼
- 【指令碼】shell語法指令碼
- shell指令碼舉例指令碼
- Shell指令碼基礎指令碼
- Linux shell 指令碼Linux指令碼