دیتابیس اوراکل

دیتابیس اوراکل
طبقه بندی موضوعی

DBMS_JOB in Oracle DB 19c

 

اوراکل از نسخه 12cR2 اعلام کرد که پکیج DBMS_JOB، منسوخ (deprecateشده است. و در نسخه 19c با تبدیل هر DBMS_JOB ایجاد شده به یک جاب DBMS_SCHEDULER، یک گام هم در جهت منسوخ کردن این پکیج جلوتر رفته است.

در زیر مثالی در رابطه با این موضوع آورده شده است:

SQL> conn raheleh

SQL> select job, what from user_jobs;

no rows selected

 

SQL> select job_name, job_action from user_scheduler_jobs;

no rows selected

 

 

SQL>

CREATE TABLE raheleh.tbl1

(

    id      NUMBER,

    name    VARCHAR2 (30)

);

 

 

SQL> INSERT INTO tbl1

(SELECT user_id, username FROM dba_users)

COMMIT;

 

 

SQL>

CREATE OR REPLACE PROCEDURE raheleh.prc_dbmsjob (username IN VARCHAR2)

IS

    userid   NUMBER;

BEGIN

    SELECT id

      INTO userid

      FROM raheleh.tbl1

     WHERE name = username;

END;

 

 

SQL>

DECLARE

    job1   PLS_INTEGER;

BEGIN

    DBMS_JOB.submit (job         => job1,

                                       what        => 'begin raheleh.prc_dbmsjob (''SYSTEM''); end;',

                                       next_date   => TRUNC (SYSDATE) + 1,

                                       interval    => 'trunc(sysdate)+1');

END;

COMMIT;

 

 

SQL> select job, what from user_jobs;

 

       JOB  WHAT

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

        22  begin raheleh.prc_dbmsjob ('SYSTEM'); end;

 

 

 

SQL> select job_name, job_action from user_scheduler_jobs;

 

JOB_NAME                       JOB_ACTION

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

DBMS_JOB$_22               begin raheleh.prc_dbmsjob ('SYSTEM'); end;

 

 

همانطور که در مثال بالا مشاهده کردید، وقتی یک جاب با DBMS_JOB ایجاد کردیم، اوراکل به صورت اتومات، معادل همان جاب ، یک جاب هم با DBMS_SCHEDULER ایجاد کرد که نام آن با DBMS_JOB$_* شروع میشود.

 

 

  • راهله شاکری

19c

19c new features

dbms_job

dbms_scheduler

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی