[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 ;

posted @   lfree  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示