欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Oracle事件驅(qū)動的調(diào)度作業(yè)

Oracle調(diào)度作業(yè)最常見的用法是基于時間的調(diào)度,設置特定的時間調(diào)度規(guī)則,依據(jù)規(guī)則在特定的時間點觸發(fā)作業(yè)程序執(zhí)行,大部分的作業(yè)都是這種類型。除此之外,還可以搭建基于事件的調(diào)度作業(yè),就是依據(jù)特定的事件來觸發(fā)調(diào)度作業(yè)的執(zhí)行?;谑录?qū)動的調(diào)度作業(yè)是運用Oracle消息隊列機制來實現(xiàn)的,以下例子給出具體的用法。

創(chuàng)新互聯(lián)建站服務項目包括封丘網(wǎng)站建設、封丘網(wǎng)站制作、封丘網(wǎng)頁制作以及封丘網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,封丘網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到封丘省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

 

創(chuàng)建一個用來測試的用戶并授權,要給予創(chuàng)建作業(yè)和管理隊列的權限

conn / as sysdba

create user u1 identified by u1;

grant connect, resource to u1;

grant create job to u1;

grant aq_administrator_role to u1;

 

連接到測試用戶,創(chuàng)建一個用來驗證執(zhí)行結果的表

conn u1/u1

create table t1(c1 varchar2(20), input_time date);

 

定義一個記錄消息信息的類型

create or replace type event_queue_type as object(event_name varchar2(30));

/

 

創(chuàng)建隊列表用于記錄消息,指定表名和消息的類型名

begin

  dbms_aqadm.create_queue_table(queue_table        => 'event_queue_table',

                                queue_payload_type => 'event_queue_type',

                                multiple_consumers => true);

end;

/

 

創(chuàng)建消息隊列,指定隊列名和隊列表

begin

  dbms_aqadm.create_queue(queue_name  => 'event_queue',

                          queue_table => 'event_queue_table');

end;

/

 

啟動隊列

begin

  dbms_aqadm.start_queue(queue_name => 'event_queue');

end;

/

 

查看隊列信息

col queue_table for a30

col user_comment for a30

select name, queue_table, qid, queue_type, enqueue_enabled, dequeue_enabled, user_comment from user_queues;

 

NAME                           QUEUE_TABLE                           QID QUEUE_TYPE           ENQUEUE_ENABLED DEQUEUE_ENABLED USER_COMMENT

------------------------------ ------------------------------ ---------- -------------------- --------------- --------------- ------------------------------

AQ$_EVENT_QUEUE_TABLE_E        EVENT_QUEUE_TABLE                   76605 EXCEPTION_QUEUE        NO              NO            exception queue

EVENT_QUEUE                    EVENT_QUEUE_TABLE                   76606 NORMAL_QUEUE           YES             YES          

 

為了維護隊列,Oracle會創(chuàng)建多個表用于不同的消息存儲,處于性能等多方面的考量,很多這樣的表采用IOT(Index-Organized Table)結構

select table_name, tablespace_name, iot_name, iot_type from user_tables;

 

TABLE_NAME                     TABLESPACE_NAME                IOT_NAME                       IOT_TYPE

------------------------------ ------------------------------ ------------------------------ ------------

T1                             USERS                                                        

EVENT_QUEUE_TABLE              USERS                                                        

AQ$_EVENT_QUEUE_TABLE_S        USERS                                                        

AQ$_EVENT_QUEUE_TABLE_L        USERS                                                        

SYS_IOT_OVER_76597             USERS                          AQ$_EVENT_QUEUE_TABLE_G        IOT_OVERFLOW

AQ$_EVENT_QUEUE_TABLE_T                                                                      IOT

AQ$_EVENT_QUEUE_TABLE_H                                                                      IOT

AQ$_EVENT_QUEUE_TABLE_I                                                                      IOT

AQ$_EVENT_QUEUE_TABLE_G                                                                      IOT

 

