[20241127]如何知道事务是包含dblink的情况.txt --//工作需要,我需要知道某个事务里面是否涉及dblink,当简单的sql语句包含dblink时,会同步scn,导致产生小量日志。 --//我需要知道某个事务是否涉及dblink,测试看看。 1.环境: SCOTT@book01p> @ver2 ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 21.0.0.0.0 BANNER : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production BANNER_FULL : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 BANNER_LEGACY : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. create public database link "loopback" connect to scott identified by "book" using '127.0.0.1/book01p'; --//没有其他主机,使用loopback地址。 2.测试: --//session 1: SCOTT@book01p> create table deptx as select * from dept; Table created. SCOTT@book01p> select * from deptx@loopback where deptno=20; DEPTNO DNAME LOC ---------- ------------------------------ ------------- 20 RESEARCH DALLAS --//session 2: SYS@book01p> @ trans SYS@book01p> @ pr ============================== SID : 22 SERIAL# : 33275 TRANS_USERNAME : SCOTT PROGRAM : SQLPLUS@CENTTEST (TNS V1-V3) TADDR : 0000000077170488 SES_ADDR : 000000007BC6A1C8 USED_UBLK : 1 USED_UREC : 1 0xFLAG : 421603 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ STATUS : ACTIVE STATUS2 : ACTIVE START_DATE : 2024-11-27 16:30:34 XIDUSN : 1 XIDSLOT : 13 XIDSQN : 1978 XID : 01000D00BA070000 PRV_XID : 0000000000000000 PTX_XID : 0000000000000000 PL/SQL procedure successfully completed. --//0xFLAG = 421603,感觉从这个标识确定是否包含dblink。 --//session 1: SCOTT@book01p> commit; Commit complete. SCOTT@book01p> update deptx set LOC=lower(loc) where deptno=20; 1 row updated. --//session 2: SYS@book01p> @ trans SYS@book01p> @ pr ============================== SID : 22 SERIAL# : 33275 TRANS_USERNAME : SCOTT PROGRAM : SQLPLUS@CENTTEST (TNS V1-V3) TADDR : 0000000077170488 SES_ADDR : 000000007BC6A1C8 USED_UBLK : 1 USED_UREC : 1 0xFLAG : 1E03 STATUS : ACTIVE STATUS2 : ACTIVE START_DATE : 2024-11-27 16:33:58 XIDUSN : 7 XIDSLOT : 8 XIDSQN : 1989 XID : 07000800C5070000 PRV_XID : 0000000000000000 PTX_XID : 0000000000000000 PL/SQL procedure successfully completed. --//0xFLAG = 1E03, 是否前面的42可以作为dblink事务标识。 --//session 1: SCOTT@book01p> select * from deptx@loopback where deptno=20; DEPTNO DNAME LOC ---------- ------------------------------ ------------- 20 RESEARCH dallas --//session 2: SYS@book01p> @ pr ============================== SID : 22 SERIAL# : 33275 TRANS_USERNAME : SCOTT PROGRAM : SQLPLUS@CENTTEST (TNS V1-V3) TADDR : 0000000077170488 SES_ADDR : 000000007BC6A1C8 USED_UBLK : 1 USED_UREC : 1 0xFLAG : 421E03 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ STATUS : ACTIVE STATUS2 : ACTIVE START_DATE : 2024-11-27 16:33:58 XIDUSN : 7 XIDSLOT : 8 XIDSQN : 1989 XID : 07000800C5070000 PRV_XID : 0000000000000000 PTX_XID : 0000000000000000 PL/SQL procedure successfully completed. --//视乎前面42表示dblink事务。 --//简单测试一下,感觉情况就是这样,0xFLAG的前面42标识就是dblink相关事务。 --//有空在11g测试看看。
[20241127]如何知道事务是包含dblink的情况.txt
来源:这里教程网
时间:2026-03-03 20:55:41
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- oracle数据恢复—Oracle数据库文件大小变为0kb怎么恢复数据?
oracle数据恢复—Oracle数据库文件大小变为0kb怎么恢复数据?
26-03-03 - 一万字,浅谈Oracle数据库truncate原理,无备份,如何恢复!
一万字,浅谈Oracle数据库truncate原理,无备份,如何恢复!
26-03-03 - 湖南家具铂金钻奢石餐桌,简约与优雅的完美融合
湖南家具铂金钻奢石餐桌,简约与优雅的完美融合
26-03-03 - 07 Oracle数据库恢复基础解析:从检查点到归档,一步步构建数据安全防线
- 湖南家具大黑牛沙发,舒适与品质的完美邂逅
湖南家具大黑牛沙发,舒适与品质的完美邂逅
26-03-03 - 实战分享:如何在HP-UX上高效扩容Oracle 12c RAC ASM磁盘
- 湖南家具沙丘床,塑造精妙绝伦的卧室空间格调
湖南家具沙丘床,塑造精妙绝伦的卧室空间格调
26-03-03 - Oralce数据库巡检SQL脚本
Oralce数据库巡检SQL脚本
26-03-03 - 从CAB到PAB Oracle的AI 23.6(之一)
从CAB到PAB Oracle的AI 23.6(之一)
26-03-03 - 数据库管理-第257期 有好故事才能讲好故事(20241101)
数据库管理-第257期 有好故事才能讲好故事(20241101)
26-03-03
