當前位置:首頁 » 存儲配置 » oraclejob存儲過程

oraclejob存儲過程

發布時間: 2022-07-28 01:52:30

㈠ 請問oracle怎麼執行存儲過程

我試驗過了,就是exec 存儲過程名或者execute 存儲過程名(參數),請你在仔細確認一下,你的存儲過程名寫沒寫對呀,或者你沒有進入sqlplus中?

----
以上,希望對你能有幫助。

㈡ oracle存儲過程和job調用問題

通常像這種自動任務的腳本都需要記錄日誌,記錄每次運行的狀態情況,方便問題跟蹤,有沒有問題是過程腳本問題還是自動任務問題,查看日誌一下子就可以定位。

㈢ oracle job 存儲過程實例

CREATE OR REPLACE PROCEDURE insert_Log_into_user_stat IS
BEGIN
INSERT INTO idc_user_day_stat
(userdayId,
userid,
flag,
packetcount,
getcount,
days,
createtime)
SELECT
seq_idc_userdayid.nextval,
bb.userid,
0,
b.packetcount,
b.getcount,
substr(b.runtime,0,8),
SYSDATE
FROM idc_get_log b INNER JOIN idc_ip bb ON b.ip=bb.ip
where not exists (select 1
FROM idc_user_day_stat c
WHERE c.userid = bb.userid);
commit;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURN;

END;

㈣ oracle job 調用存儲過程 what ()過程怎麼寫(急用~)

直接寫過程名即可
如:
P_MY_PROC_D ();
就可以了,要加上分號 ;

㈤ 關於Oracle job調用存儲過程

你的這個job不對,應該是下面這樣。
declare job1 number;
begin
dbms_job.submit(job1,'insertSysdate;',sysdate,'sysdate+1/1440');
COMMIT;
end;
/

㈥ 想請教一下如何用oracle 中JOB實現定時存儲過程。

如果是10g的話就用scheler來代替job吧,比job穩定多了。

先解釋一下基礎概念,scheler 包含了以下幾個實體對象
Program -- 提供了scheler 將要運行什麼,包含program name,program type(PLSQL塊、存儲過程、外部程序),program action(具體的程序實體,比如說一個PLSQL塊、或者是存儲過程的名稱、或者是外部程序的路徑加名稱) 。

Scheles -- 指定何時何種頻率來運行job,可以被不同的job重復的利用。比如說我有兩個job都要求在每天的凌晨4點運行,那麼兩個job可以同時指定相同的schele。

Jobs -- 具體的作業的名稱,依賴於那個program、schele。也可以不指定program、schele,而直接寫入program、schele的相應參數。

Chains -- 把一組program像一個單獨的實體連接在一起,作為一個對象。Job可以指向Chains代替單一的program 。這樣就能完成類似如下功能:運行A,然後運行B,當A、B都運行成功則運行C,否則運行D。

下面參考文檔邊看邊做。

1.創建一張表 create table scheler_test(id number,instime date);

2.創建一個存儲過程,實現往表中插入資料。

create or replace procere p_insSysdate as
id number;
begin
select count(*) into id from scheler_test;
insert into scheler_test values(id,sysdate);
commit;
end;
/
3.創建一個schele,這個僅僅是一個時間上的安排,由DBMS_SCHEDULER.CREATE_JOB調用。這樣就可以重用schele,並且schele在時間的安排上強大與原先的JOB 。語法如下:

BEGIN
SYS.DBMS_SCHEDULER.CREATE_SCHEDULE
(
schele_name => 'SCOTT.EVERY_MINUTE'
,start_date => NULL
,repeat_interval => 'FREQ=MINUTELY'
,end_date => NULL
,comments => NULL
);
END;
/

以下給出部分repeat_interval的寫法實例,以供參考
EVERY DAY 'FREQ=DAILY;INTERVAL=1'
EVERY MINUTE 'FREQ=MINUTELY;INTERVAL=1'
EVERY 4 HOURS ON THE HOUR 'FREQ=HOURLY;INTERVAL=4;BYMINUTE=0;BYSECOND=0'
1st DAY OF EVERY MONTH 'FREQ=DAILY;BYMONTHDAY=1'
WEEKDAYS AT 7am and 3pm 'FREQ=DAILY; BYDAY=MON,TUE,WED,THU,FRI; BYHOUR=7,15; BYMINUTE=0;BYSECOND=0'

