1.引言

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、公主嶺ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的公主嶺網(wǎng)站制作公司
定制定時(shí)執(zhí)行的任務(wù)有兩種形式,系統(tǒng)級別和數(shù)據(jù)庫級別,
從操作系統(tǒng)級別來講,
windows系統(tǒng)我們可以使用任務(wù)計(jì)劃來實(shí)現(xiàn),
對于winXP系統(tǒng),設(shè)置步驟如下,開始---設(shè)置---控制面板---任務(wù)計(jì)劃,然后添加任務(wù)計(jì)劃,按向?qū)瓿膳渲眉纯?
對于win7系統(tǒng),設(shè)置步驟如下,點(diǎn)擊開始,然后在 搜索程序和文件 框中輸入 [任務(wù)計(jì)劃],然后點(diǎn)擊出來的任務(wù)計(jì)劃程序,創(chuàng)建一個(gè)基本任務(wù)即可;
linux系統(tǒng)我們可以使用crontab命令來是實(shí)現(xiàn),
關(guān)于crontab命令的使用可以見之前的博客
從數(shù)據(jù)庫級別來講,我們可以采用數(shù)據(jù)庫的job來實(shí)現(xiàn);
本節(jié)主要介紹通過oracle數(shù)據(jù)庫的job來定制一個(gè)簡單的定時(shí)執(zhí)行任務(wù)。本節(jié)會采用oracle定制一個(gè)定時(shí)向一個(gè)表中插入語句。
這里聊一下我做這個(gè)oracle定時(shí)任務(wù)的緣由:
項(xiàng)目中要在固定的時(shí)間,把一個(gè)數(shù)據(jù)庫中某些表的數(shù)據(jù)同步到另外一個(gè)數(shù)據(jù)庫,顯然這些工作我不能每次都自己去做,
那么,我要怎么來做呢?這個(gè)時(shí)候oracle的定時(shí)執(zhí)行任務(wù)JOB無疑是我的最佳選擇。我把同步的腳本放在一個(gè)存儲過程中,
然后在固定的時(shí)間去執(zhí)行這個(gè)存儲過程就OK了。
注意:以下所有的操作都是在sytem用戶下執(zhí)行。采用PL/SQL做的客戶端登陸。
oracle數(shù)據(jù)庫如何啟動(dòng)時(shí)自動(dòng)執(zhí)行定時(shí)任務(wù)job
job定時(shí)任務(wù)需要依托存儲過程。
1、創(chuàng)建存儲過程:create or replace procedure MYPROC as
begin
insert into TEST values(sysdate);
end;
2、創(chuàng)建job
variable job1 number;
begin
dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1');--從今晚12開始運(yùn)行,以后每天運(yùn)行一次
end;
1、創(chuàng)建數(shù)據(jù)庫日志表導(dǎo)出為文本文件的腳本tabout.ctl或tabout.sql
注意:該日志導(dǎo)出后在c:\HttpLog目錄下
tabout.ctl腳本內(nèi)容如下:
SET NEWPAGE NONE
SET HEADING OFF
SET TERM OFF
SET SPACE 0
SET PAGESIZE 0
SET TRIMOUT ON
SET TRIMSPOOL ON
SET LINESIZE 2500
set feedback off
set echo off
SET VERIFY OFF
column v_date new_value filename;
select to_char(sysdate,'yyyymmdd') || '.log' v_date from dual;
spool ..\HttpLog\filename ? ? ? ? ? ?
select id||','||name from orcluser.test;
spool off;
exit;
2、創(chuàng)建調(diào)用該腳本的logout.bat文件
logout.bat內(nèi)容如下:
mkdir ..\HttpLog\
C:\oracle\ora92\bin\sqlplus orcluser/orcl @C:Oracleout.ctl
說明:該bat文件直接在當(dāng)前目錄下創(chuàng)建名為HttpLog的文件夾,以便tabout.ctl腳本輸出的文件存放到該目錄下。其通過調(diào)用Oracle中sqlplus可執(zhí)行文件來執(zhí)行tabout.ctl腳本,所以該文件直接雙擊即可運(yùn)行,無需其他操作。
3、通過windows定時(shí)任務(wù)實(shí)現(xiàn)自動(dòng)定期執(zhí)行
“在控制面板——任務(wù)計(jì)劃——添加任務(wù)計(jì)劃”中建立定期將數(shù)據(jù)庫中日志表數(shù)據(jù)導(dǎo)出為文本格式(如:你可以根據(jù)需求設(shè)置為每天對日志表數(shù)據(jù)進(jìn)行導(dǎo)出)。根據(jù)你當(dāng)前對日志文件路徑的存儲需求,修改上面兩個(gè)腳本中的存儲路徑,在windows定時(shí)任務(wù)直接調(diào)用logout.bat文件執(zhí)行即可。
1. oracle job可用來完成一些后臺數(shù)據(jù)庫定時(shí)任務(wù),支持SQL、PL/SQL等,具體語法可以參考有關(guān)資料,簡單的話可以使用TOAD,PLSQL Developer這種工具。
2. select * from table1 for update; 鎖定此表其它用戶不可以執(zhí)行寫入操作。
3. EM即Enterprise Manager,代替8i中Enterprise Manager Console的一個(gè)BS工具,瀏覽器中訪問,首先要安裝配置正確,服務(wù)開啟,可以用這個(gè)工具完成很多數(shù)據(jù)庫管理維護(hù)的工作,非常強(qiáng)大的工具,
不知道我的回答是否全面,具體的需要你查找手冊仔細(xì)研究的。
DBMS_JOB.SUBMIT(
job OUT BINARY_INTEGER,
what IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE,
interval IN VARCHAR2 DEFAULT 'NULL',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
force IN BOOLEAN DEFAULT FALSE);
what 為需要定時(shí)調(diào)用的 PL/SQL代碼
interval 為下次運(yùn)行作業(yè)的時(shí)間
分享文章:oracle如何定時(shí)任務(wù) oracle設(shè)置定時(shí)任務(wù)
網(wǎng)站鏈接:http://chinadenli.net/article32/hghosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、、網(wǎng)站改版、商城網(wǎng)站、自適應(yīng)網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)