深入讲解Sybase ASE XA的分布式事务支持

  • 来源: 赛迪网 作者: 若水   2008-04-28/10:29
  • 在正常情况下,默认的Sybase ASE安装并不支持XA,我们必须从Sybase那里获取DTM License才可以。而且默认的安装SYSAM服务也是不启动的,SYSAM服务是管理Sybase ASE内各种协议的服务。

    注:DTM是Distributed Transaction Management的简称,本文目录中出现的“D:\ASE125”是因为笔者的ASE安装在D:\ASE125目录下。)

    协议的修改是在 D:\ASE125\SYSAM-1_0\licenses\license.dat文件中修改,Sybase安装后,默认内容如下:

     

    INCREMENT ASE_SERVER SYBASE 12.0 permanent 
    uncounted EC44123C6B70  HOSTID=ANY ck=50 SN=GA

    由于这个内容并不完整,所以造成刚安装后,SYSAM服务启动不了。

    为了让SYSAM服务能够正常启动,大家需要做一些简单的修改:

     

    /*在SERVER后的是机器名*/
    SERVER huchangcheng11 ANY 29722
    VENDOR SYBASE D:ASE125SYSAM-1_0inSYBASE.exe
    USE_SERVER
    INCREMENT ASE_SERVER SYBASE 12.0 permanent 
    uncounted EC44123C6B70  HOSTID=huchangcheng11 ck=50 SN=GA

    为了能够增加DTM协议的支持,还必须增加下面的内容(注:下面仅是示例,并不具有可执行性,具体的协议号需要Sybase服务提供):

     

    INCREMENT ASE_SERVER SYBASE 12.0 PERMANENT 1 
    EBB8DAACC019 SN=910589-1 OVERDRAFT=10000 ck=0

    在我们修改完协议后,重新启动数据库服务就可以了。在 D:\ASE125\ASE-12_5\install\ase125.log (注:具体的log文件名称于所建的数据库名有关系)日志文件中,查看信息,如果有下面的信息,则表示DTM服务启动成功。

     

    00:00000:00000:2006/09/26 15:37:25.45 kernel 
    Use license file d:\ASE125\SYSAM-1_0\licenses\license.dat.
    00:00000:00000:2006/09/26 15:37:25.45 kernel 
    Feature ASE_SERVER is over drafted 1 times.
    00:00000:00000:2006/09/26 15:37:25.45 kernel 
    Checked out license ASE_SERVER
    00:00000:00000:2006/09/26 15:37:25.48 kernel 
    Adaptive Server Enterprise Edition
    00:00000:00000:2006/09/26 15:37:25.64 kernel 
    Using config area from primary master device.
    00:00000:00000:2006/09/26 15:37:25.69 kernel 
    Warning: Using default file 'd:\ASE125\ase125.cfg' 
    since a configuration file was not specified. Specify 
    a configuration file name in the RUNSERVER file to avoid this message.
    00:00000:00000:2006/09/26 15:37:25.71 kernel 
    Checked out license ASE_DTM
    00:00000:00000:2006/09/26 15:37:25.90 kernel 
    Using 100000 file descriptors.
    00:00000:00000:2006/09/26 15:37:25.95 kernel 
    Adaptive Server Enterprise/12.5.1/EBF 
    11428/P/NT (IX86)/OS 4.0/ase1251/1823/32-bit/OPT/Wed 
    Sep 17 11:10:54 2003
    00:00000:00000:2006/09/26 15:37:25.95 kernel 
    Confidential property of Sybase, Inc.
    00:00000:00000:2006/09/26 15:37:25.95 kernel 
    Copyright 1987, 2003
    00:00000:00000:2006/09/26 15:37:25.95 kernel 
    Sybase, Inc. All rights reserved.

    假如你在启动日志中可以清楚地看到“Checked out license ASE_DTM”,则表示DTM服务已经启动正常。 仅仅启动ASE_DTM服务的情况,依然不能获取XA事务支持的,必须给Login帐号设置dtm_tm_role角色才可以。这个不难,在Sybase Central中,选择ASE Server下的roles菜单,最后为dtm_tm_role角色设置Logins属性。

    #p#分页标题#e#

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多