4.創建DBMS_SCHEDULER.CREATE_PROGRAM,指定運行什麼樣的程序。

BEGIN
SYS.DBMS_SCHEDULER.CREATE_PROGRAM
(
program_name => 'SCOTT.PRG_INSSYSDATE'
,program_type => 'STORED_PROCEDURE'
,program_action => 'p_insSysdate'
,number_of_arguments => 0
,enabled => TRUE
,comments => NULL
);
END;
/

㈦ oracle 通過job數據備份的存儲過程誰幫忙講解一下都什麼意思。

CREATE OR REPLACE PROCEDURE P_BACKUP_SQL AS -- 創建存儲過程
V_INPUT VARCHAR2(32767); --說明:這三行BEGIN前的是聲明變數
V_OUTPUT VARCHAR2(32767);
V_OUT NUMBER;
BEGIN --將命令腳本保存到V_INPUT變數中
V_INPUT := 'RUN -- 運行。。
{ -- 下面三行是分配通道,類型是磁碟(如果是磁帶則為type tape,format後是格式)
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
ALLOCATE CHANNEL C2 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
ALLOCATE CHANNEL C3 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
BACKUP DATABASE; --備份資料庫
}'; --腳本結束,以上內容保存在V_INPUT變數中
DBMS_PIPE.PACK_MESSAGE(V_INPUT); -- 調用DBMS_PIPE包管道通信,將V_INPUT中命令壓入管道消息(隊列)中
V_OUT := DBMS_PIPE.SEND_MESSAGE('ORA$RMAN_PJOB_IN'); --調用SEND_MESSAGE的ORA$RMAN_PJOB_IN是變數,將剛壓入的傳送給管道並執行ORA$RMAN_PJOB_IN中變數,消息傳送的結果保存到V_OUT變數中
COMMIT;
V_OUT := 0; -- V_OUT變數賦值為0

WHILE (V_OUT = 0) LOOP -- 當V_OUT為0時執行循環
V_OUT := DBMS_PIPE.RECEIVE_MESSAGE('ORA$RMAN_PJOB_OUT', 3600); -- 接收管道命令的消息,接收結果保存到V_OUT中
IF V_OUT = 0 THEN
DBMS_PIPE.UNPACK_MESSAGE(V_OUTPUT); -- 釋放管道命令的消息,結果保存到V_OUTPUT
INSERT INTO BACKUP_LOG (END_DATE, OUTPUT_LOG) VALUES (SYSDATE, SUBSTRB(V_OUTPUT, 1, 4000)); -- 將管道命令結果保存到BACKUP_LOG表中
END IF;
END LOOP;
COMMIT;
END;

㈧ oracle資料庫job怎麼調用含參數的存儲過程

dbms_job.submit(test_job_really,'test_jobproce("zhangsan");',sysdate,'sysdate+1/1440');

改為:
dbms_job.submit(test_job_really,'test_jobproce(''zhangsan'');',sysdate,'sysdate+1/1440');

注意:zhangsan的兩邊,不是雙引號,是兩個單引號!

如有幫助,請採納!

㈨ oracle資料庫job怎麼調用含參數的存儲過程

lz你好,job調用的存儲過程不能是帶參數的,只能是無參數的存儲過程,所以what那裡不對的哦。

㈩ oracle job執行存儲過程問題。

把你的存儲過程重新編譯一遍

熱點內容
fpga編程語言 發布:2024-10-06 10:29:24 瀏覽:341
python按時間排序 發布:2024-10-06 10:02:50 瀏覽:214
安卓收款機下載什麼應用能收款 發布:2024-10-06 09:38:29 瀏覽:1000
java初級工程師面試題 發布:2024-10-06 09:37:49 瀏覽:217
知鳥在哪裡修改密碼 發布:2024-10-06 09:37:10 瀏覽:303
怎麼更改微信錢包密碼 發布:2024-10-06 09:28:08 瀏覽:549
控制中心不支持配置怎麼辦 發布:2024-10-06 09:16:39 瀏覽:811
地暖存儲罐 發布:2024-10-06 09:10:19 瀏覽:580
搭建模型伺服器 發布:2024-10-06 09:05:23 瀏覽:845
java使用類 發布:2024-10-06 09:05:22 瀏覽:931