XA transaction ,JTA , two phase commit , GTX0-j
本文主要是对以前一直迷惑的几个名字的学习。
xa transaction 简单查了一下,大概就是 distributed transaction。 相比传统的transaction而言,传统的transaction 一般只发生在一个数据库中。而 xa transaction 可能需要发生在多个数据库或者其它资源中。比如说在某个业务环境下,一个transaction 需要往一个oracle数据库插入一条记录,需要往mysql插入一条记录,需要在MQ中写一条信息,需要往ldap中写一个信息, 只有这四部都完成了,才能说一个transaction成功了。这种情况下一般需要一个程序,比如J2EE服务器坐中间协调,如果是java环境,则该协调者通过JTA协议来协调各个资源。在transaction开始之后,所有的transaction参与者,包括oracle, mysql,mq,ldap等都试着在自己内commit一次,如果全部成功,那么协调者认为该transaction成功,所以该协调者就会进行最终commit。否则的话,认为该transaction失败,则协调者要求所有的数据库及MQ ldap回滚。 这两部提交的过程就叫做two phase commit. 而对于GTX0-j ,我是在看oracle rac官方文档的时候看到了下面这句话
The GTX0-j process provides transparent support for XA global transactions in an
Oracle RAC environment. The
所以如果该进程是子好吃XA transaction的,那么单实例的oracle db应该也有这种进程。可是这时的该进程是该哪个呢。
XA transaction ,JTA , two phase commit , GTX0-j的更多相关文章
- python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)
今天在尝试用下面的python代码对MySQL进行数据的插入.更新和删除时, 突然发现代码执行成功, 通过代码查询也显示数据已经插入或更新, 但是当我在MySQL客户端通过SQL语句查询时, 数据库中 ...
- 【Git版本控制】为什么要先commit,然后pull,最后再push?而不是commit然后直接push?
情况是这样的,现在远程有一个仓库,分支就一个,是master.然后我本地的仓库是从远程的master上clone下来的.大家都是clone下来,再在自己本地改好,再commit然后pull然后push ...
- git 为什么要先commit,然后pull,最后再push?而不是commit然后直接push?
情况是这样的,现在远程有一个仓库,分支就一个,是master.然后我本地的仓库是从远程的master上clone下来的.大家都是clone下来,再在自己本地改好,再commit然后pull然后push ...
- mysql之commit,transaction事物控制
简单来说,transaction就是用来恢复为以前的数据. 举个例子,我想把今天输入到数据库里的数据在晚上的时候全部删除,那么我们就可以在今天早上的时候开始transaction事物,令autocom ...
- 当网络中断的时候,JTA全局事务管理,究竟会不会回滚???
前言:有人问了我一个问题,就是说在网络中断的时候,JTA的全局事务管理,会不会回滚?当时说会回滚,但没给对方说清楚理由,也不太认同我的观点.现在总结一下. 今天一天都在看文档(也查了一些博客和网站), ...
- [Git] 还原Git上commit,但是没有push代码
直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...
- hg (Mercurial)multiple heads (hg 多头)、撤销 commit,并保留修改
有时候 commit 后才意识到还未 pull,这个时候会有如下提示: wlan-0-182:mobile-v2 lixiumei$ hg pull -upulling from ssh://hg@b ...
- git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案
一个麻烦点就是,我需要阅读一个大点的开源项目,远程仓库的代码量太庞大了,如果我需要git reset --hard [commit sha1]感兴趣的commit快照,就首先得git clone整个远 ...
随机推荐
- 数据返回(数据共享,即从后端返回到前端调用,四种(requesst、ModelAndView、Model、Map))
@Controller @RequestMapping("/view")//请求父路径 public class GoodsController { @RequestMapping ...
- Linux命令(007) -- systemctl
systemctl命令是系统服务管理指令,它实际上是将service和chkconfig两个命令组合到一起. 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd ...
- ora-20000 unable to analyze
ora-20000 unable to analyze 无法分析表 check: select * from wmsprdata.cmp3$88278表不存在. result:应该是系统自动任务2:0 ...
- Spark学习笔记1:Application,Driver,Job,Task,Stage理解
看了spark的原始论文和相关资料,对spark中的一些经常用到的术语做了一些梳理,记录下. 1,Application application(应用)其实就是用spark-submit提交的程序.比 ...
- java 选择排序与冒泡排序
选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ 选择排序 这一种简单的排序方法,它的基本思想是:R[n]第一次从R[0]~ ...
- 6.12---esultMap查询所有
- ubuntu下查看服务器的CPU详细情况
https://www.cnblogs.com/liuq/p/5623565.html 全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况 ubuntu下查看服务器的 ...
- MySql 1248 - Every derived table must have its own alias
执行一个sql语句,报错:1248 - Every derived table must have its own alias 提示说每一个衍生出来的表,必须要有自己的别名 执行子查询的时候,外层查询 ...
- npm换淘宝源 yarn换淘宝源
查询初始的源 npm get registry > https://registry.npmjs.org/ 设置淘宝源 npm config set registry http://regist ...
- (转) 淘淘商城系列——Redis五种数据类型介绍
http://blog.csdn.net/yerenyuan_pku/article/details/72855562 Redis支持五种数据类型:string(字符串),hash(哈希),list( ...