在UNIX、windows下讓ORACLE定時執行*.sql檔案
ORACLE資料庫自帶的DBMS_JOB功能可以實現定時執行PL/SQL的儲存過程,但是如果SQL語句很複雜,SQL語句很多,以及經常要改變SQL語句的寫法,用寫PL/SQL儲存過程的方法再定時執行會比較繁瑣。何況還有一些UNIX系統管理員不會寫PL/SQL儲存過程,所以我介紹一個簡單的shell程式可以在安裝了ORACLE SERVER或CLIENT的UNIX機器上實現定時執行一個*.sql檔案。 首先我們在安裝了ORACLE SERVER或CLIENT的UNIX機器上連線目的資料庫:
如果能夠成功進入SQL>狀態,並執行簡單的SQL語句
表明連線成功,否則檢查/$ORACLE_HOME/network/admin/tnsnames.ora裡servie_name是否正確定義。 /etc/hostname裡是否包含目的資料庫的主機名等等(其它的網路檢查就不在這裡詳細列舉了)。 接著在scott使用者下執行測試的SQL語句:scott_select.sql
然後在目錄/oracle_backup/bin/下寫一個類似下面的shell檔案scott_select.sh
說明: spool語句把scott_select.sql語句的執行結果輸出到/oracle_backup/log/scott_select.txt檔案 @符號是執行/oracle_backup/bin/scott_select.sql檔案 在要執行的*.sql檔案裡可以存放DML、DDL等多條SQL語句。 改變scott_select.sh的屬性成755, 可以執行
這樣,UNIX系統管理員(root許可權)可以利用crontab命令把scott_select.sh加入定時操作佇列裡。 或者直接編輯OS下的配置檔案:
在root檔案後面新增一行(含義:每月的18日4:40分執行scott_select.sh)
時間表按順序是:分鐘(0—59) 小時(0—23) 日期(1—31) 月份(1—12) 星期幾(0—6) 您可以根據不同的需求來組合它們。 重新啟動OS的定時服務,使新新增的任務生效。
這樣ORACLE資料庫就會定時執行scott_select.sql檔案,並把結果輸出到OS檔案scott_select.txt。 如果我們要新寫或者修改scott_select.sql檔案,直接編輯它就可以了。 2、windows下用批處理執行oracle指令碼: 如果在windows下可以建立一下個bat批處理檔案:test.bat,內容如下: sqlplus system/oracle@orcl_108 @e:\select.sql > e:\select.log 其中select.sql 指令碼檔案內容為: select * from all_users; 其中e:\select.log檔案是select.sql 輸出的結果日誌。 然後可以建立系統任務定時執行這個test.bat檔案。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/241379/viewspace-683835/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UNIX下讓ORACLE定時執行*.sql檔案(轉)OracleSQL
- windows下ftp定時執行批次下載檔案,windows下ftp定時執行批次下載檔案的一種方法WindowsFTP
- 在unix下定時執行oracle的sql方法(轉)OracleSQL
- Windows環境下實現批量執行Sql檔案勒鴛WindowsSQL
- oracle 中使用批處理檔案,同時執行,多個.sql檔案。OracleSQL
- 在windows下使用orakill清除oracle執行緒WindowsOracle執行緒
- Unix環境和Windows環境下Oracle引數檔案位置:WindowsOracle
- 在linux及unix系統下批次刪除oracle檔案LinuxOracle
- laravel建立定時任務並在windows下執行LaravelWindows
- oracle查詢sql執行耗時、執行時間、sql_idOracleSQL
- 怎樣在windows上定時執行python指令碼WindowsPython指令碼
- 如何讓Python指令碼成為在Windows環境中執行的exe檔案Python指令碼Windows
- linux下QT在windows下執行LinuxQTWindows
- Linux定時執行指定的指令碼檔案Linux指令碼
- .Oracle固定執行計劃之SQL PROFILE概要檔案OracleSQL
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- MySQL cron定時執行SQL語句MySql
- spring boot 執行sql檔案Spring BootSQL
- 執行大資料量SQL檔案大資料SQL
- 利用securt crt下載linux或者unix檔案到windowsLinuxWindows
- UNIX/LINUX平臺可執行檔案格式分析Linux
- window下執行sh檔案
- oracle rac中讓sql語句在指定的節點執行的方法OracleSQL
- 在unix下,怎麼用java呼叫.o檔案呢?Java
- ubuntu 把檔案設定為可執行檔案Ubuntu
- mysql sql語句執行超時設定MySql
- windows下檢視oracle 執行緒 (session)WindowsOracle執行緒Session
- matlab (.m)檔案生成 windows 可執行(.exe)檔案MatlabWindows
- unix下複製檔案(轉)
- 自適應查詢執行:在執行時提升Spark SQL執行效能SparkSQL
- python3執行.sql檔案PythonSQL
- CMD 執行大檔案SQL指令碼SQL指令碼
- Linux/Unix平臺可執行檔案格式分析(轉)Linux
- [轉]SQL Server 2000定時執行SQL語句SQLServer
- 多執行緒下載檔案執行緒
- windows下打包java程式為帶jre的可執行檔案WindowsJava
- 在windows殺oracle執行緒的問題WindowsOracle執行緒
- [ORACLE] SQL執行OracleSQL