創(chuàng)建調(diào)度作業(yè),指定執(zhí)行的動作、觸發(fā)作業(yè)的事件

begin

  dbms_scheduler.create_job(job_name        => 'event_based_job',

                            job_type        => 'plsql_block',

                            job_action      => 'insert into t1 values(''test'', sysdate);commit;',

                            start_date      => systimestamp,

                            event_condition => 'tab.user_data.event_name = ''test_event''',

                            queue_spec      => 'event_queue',

                            enabled         => true);

end;

/

 

執(zhí)行以下PL/SQL塊,向隊列中傳遞消息

declare

  my_enqueue_options   dbms_aq.enqueue_options_t;

  my_message_propertiesdbms_aq.message_properties_t;

  my_message_handle     raw(16);

  my_queue_msg          event_queue_type;

begin

  my_queue_msg := event_queue_type('test_event');

  dbms_aq.enqueue(queue_name         => 'event_queue',

                  enqueue_options    => my_enqueue_options,

                  message_properties => my_message_properties,

                  payload            => my_queue_msg,

                  msgid              => my_message_handle);

  commit;

end;

/

 

驗證調(diào)度作業(yè)執(zhí)行結果,測試表中已經(jīng)插入了數(shù)據(jù)

select * from t1;

 

C1                   INPUT_TIME

-------------------- -------------------

test                 2018-02-07 13:12:00

 

查詢調(diào)度作業(yè)執(zhí)行歷史

conn / as sysdba

col owner for a10

col job_name for a20

col status for a10

col run_duration for a20

select *

  from (select owner,

               job_name,

               status,

               to_char(actual_start_date, 'yyyy-mm-dd hh34:mi:ss') actual_start_date,

               run_duration

          from dba_scheduler_job_run_details

         where job_name = 'EVENT_BASED_JOB'

         order by actual_start_date desc)

 where rownum < 10;

 

OWNER      JOB_NAME             STATUS     ACTUAL_START_DATE   RUN_DURATION

---------- -------------------- ---------- ------------------- --------------------

U1         EVENT_BASED_JOB      SUCCEEDED  2018-02-07 13:12:00 +000 00:00:00

 

實驗完畢刪除測試用戶及其所有對象

conn / as sysdba

drop user u1 cascade;

分享文章:Oracle事件驅(qū)動的調(diào)度作業(yè)
本文路徑:http://chinadenli.net/article22/gdoojc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、自適應網(wǎng)站、建站公司、Google、品牌網(wǎng)站設計企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
一区二区三区亚洲国产| 国产一级内片内射免费看| 年轻女房东2中文字幕| 久久人人爽人人爽大片av| 日本亚洲精品在线观看| 国产av精品一区二区| 黄色片一区二区在线观看| 欧洲偷拍视频中文字幕| 亚洲精品中文字幕一二三| 日本高清加勒比免费在线| 丝袜美女诱惑在线观看| 中文字幕一区二区久久综合| 日韩精品福利在线观看| 黄色美女日本的美女日人| 久七久精品视频黄色的| 好吊色欧美一区二区三区顽频| 日本美国三级黄色aa| 国产精品午夜福利在线观看| 久久人人爽人人爽大片av| 欧美日韩精品一区免费| 人体偷拍一区二区三区| 久久re6热在线视频| 欧美日韩精品人妻二区三区| 国产高清在线不卡一区| 欧美激情一区=区三区| 欧美性高清一区二区三区视频| 精品综合欧美一区二区三区| 国产一区二区三区免费福利| 内用黄老外示儒术出处| 99久久婷婷国产亚洲综合精品| 欧美激情区一区二区三区| 日本久久精品在线观看| 日本不卡在线视频你懂的| 不卡视频在线一区二区三区| 欧美日韩国产一级91| 久久国产精品热爱视频| 中文字幕亚洲视频一区二区| 国产精品制服丝袜美腿丝袜| 九九热这里只有免费精品| 国产又猛又黄又粗又爽无遮挡| 国产一区麻豆水好多高潮|