達夢資料庫學習心得

astsy發表於2022-06-09

今天考試中,未找到達夢圖形化管理工具,基本都是用命令列方式來處理,結果在建立job的時候失敗了,特地整理了達夢資料庫命令列方式建立job的步驟。


1.建立DBMS_JOB系統包

呼叫SP_INIT_JOB_SYS建立DBMS_JOB系統包:

SP_INIT_JOB_SYS(1);

建立完成之後,資料庫模式下面多了SYSJOB模式,該模式屬於SYSDBA使用者,SYSJOB模式擁有DBMS_JOB系統包、相關表和檢視。如下圖所示。

達夢資料庫學習心得


2.賦予使用者相關許可權


普通使用者建立JOB需要admin job許可權,呼叫DBMS_JOB系統包需要有執行該包的許可權,使用管理員SYSDBA使用者賦予DMHR使用者該許可權。語句參考如下:


grant admin job to dmhr;

grant execute on dbms_job to dmhr;


3.建立作業


①建立T_TEST表:


create table t_test(

    id int identity(1,1),

    inserttime datetime,

    jobtypevarchar2(30)

 );

②建立儲存過程P_TEST_JOB往該表插入資料:


create or replace procedure p_test_job

as

begin

    insert into t_test(inserttime,jobtype)

     values (sysdate,'DBMS_JOB');

    commit;

end;

③建立JOB號編碼為1001的定時任務,第二天凌晨開始執行,每5分鐘執行一次:


begin

    dbms_job.isubmit(

        job => 1001,

        what => 'p_test_job;',

        next_date => trunc(sysdate)+1,

        "INTERVAL" => 'trunc(sysdate)+1+5/(24*60)');

    commit;

end;

語句執行完成,檢視USER_JOBS檢視可以看到上述步驟建立的JOB。如果JOB正在執行,可以在DBA_JOBS_RUNNING中看到該JOB執行資料。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16850569/viewspace-2899705/,如需轉載,請註明出處,否則將追究法律責任。

相關文章