2006-12-1 19:13
大漠孤星
TUXEDO tlog讨论
<P>tuxedo和数据库通过TMS交互,处理事务。</P>
<P>就tuxedo本身来讲,完全依靠TLOG完成事务。</P>
<P>我记得我看了online doc ,TLOG的使用应该是用完就清除内容,就是说,一般情况下它不会撑满。</P>
<P>现在我在思考的是,什么时候它会被撑满而造成事务提交失败呢?</P>
2006-12-7 13:03
大漠孤星
Tuxedo中的XA使用的是两阶段提交协议。如果一个client同时连接两个数据库,那么当client调用tpcommit()提交事务时,tuxedo会在两个数据库之间进行协调。TMS会在提交的第一阶段发送prepare请求给每一个数据库,让数据库预先提交自己的事务。当TMS收到所有DB的成功应答后,TMS会使用TLOG记录全局事务的信息,如果有一个DB prepare失败,那么整个全局事务被回滚。当所有的DB的prepare成功后,TMS会再发送commit请求给所有的DB,让DB真正提交事务。如果此时DB不能完成的话,TMS会根据TLOG中的信息来进行重试,或者可以进行人为干预。当全局事务成功提交或回滚后,TLOG就被清除了。所以如果系统中的大量事务都能成功做完第一阶段而不能完成第二阶段的话,TLOG会被大量占用不能被及时回收。当然如果TLOGSIZE配置太小而系统中的并发事务量很大时也会出问题。
2006-12-9 00:26
闲云
前天,被tuxedo折腾得郁闷。:L
这个月要考N门试,等考完了,继续研究tuxedo
2006-12-9 09:44
有有
考啥试阿。。
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.