• [20190531]建立job与commit.txt


    [20190531]建立job与commit.txt

    --//昨天看链接:https://connor-mcdonald.com/2019/05/28/dbms_job-the-joy-of-transactions/
    --//我个人并不关心升级到19c后废除DBMS_JOB包使用新的Scheduler,不过对建立job与提交有了新的理解。
    --//为什么建立job后,随手做一个提交。

    1.环境:
    SCOTT@test01p> @ ver1
    PORT_STRING          VERSION    BANNER                                                                       CON_ID
    -------------------- ---------- ---------------------------------------------------------------------------- ------
    IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production      0

    2.测试:
    declare
      j int;
    begin
      dbms_job.submit(j,'begin null; end;',sysdate,'sysdate+1');
    end;
    /

    SCOTT@test01p> select job, what c40 from user_jobs;
    JOB C40
    --- ----------------------------------------
      1 begin null; end;

    SCOTT@test01p> @ xid
    XIDUSN_XIDSLOT_XIDSQN
    ------------------------------
    3.2.984
    --//可以发现本会话有事务没有提交.

    SCOTT@test01p> select job_name, job_action from user_scheduler_jobs;
    no rows selected

    SCOTT@test01p> rollback;
    Rollback complete.

    SCOTT@test01p> @ xid
    XIDUSN_XIDSLOT_XIDSQN
    ------------------------------

    no rows selected

    SCOTT@test01p> select job, what c40 from user_jobs;
    no rows selected

    --//也就是你没有提交,这个job永远不会执行.以前一直不理解为什么,原来原因如此简单.

    3.xid脚本:
    $ cat xid.sql
    column XIDUSN_XIDSLOT_XIDSQN format a30
    select dbms_transaction.local_transaction_id()  XIDUSN_XIDSLOT_XIDSQN from dual ;

  • 相关阅读:
    Java学习小记 16
    Java学习小记 15
    Java学习小记 14
    Java学习小记 13
    Java学习小记 12
    Java学习小记 11
    Java学习小记 10
    MySql 5.0 以上版本的varchar和text数据类型可以存的汉字个数
    java获取当前上一周、上一月、上一年的时间
    ArtifactsFilter ClassNotFoundException
  • 原文地址:https://www.cnblogs.com/lfree/p/10953245.html
Copyright © 2020-2023  润新知