Tmax Management

This chapter introduces Tmax management tools provided for efficient management of Tmax.

1. Overview

After the Tmax system has been fully configured and is running, the administrator will need access to the management functions to dynamically modify the configuration of the system or add servers/services. The Tmax management application also enables the administrator to monitor services, including their processing state, processing count, average processing time, queuing count, and expected waiting time. Using this information, the administrator will be able to decide when to load additional server processes or terminate excess processes.

The Tmax management program, tmadmin, is used to dynamically manage the Tmax system while it is running. Administrators can dynamically manage the system by using tmadmin and command interpreter.

2. tmadmin

The Tmax management program, tmadmin, is a command interpreter similar to the UNIX command line. The program waits for an input command and interprets and executes the command. In a system comprised of multiple nodes in a domain, tmadmin enables centralized management of the entire domain from a single node, or localized management from each node.

  • Usage

    $ tmadmin [-l] [-s|m] [-h] [-f [Config File]] [-n [Node Name]]
              [-v] [-V] [-p] [-t]
    Option Description

    [-l]

    Option to allow each node to manage its own system in a multi-node system that is managed centrally through racd.

    [-s]

    Option to use read only mode. This option enables users to load up to 10 tmadmin tools, but users will not be able to dynamically modify the system. (Default mode)

    [-m]

    Option to dynamically modify the system in master mode. It is recommended that only one administrator use the master mode. If more than one user modifies the system configuration, fatal system errors can occur. Do not modify the configuration file, instead follow the preset manual.

    [-h]

    Online Help.

    [-f [Config File]]

    Option to specify the name of the configuration binary file. Only needs to be used when the configuration binary does not use the default name (tmconfig).

    [-n [Node Name]]

    Option to monitor the specified node. When used in a multi-node environment, tmadmin only monitors the information on the specified node for convenient system management.

    [-v]

    Option to check the Tmax version number. This option can be used to check the version from any location within the system.

    [-V]

    Option to check the version of the execution file.

    [-p]

    Option to print out the result screen when performing st –p, st –s, si, ci, or cfg command. (more function).

    [ -t ]

    Option to output the start and end times to execute the command. Refer to the following descriptions for detailed information about the option.

    Execute tmadmin with the -t option to output the time in the following format.

    [TIME][Type   ] : hh:MM:ss:millisec
    Type Description

    START

    Output the start time when a command is executed on the console.

    END

    Output the end time when command execution is complete (after executing commands on the remote node).

    R_END

    When a command is executed on the console and the execution on the remote node ends, the end time (not the time on the remote node but the local time where tmadmin was executed) is output.

    RP_START

    If the repeat command of tmadmin is executed, time before starting each execution is output.

    RP_END

    If the repeat command of tmadmin is executed, the end time of each execution is output (after executing commands on the remote node).

Command Execution

In tmadmin, the Tmax system can be started up or shut down through a command, and the administrator can search and modify the configuration of the running system. It can also be used to check the server process state and service processing state.

The tmadmin program is executed with the following command.

$tmadmin

Once executed, a prompt will appear to indicate that tmadmin has been properly started.

--- Welcome to Tmax Admin (Type "quit" to leave) ---
$$1 tmax1 (tmadm):

To terminate tmadmin, use the 'quit' or 'q' command.

$$1 tmax1 (tmadm):quit

The following are commands available in tmadmin.

  • Configuration information commands

    Command Description

    config (cfg)

    Displays environment configuration information.

    configopt (cfgopt)

    Displays current settings that can be modified dynamically among the configured options such as TMMOPT.

    history (hist)

    Displays command history (commands used previously).

    tmaxinfo (ti)

    Displays Tmax system information.

  • Status information commands

    Command Description

    stat (st)

    Provides statistics on process and service states.

    gwinfo

    Checks the channel states of the gateways defined in the GATEWAY section.

    txgwinfo (txgwi)

    Displays Tmax gateway information.

    nontxgwinfo

    Displays Tmax non-transaction gateway information.

    jgwinfo

    Displays JEUS gateway information.

    ajgwinfo

    Displays JEUS async gateway information.

    wsgwinfo

    Displays Web service gateway information.

    smtrc

    Checks the service status using GID.

    clhsinfo

    Checks the connection status between CLHs in a multi node environment.

    tmmsinfo

    Checks the connection status between TMMs in a multi node environment.

    repeat (r)

    Repeats the command.

    clientinfo (ci)

    Displays information about clients connected to the system.

    svrinfo (si)

    Displays server information.

    txquery (txq)

    Displays information about transaction processing.

    rqstat (rqs)

    Displays RQ status, or processes services accumulated in the disk queue.

  • Administrative commands

    Command Description

    suspend (sp)

    Suspends a running server process.

    resume (rs)

    Resumes a suspended server process.

    advertise/unadvertise

    Advertises/unadvertises a name of a particular service.

    restat

    Resets the statistics on a specific server process or all processes.

    rebootsvr (rbs)

    Restarts a server process.

    cfgadd (ca)

    Dynamically adds a service.

    set

    Modifies configuration options dynamically.

    setopt

    Dynamically modifies settings among options defined in the configuration, such as TMMOPT.

    qpurge (qp)

    Deletes tasks that are waiting in the queue.

    discon (ds)

    All clients currently connected are forcibly disconnected from the system.

    logstart / logend

    Starts/ends logging.

    chtrc

    Manages trace activity.

    chlog

    Dynamically changes the log level of TMM, CLH, or a specific server at runtime.

    chlog2

    Dynamically changes the log level at runtime.

    txcommit / txrollback

    Reissues Commit or Rollback to terminate the transaction, if a fault occurs during transaction processing.

    wsgwreload

    Applies or modifies service information of the web service gateway.

    restart

    Restarts the server process.

    notify_reconnect_clh (nrc)

    Connects a specific server process to a specific CLH.

    admnoti (an)

    Sends events to TCS, UCS, and RDP servers.

  • Other commands

    Command Description

    !

    Executes the previous command.

    quit (q)

    Ends tmadmin.

    help (h)

    Displays a list of available options.

    nodeset (ns)

    Sets to get information only about a specific node.

    nodeunset (nus)

    Releases the setting of getting information only about a specific node.

    tmd

    Starts a virtual client emulator used to check service validity without creating a client program.

3. Configuration Information Commands

3.1. tmaxinfo (ti)

Displays Tmax system configuration information.

  • Usage

    $$1 tmax1 (tmadm): ti
  • Example

    Displays information about the Tmax system, including the system version and the maximum allowed number of concurrent users (maxuser).

    $$1 tmax8 (tmadm): ti
    
    Tmax System Info: REAL version 6.0:
    
             maxuser = UNLIMITED,
             Supported maximum user per node = 16076,
             Supported maximum user per handler = 16077,
             domaincount = 1,
             nodecount = 1,
             svgrpcount = 1,
             svrcount = 1, svccount = 1
             rout_groupcount = 0, rout_elemcount = 0
             cousin_groupcount = 0, cousin_elemcount = 0
             backup_groupcount = 0, backup_elemcount = 0
    
    Tmax All Node Info: nodecount = 1:
    ------------------------------------------------------------------
      no   name     portno  racport  shmkey  shmsize  minclh  maxclh
    ------------------------------------------------------------------
       0   tmax8      7789   3378    87789   755872       1      3

3.2. history (hist)

Displays a list of the previously executed commands.

  • Usage

    $$1 tmax1 (tmadm): history
  • Example

    The following is an example of using the command.

    $$15 tmax1 (tmadm): history
    5 :  si
    4 :  txq
    3 :  ci
    2 :  st  -p
    1 :  st  -s
    0 :  ci

    Enter "!" at the command line to repeat the previous command. Any of the previously entered commands can also be repeated by entering “!” and the number of the command in the history list.

    $$1 tmax1 (tmadm): !5
    si
    ----------------------------------------------------------------
    clh    svri     status    count    qcount     qpcount    emcount
    ----------------------------------------------------------------
    0        0        RDY         2         0            0           0
    0        1        RDY         0         0            0           0
    0        2        RDY         0         0            0           0
    0        3        RDY        45         0            0           0

3.3. config (cfg)

Displays system configuration information. It enables users to check the configuration information, including the default value, of the domain, node, server group, server, and service. For details about the information accessed through this command, refer to Environment Configuration.

  • Usage

    $$1 tmax1 (tmadm): config (cfg) [-d] [-n] [-g[server_group_name]]
                                    [-v[service_name]] [-s [service_name] [-x]]
                                    [-w [gateway_name]] [-r] [-b] [-f] [-pr]
    Option Description

    [-d]

    Option to display information about domain configuration. Displays all items in the DOMAIN section and all information on the domain.

    [-n]

    Option to display node settings. Displays all items in the NODE section and node settings defined on the system.

    [-g [server_group_name]]

    Option to display server group settings. If the server group name is specified, only information about the server group is displayed, otherwise information about all server groups is displayed. All items related to the SVRGROUP section can be displayed for each server group.

    [-v [service_name]]

    Option to display server settings. If a server name is specified, only information about the server is displayed, otherwise information about all servers is displayed. For each server, all items related to the SERVER section, server numbers(svr_no), and data dependent routing information (DDRI) are displayed.

    [-s [service_name] [-x]]

    Option to display service settings. If a service name is specified, only information about the service is displayed, otherwise information about all services is displayed. For each service, all items related to the SERVICE section is displayed.

    Using the [-x] option displays txtime information.

    [-w [gateway_name]]

    Option to display gateway settings. If a gateway name is specified, only information about the gateway is displayed, otherwise information about all gateways is displayed.

    [-r]

    Option to display routing settings.

    [-b]

    Option to display backup settings.

    [-f]

    Option to display TopEnd function information.

    [-pr]

    Option to display TopEnd product information.

  • Example

    • Domain settings (-d)

      The following is an example of checking the domain settings.

      $$1 tmax8 (tmadm): cfg -d
          domain_name = tmax1,
               shmkey = 79190,
               minclh = 1,
               maxclh = 3,
               maxuser = UNLIMITED,
               portno(portno) = 7789,
               racport = 3333,
               cmtret = YES,
               blocktime(bt) = 30.000,
               txtime(tt) = 0.000,
               nliveinq(ni) = 30,
               security = NONE,
               cpc = 1,
               maxfunc = 0,
               clichkint(clichkint) = 0,
               idletime(idletime) = 0,
               node_count = 1,
               svg_count = 6,
               svr_count = 14,
               cousin_count = 0,
               cousin_gcount = 0,
               backup_count = 0,
               backup_gcount = 0,
               rout_count = 0,
               rout_gcount = 0,
               maxsacall = 8,
               maxcacall = 16,
               nclhchktime(nclhchktime) = -1,
               txpendingtime(txpendingtime) = 0,
               maxconv_node = 16,
               maxconv_server = 8,
               maxnode = 32,
               maxsvg = 32,
               maxspr = 64,
               maxsvr = 64,
               maxsvc = 512,
               maxcpc = 150,
               maxtms = 32,
               maxrout = 16,
               maxroutsvg = 32,
               maxrq = 2,
               maxgw = 2,
               maxcousin = 16,
               maxcousinsvg = 32,
               maxbackup = 16,
               maxbackupsvg = 32,
               maxtotalsvg = 64,
               maxprod = 0,
               tipsvc = ,
               crypt = NO,
               maxthread = 128,
               tmmloglvl = DETAIL,
               clhloglvl = DETAIL,
               tlmloglvl = DETAIL,
               casloglvl = DETAIL,
               rsloglvl = DETAIL,
               sqloglvl = DETAIL,
               tgloglvl = DETAIL,
               tmsloglvl = DETAIL,
               hmsloglvl = DETAIL,
               rqloglvl = DETAIL,
               gwloglvl = DETAIL,
               cllloglvl = DETAIL,
               loglvl = DETAIL,
               cllblock = NO,
               tdl = NO,
               maxconvn = 16,
               maxconvs = 8,
               domainid = 0,
               fdlversion = 1,
               tgshmsize = 0
               tgmax = -1
               tgmax_child = -1
               tgmax_watcher = -1
               tgheartbeat = 0
               tgtimeout = 0
               tg_mcast_ip = 224.0.0.100,
               tg_portno = 9999,
               tghistorycount = 50
               tgstandbycount = 50
               tgmaxbuffersize = 65000
               tgdownwaittime = 30

      After the command, cfg -d, is executed, the following items are displayed.

      Item Description

      nodecount

      Number of nodes in the domain

      svgcount

      Number of server groups

      cousin_gcount

      Number of groups with COUSIN defined (number of replicated server groups for load balancing)

      cousin_count

      Number of all replicated server groups

      rout_count

      Number of routing objects defined in the ROUTING section

      relem_count

      Number of routing units for each range, which is defined in the range item of each routing object

    • All nodes settings (-n)

      The following is an example of checking all node settings.

      $$1 tmax8 (tmadm): cfg -n
          node_name = tmax8, hostname = tmax8, node_no = 0
               load = 0,
               shmkey = 79190,
               minclh = 1,
               maxclh = 3,
               maxuser = UNLIMITED,
               Supported maximum user per node = 15931,
               Supported maximum user per handler = 15932,
               clhqtimeout(cqt) = 0,
               portno(portno) = 7789,
               racport = 3333,
               tmaxhome = /data/tmaxha/tmax/,
               tmaxdir = /data/tmaxha/tmax/,
               appdir = /data/tmaxha/tmax/appbin/,
               pathdir = /data/tmaxha/tmax/path/,
               tlogdir = /data/tmaxha/tmax/log/tlog/,
               slogdir = /data/tmaxha/tmax/log/slog/,
               ulogdir = /data/tmaxha/tmax/log/ulog/,
               envfile = ,
               svgcount = 6,
               svrcount = 14,
               svccount = 24,
               curclh = 1,
               sprcount = 14,
               tmscount = 6,
               cpccount = 10,
               cmprsize(cmprsize) = -1,
               ipcperm = 1c0,
               clichkint(clichkint) = 0,
               idletime(idletime) = 0,
               tmmopt = ,
               clhopt = ,
               tlmopt = ,
               realsvr = ,
               rscpc = 4,
               maxsvg = 32,
               maxsprs = 64,
               maxsvr = 64,
               maxtmss = 32,
               maxcpc = 150,
               maxgwsvr = 2,
               maxrqsvr = 2,
               maxgwcpc = 8,
               restart(rs) = YES,
               maxrstart(mr) = -1,
               gperiod(gp) = 86400,
               autobackup(ab) = YES,
               extport = 0,
               maxthread = 128,
               cllblock(cb) = NO,
               cllconnlb(cllconnlb) = RR,
               cllbindip = YES,
               tdl = NO,
               sqkey = 78550,
               sqsize = 8388608,
               sqmax = 1024,
               sqkeymax = 64,
               sqtimeout = 30,
               smsupport = NO,
               msgsizewarn(msw) = 1073741824,
               msgsizemax(msx) = 1073741824,
               tgshmkey = -1,
               tgid = -1,
               tgmcast_ttl = 1,
               tgmcast_if = ,
               crypt_algorithm = ""
               svclog_format = ""
               casthread = -1
               cas = ""
               security_lib = ""
               crypt_lib = ""

      After the command, cfg -n, is executed, the following items are displayed.

      Item Description

      node_no

      Node number defined in the system

      svgcount

      Number of server groups on the node

      svrcount

      Number of servers

      svccount

      Number of services

      curclh

      Number of CLH processes active on the node

      maxsprs

      Maximum allowed number of server processes

      maxtms

      Maximum allowed number of TMS processes

      autobackup

      Option to automatically start backup servers included in svg. Set to either Y or N.

      When a main node is downed by tmdown -i, set this option to N to prevent that backup servers start. Execute tmdown, and then set to Y.

      If a node where tmadmin is executed or a connected node is not a node for which the set command is executed, the modification is not applied and the following error message is displayed.

      no such name(nodename) for the section defiend in config.

      To change settings of another node, racd must be executed for the node.

    • Server group settings (-g)

      The following is an example of checking the server group settings.

      $$2 tmax8 (tmadm): cfg -g svg2
          svg_name = svg2, svg_no = 3
               xaoption = ,
               openinfo = Oracle_XA+Acc=P/scott/tiger+SesTm=60+DbgFl=7+LogDir=/data/tmaxha/tmax/log/xalog,
               closeinfo = ,
               appdir = ,
               ulogdir = ,
               svgtype = TMAX,
               envfile = ,
               tmsname = tms_ora,
               mintms = 2,
               maxtms = 3,
               curtms = 2,
               tmstype = STD,
               tmsthreads = 0,
               tmsopt =  -o svg2 -e svg2,
               tmsrecovery = YES,
               tmsloglvl = DEBUG4,
               tmsrange = DOMAIN,
               tmsxatime(tmsxatime) = 0,
               load(ld) = -9,
               tms starti = 0,
               tms endi = 2,
               restart(rs) = YES,
               maxrstart(mr) = -1,
               gperiod(gp) = 86400,
               autobackup = YES,
               dummy = NO,
               dbname = ORACLE
               rmid = 0
               svclog_format = ""
    • Server settings (-v)

      The following is an example of checking the server settings.

      $$4 tmax8 (tmadm): cfg -v svr2
      svr_name = svr2, svr_no = 5
               svgno = 2,
               cursvr = 1,
               clopt = ,
               seq = -1,
               minsvr = 1,
               maxsvr(max) = 1,
               ulogdir = ,
               maxqcount(mq) = -1,
               asqcount(aq) = -1,
               conv = NO,
               ddri = DDR_NO_ROUT,
               lifespan(ls) = -1,
               restart(rs) = YES,
               maxrstart(mr) = 5,
               gperiod(gp) = 86400,
               svrtype = TMAX_STD,
               schedule(schedule) = FA,
               cpc = 1,
               dummy = NO,
               aus = NO,
               mac(mac) = NO,
               roc(roc) = NO,
               multiclh = YES,
               ctx_ereply = NO,
               svrqtimeout(sqt) = -1,
               inbound_cpc = 1,
               svclog_format = ""
    • Service settings (-s)

      The following is an example of checking the service settings.

      $$5 tmax8 (tmadm): cfg -s
         -------------------------------------------------------------------------------------------
         svc_name          funcname      prio(pr)  autotran  svctime(st)  routno  svrname      svgno
         -------------------------------------------------------------------------------------------
         _hms01                              50          NO          0.000      -1    _hms01        4
         TOLOWER                             50          NO          0.000      -1    svr2          2
         TOUPPER                             50          NO          0.000      -1    svr2          2
         HMS                                 50          NO          0.000      -1    svr_hms       2
         FDLTOLOWER                          50          NO          0.000      -1    svr3          2
         FDLTOUPPER                          50          NO          0.000      -1    svr3          2
         gw1                                 50          NO          0.000      -1    gw1           0
         gw2                                 50          NO          0.000      -1    gw2           1
         SDLTOLOWER                          50          NO          0.000      -1    svr1          2
         SDLTOUPPER                          50          NO          0.000      -1    svr1          2
         _rq1                                50          NO          0.000      -1    _rqsvg        5
         LOGIN                               50          NO          0.000      -1    svr_ucs       2
         TPDEQ                               50          NO          0.000      -1    svr_rq        2
         TPENQ                               50          NO          0.000      -1    svr_rq        2
         FDLDEL                              50          NO          0.000      -1    fdltest       3
         SDLDEL                              50          YES         0.000      -1    sdltest       3
         FDLSEL                              50          NO          0.000      -1    fdltest       3
         FDLINS                              50          NO          0.000      -1    fdltest       3
         TOUPPER_CONV                        50          NO          0.000      -1    svr_conv      2
         SDLSEL                              50          YES         0.000      -1    sdltest       3
         SDLINS                              50          YES         0.000      -1    sdltest       3
         FDLUPT                              50          NO          0.000      -1    fdltest       3
         SDLUPT                              50          YES         0.000      -1    sdltest       3
         GET_SQ                              50          NO          0.000      -1    svr_sq        2
    • Gateway settings (-w)

      The following is an example of checking the gateway settings.

      $$7 tmax8 (tmadm): cfg -w gw1
          gw_name = gw1, node_no = 0, gw_no = 0
          gw_type = TMAXNONTX,
          portno = 4021,
          rgwaddr = 192.168.1.86,
          rgwportno = 4021,
          backup_rgwaddr = ,
          backup_rgwportno = -1,
          backup_rgwaddr2 = ,
          backup_rgwportno2 = 0,
          backup_rgwaddr3 = ,
          backup_rgwportno3 = 0,
          cpc = 1,
          timeout(timeout) = 11000,
          direction(direction) = BIDIR,
          maxinrgw = 32,
          clopt = -i,
          ptimeout(ptimeout) = -1,
          ptimeint(ptimeint) = -1
          gwchkint(gwchkint) = -1
          gwconnect_timeout = -1
          nliveinq(nliveinq) = -1

3.4. configopt (cfgopt)

Displays current settings that can be modified dynamically among the defined options such as TMMOPT.

  • Usage

    $$1 tmax1 (tmadm): configopt (cfgopt) [-tmm]
    Option Description

    [-tmm]

    Option to check the current settings that are dynamically configurable among options defined in the TMMOT element.

  • Example

    • TMMOPT setting (-d)

      The following is an example of checking the TMMOPT setting.

      $$1 tmax1 (tmadm): cfgopt -tmm
      ------------------------------------------------------------------------
              -tmm configurable value
      ------------------------------------------------------------------------
               accept retry count(-A) = 100
               max forked threshold(-F) = 765
               booting timeout(-t) = 10
      ------------------------------------------------------------------------

      The following describes items that are displayed when the command is executed.

      Item Description

      accept retry count(-A)

      Number of server process access requests that can be accepted immediately. Refer to the -A option of TMMOPT.

      max forked threshold(-F)

      The maximum number of concurrent requests that can be processed when creating a new process due to TMM starting an additional server process or restarting a process. Refer to the -F option of TMMOPT.

      booting timeout(-t)

      Access timeout for a server process that was started via ASQCOUNT. Refer to the -t option of TMMOPT.

4. Status Information Commands

4.1. stat (st)

Displays the status of various elements in the system, including server processes. Information that can be displayed through this command includes the current state of server processes, the names of services being processed, the number of processed services, the state of services, and the number of service requests in the service queue. The stat command is abbreviated as st.

  • Usage

    $$1 tmax1 (tmadm): stat (st) [-p [server_process_name] [-b]] [-s [service_name]]
                                 [-t [TMS_name]] [-v [server_process_name] [-pod]
                                 [-b]] [-o [sort condition]] [-n [output message line]]
                                 [-x] [-X] [-q [destination_name [-c]] ] [-d]
                                 [-j] [-tg]
    Option Description

    [-p [server_process_name]]

    Option to display information about server processes. Servers registered in the Tmax configuration file can use MIN and MAX to start multiple processes, and this option is used to check the status of each server. If a server process name is specified, only information about the server process is displayed, otherwise information about all server processes is displayed.

    The overall system processing state is displayed on the last line of the 'st –p' command execution result. Statistical information including total processing count, average processing time, and the total number of active services are displayed.

    [-s [service_name]]

    Option to display information about services. If a service name is specified, only information about the service is displayed, otherwise information about all services is displayed.

    [ -t [TMS_name] ]

    Option to display dynamic information about TMS provided by the system.

    • If a TMS name is specified, only information about the TMS is displayed.

    • If a TMS name is not specified, information about all TMSs is displayed.

    [-v [server_process_name] [-pod]]

    Option to display information about server processes. (same as si)

    If the [-pod] option is used, "(POD)" is always displayed with the POD server status. If this option is not used, RDY or NRDY is displayed when a POD server is running or not running respectively. POD server’s status is not important because it automatically starts when there is a service request even when the status is NRDY. Use this option to avoid mistaken a POD server in the NRDY status as a server error.

    [-o [sort condition]]

    Option to sort output results by the specified condition. Dynamic information about server processes and services provided by the Tmax system can be sorted by the specified condition. This option must be used with the [–p] or [–s] options.

    Use one of the following options to sort either in descending or ascending order.

    • [ -o ca ]: descending order

    • [ -o ca- ]: ascending order

    [-n [output message line]]

    Option to set the number of lines of sorted messages to display (number of server processes or services). This option must be used with the [–o] option.

    [-x]

    Option to display the following details when using 'st –p' or 'st –s' command to search for the state of server processes or services. Must be used with either [–s] or [–p] option. For more details, refer to "Detailed Info (-x)".

    • Fail count, Error count, and Process ID(PID) provided by OS

    • Minimum/maximum service processing times (min_time, max_time)

    • xid and xa_status used to search for TMS(-t) information

    [-X]

    • When using with the [-s] option

      Searches for the local status of COUSIN service in the form of status1(status2). (Example: RDY(NRDY))

      (Status2) is the actual local status. This option prevents the problem of a local status always being displayed as RDY in a COUSIN environment. Must be used with the [–s] option.

    • When using with the [-p] option

      Searches for suspended server processes. A suspended server process is displayed as follows. (Example: RDY(BLK:Pp))

      Only some of the server processes can be suspended. In such a case, the server status is displayed as RDY when using 'stat -v', and each suspended process is displayed with '(BLK:Xx)' appended to the end of the actual status string when using 'stat -p -X'. Xx depends on the -n and -N options used when running the sp command.

      • Pp

        sp -n P -N P
      • Tp

        sp -n T -N P
      • Tt

        sp -n T -N T
      • Pt

        sp -n P -N T

    [-q [destination_name]]

    Option to display information about HMS destinations. Displays a list of destinations defined in the configuration file, and the messages and clients being processed at each destination.

    [-d]

    Option to display the elapsed time when a server process is queried (st -p) and its status is RUN. '-' is displayed for any other statuses. Must be used with 'st -p'.

    (Example: st -p -d, st -p -x -d)

    [-b]

    Option to display last server boot time when retrieving servers (st -v) or server processes (st -p).

    [-j]

    Option to display items that span in multiple lines as a single line when using st -p -x and st -p -d.

    Used along with 'st -p'.

    st -p -j
    st -p -x -j
    st -p -d -j
    st -p -d -x -j

    [-tg]

    Option to display information about TmaxGrid.

  • Example

    • Server process information (–p)

      The following is an example of checking server process information.

      $$24 tmax8 (tmadm): st -p
      
      CLH 0:
         ---------------------------------------------------------------------------
         svr_name     svgname     spr_no     status      count        avg        svc
         ---------------------------------------------------------------------------
         gw1          gw1             32        RDY          0      0.000         -1
         gw2          gw2             33        RDY          0      0.000         -1
         _hms01       hms01           34        RDY          2      0.000         -1
         _hms01       hms01          105        RDY          0      0.000         -1
         _hms01       hms01          106        RDY          0      0.000         -1
         _hms01       hms01          107        RDY          0      0.000         -1
         _rqsvg       rqsvg           35        RDY          0      0.000         -1
         _rqsvg       rqsvg          109        RDY          0      0.000         -1
         _rqsvg       rqsvg          110        RDY          0      0.000         -1
         _rqsvg       rqsvg          111        RDY          0      0.000         -1
         svr1         svg1            36        RDY          0      0.000         -1
         svr2         svg1            37        RDY          0      0.000         -1
         svr3         svg1            38        RDY          0      0.000         -1
         svr_ucs      svg1            39        RDY          0      0.000         -1
         svr_conv     svg1            40        RDY          0      0.000         -1
         svr_rq       svg1            41        RDY          0      0.000         -1
         svr_sq       svg1            42        RDY          0      0.000         -1
         svr_hms      svg1            43        RDY          0      0.000         -1
         fdltest      svg2            44        RDY          0      0.000         -1
         sdltest      svg2            45        RDY          0      0.000         -1
         ---------------------------------------------------------------------------
         TOTAL COUNT = 2
         TOTAL AVG = 0.000
         TOTAL RUNNING COUNT = 0

      After the command 'st -p' is executed, the following items are displayed.

      Item Description

      svr_name

      Server process name.

      svgname

      Name of the server group that the server process belongs to.

      spr_no

      ID of the server process.

      status

      Current status of the server process.

      The following describes each system status.

      • RDY: Ready.

      • NRDY: Not ready. The tpstart has been executed and client is connected to a socket, but data cannot be transmitted from the server. This status may occur due to a network problem.

      • RUN: Running.

      • Unregisted: Unregistered. Shown to the client immediately after tpend execution before the status is changed.

      • BLK: All processes of the service are suspended.

      • PBLK: Only some server processes of the service are suspended.

      • UNADV: All server processes of the service are in the unadvertise status.

      • PUNADV: Only some server processes of the service are in the unadvertise status.

      count

      Number of services processed.

      avg

      Average processing time.

      svc

      Name of the service being processed. If no service is currently being processed, -1 is displayed.

      Wild cards can be used. For example, the command 'st –p s*' will display information about all server processes with names that begin with 's'.

      $$25 tmax8 (tmadm): st -p s*
      
      CLH 0:
         ---------------------------------------------------------------------------
         svr_name     svgname     spr_no     status      count        avg        svc
         ---------------------------------------------------------------------------
         svr1         svg1            36        RDY          0      0.000         -1
         svr2         svg1            37        RDY          0      0.000         -1
         svr3         svg1            38        RDY          0      0.000         -1
         svr_ucs      svg1            39        RDY          0      0.000         -1
         svr_conv     svg1            40        RDY          0      0.000         -1
         svr_rq       svg1            41        RDY          0      0.000         -1
         svr_sq       svg1            42        RDY          0      0.000         -1
         svr_hms      svg1            43        RDY          0      0.000         -1
         sdltest      svg2            45        RDY          0      0.000         -1
         ---------------------------------------------------------------------------
         TOTAL COUNT = 0
         TOTAL RUNNING COUNT = 0
    • Service information (–s)

      The following is an example of checking the service information.

      $$13 tmax8 (tmadm): st -s
      
      CLH 0:
         ------------------------------------------------------------------------------------------------
         svc_name                          svr_name    count    q_cnt   aq_cnt    q_avg      avg   status
         ------------------------------------------------------------------------------------------------
         _hms01                            _hms01          2        0        1    0.000    0.000      RDY
         TOLOWER                           svr2            0        0        0    0.000    0.000      RDY
         TOUPPER                           svr2            0        0        0    0.000    0.000      RDY
         HMS                               svr_hms         0        0        0    0.000    0.000      RDY
         FDLTOLOWER                        svr3            0        0        0    0.000    0.000      RDY
         FDLTOUPPER                        svr3            0        0        0    0.000    0.000      RDY
         gw1                               gw1             0        0        0    0.000    0.000      RDY
         gw2                               gw2             0        0        0    0.000    0.000      RDY
         SDLTOLOWER                        svr1            0        0        0    0.000    0.000      RDY
         SDLTOUPPER                        svr1            0        0        0    0.000    0.000      RDY
         _rq1                              _rqsvg          0        0        0    0.000    0.000      RDY
         LOGIN                             svr_ucs         0        0        0    0.000    0.000      RDY
         TPDEQ                             svr_rq          0        0        0    0.000    0.000      RDY
         TPENQ                             svr_rq          0        0        0    0.000    0.000      RDY
         FDLDEL                            fdltest         0        0        0    0.000    0.000      RDY
         SDLDEL                            sdltest         0        0        0    0.000    0.000      RDY
         FDLSEL                            fdltest         0        0        0    0.000    0.000      RDY
         FDLINS                            fdltest         0        0        0    0.000    0.000      RDY
         TOUPPER_CONV                      svr_conv        0        0        0    0.000    0.000      RDY
         SDLSEL                            sdltest         0        0        0    0.000    0.000      RDY
         SDLINS                            sdltest         0        0        0    0.000    0.000      RDY
         FDLUPT                            fdltest         0        0        0    0.000    0.000      RDY
         SDLUPT                            sdltest         0        0        0    0.000    0.000      RDY
         GET_SQ                            svr_sq          0        0        0    0.000    0.000      RDY

      After the command 'st -s' is executed, the following items are displayed.

      Item Description

      svc_name

      Service name.

      svr_name

      The name of the server that the service belongs to.

      count

      Number of services processed.

      avg

      Average processing time.

      q_count

      Number of service requests currently in the queue.

      aq_count

      Number of service requests that spent time in the queue.

      q_avg

      Average service waiting time.

      status

      Current service status. For more information, refer to the previous description of "system status".

      It is possible to use a wild card for the service name option. For example, the command 'st -s *W' will display information about all services ending with W.

      $$27 tmax8 (tmadm): st -s *R
      
      CLH 0:
         ------------------------------------------------------------------------------------------------
         svc_name                          svr_name    count    q_cnt   aq_cnt    q_avg      avg   status
         ------------------------------------------------------------------------------------------------
         TOLOWER                           svr2            0        0        0    0.000    0.000      RDY
         TOUPPER                           svr2            0        0        0    0.000    0.000      RDY
         FDLTOLOWER                        svr3            0        0        0    0.000    0.000      RDY
         FDLTOUPPER                        svr3            0        0        0    0.000    0.000      RDY
         SDLTOLOWER                        svr1            0        0        0    0.000    0.000      RDY
         SDLTOUPPER                        svr1            0        0        0    0.000    0.000      RDY
    • TMS information (-t)

      The following is an example of checking the TMS information.

      $$29 tmax8 (tmadm): st -t
      
      CLH 0:
         ---------------------------------------------------------------------------------
         tms_name     svgname    spr_no      status   count    avg   cqcount aqcount qavg
         ---------------------------------------------------------------------------------
         tms_ora      svg2            0       RDY        0    0.00      0      0     0.00
         tms_ora      svg2            1       RDY        0    0.00   (  0)    (  0)     (0.00)

      After the command, st -t, is executed, the following items are displayed.

      Item Description

      tms_name

      Name of the TMS.

      svgname

      Name of the server group that the TMS belongs to.

      spr_no

      Process ID of the TMS.

      status

      Current status of the TMS. For more information, refer to the previous description of "system status".

      count

      Number of TMS requests processed.

      avg

      Average TMS processing time.

      cqcount

      Number of service requests currently in the queue.

      aqcount

      Number of service requests that spent time in the queue.

      qavg

      Average service waiting time.

      For a multi-threaded TMS, the status of each thread can be displayed.

      $$1 tmax1 (tmadm): st -t -x
      CLH 0:
      ----------------------------------------------------------------
       tms_name    svgname    spr_no(tid) status   count    avg   cqcount
                  XID           xastate
      ----------------------------------------------------------------
         tms_ora_mt   svgora1         0       RUN        0    0.00      0
              000:000:13505         commit
         tms_ora_mt   svgora1         0(  1)  RDY        0%   0.00   (  0)
              000:000:00000        -
         tms_ora_mt   svgora1         0(  2)  RDY        0%   0.00   (  0)
              000:000:00000        -
      ----------------------------------------------------------------
         tms_ora_mt   svgora1         1       RDY        0    0.00   (  0)
              000:000:00000        -
         tms_ora_mt   svgora1         1(  1)  RDY        0%   0.00   (  0)
              000:000:00000        -
         tms_ora_mt   svgora1         1(  2)  RDY        0%   0.00   (  0)
              000:000:00000        -
      ----------------------------------------------------------------
         tms_ora_mt   svgora2        10       RDY        0    0.00      0
              000:000:00000        -
         tms_ora_mt   svgora2        10(  1)  RDY        0%   0.00   (  0)
              000:000:00000        -
         tms_ora_mt   svgora2        10(  2)  RDY        0%   0.00   (  0)
              000:000:00000        -
      ----------------------------------------------------------------
         tms_ora      svgora3        20       RDY        0    0.00      0
              000:000:00000        -
      ----------------------------------------------------------------
         tms_ora      svgora3        21       RDY        0    0.00   (  0)
              000:000:00000        -
      ----------------------------------------------------------------
    • Detailed Info (-x)

      When using with the 'st –p' command:

      $$1 tmax8 (tmadm): st -p -x
      
      CLH 0:
         ---------------------------------------------------------------------------
         svr_name     svgname     spr_no     status      count        avg        svc
                      PID        RBS_TAG   fail_cnt    err_cnt   min_time   max_time
                      utime    umin_time  umax_time      stime  smin_time  smax_time
         ---------------------------------------------------------------------------
         gw1          gw1             32        RDY          0      0.000         -1
                      10702     00000000          0          0      0.000      0.000
                           0.000      0.000      0.000      0.000      0.000      0.000
         svr2         svg1            37        RDY          0      0.000         -1
                      10700     00000000          0          0      0.000      0.000
                           0.000      0.000      0.000      0.000      0.000      0.000
         ---------------------------------------------------------------------------
         TOTAL COUNT = 0
         TOTAL SVCFAIL COUNT = 0
         TOTAL ERROR COUNT = 0
         TOTAL RUNNING COUNT = 0

      When using with the 'st –s' command:

      $$2 tmax8 (tmadm): st -s -x
      
      CLH 0:
         ------------------------------------------------------------------------------------------------
         svc_name                          svr_name    count    q_cnt   aq_cnt    q_avg      avg   status
                                                             fail_cnt  err_cnt           mintime  maxtime
                                                       utime umintime umaxtime    stime smintime smaxtime
         ------------------------------------------------------------------------------------------------
         TOLOWER                           svr2            0        0        0    0.000    0.000      RDY
                                                                    0        0             0.000    0.000
                                                       0.000    0.000    0.000    0.000    0.000    0.000
         TOUPPER                           svr2            0        0        0    0.000    0.000      RDY
                                                                    0        0             0.000    0.000
                                                       0.000    0.000    0.000    0.000    0.000    0.000

      After the command, st -s -x, is executed, the following items are displayed.

      Item Description

      PID

      Server process PID.

      fail_cnt

      Failure count of the server process/service.

      err_cnt

      Error count of the server process/service.

      mintime

      Minimum time used to handle a service.

      maxtime

      Maximum time used to handle a service.

      utime

      User time consumed whenever a server process executes a service.

      umin_time

      Minimum consumed user time.

      umax_time

      Maximum consumed user time.

      stime

      System time consumed whenever a server process executes a service.

      smin_time

      Minimum consumed system time.

      smax_time

      Maximum consumed system time.

    • Search result; sort(–o))

      The following is an example of using the [-o] option with the 'st –p' command.

      $$1 tmax1 (tmadm): st –p –o ca
      CLH 0 :
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      svr_name   svgname         spr_no     status      count    avg    svc
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      svr2          svg1           37     RDY          10     0.000      -1
      svr1          svg1           36     RDY          6     0.000      -1
      svr3          svg1           38     RDY          2     0.000      -1
      TOTAL COUNT = 18
      TOTAL AVG = 0.000
      TOTAL RUNNING COUNT = 0

      The following is an example of using the [-o] option with the 'st –s' command.

      $$1 tmax1 (tmadm): st –s –o ca
      CLH 0:
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      svc_name svr_name count  avg   cq_count  aq_count q_avg   status
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      TOUPPER     svr2     10    0.000      0          0      0.000    RDY
      SDLTOUPPER  svr1     5     0.000      0          0      0.000    RDY
      FDLTOUPPER  svr3     2     0.000      0          0      0.000    RDY
      SDLTOLOWER  svr1     1     0.000      0          0      0.000    RDY
      FDLTOLOWER  svr3     0     0.000      0          0      0.000    RDY
      TOLOWER     svr2     0     0.000      0          0      0.000    RDY
      • Descending order sort conditions

        Condition Description

        ca

        Number of processed requests (count)

        aa

        Average processing time (avg)

        cq

        Number of requests currently in the queue (cq_count)

        aq

        Average number of requests in the queue (aq_count)

        qa

        Average queuing time (q_avg)

        ce

        Sorts by server based on the number of requests processed by each server.

        ae

        Sorts by server based on the average processing time of each server.

      • Ascending order sort conditions

        Condition Description

        ca-

        Number of processed requests (count)

        aa-

        Average processing time (avg)

        cq-

        Number of requests currently in the queue (cq_count)

        aq-

        Average number of requests in the queue (aq_count)

        qa-

        Average queuing time (q_avg)

        ce-

        Sorts by server based on the number of requests processed by each server.

        ae-

        Sorts by server based on the average processing time of each server.

    • Specifying the number of lines of an output message (-n)

      The following is an example of specifying the number of lines of an output message to 2.

      $$1 tmax1 (tmadm): st –p –o ca –n 2
      CLH 0 :
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      svr_name   svgname         spr_no     status      count    avg    svc
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      svr2          svg1           37     RDY          10     0.000      -1
      svr1          svg1           36     RDY          6     0.000      -1
      TOTAL COUNT = 18
      TOTAL AVG = 0.000
      TOTAL RUNNING COUNT = 0

      The following is an example of specifying the number of lines of an output message to 3.

      $$1 tmax1 (tmadm): st –s –o ca –n 3
      CLH 0:
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      svc_name svr_name count  avg   cq_count  aq_count q_avg   status
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
      TOUPPER     svr2     10    0.000      0          0      0.000    RDY
      SDLTOUPPER  svr1      5    0.000      0          0      0.000    RDY
      FDLTOUPPER  svr3      2    0.000      0          0      0.000    RDY
    • HMS destination information (-q)

      The following is an example of querying information about HMS Destination.

      $$1 tmax1 (tmadm): st -q
      -------------------------------------------------------------------------------
      G  dest    cqcount  type   apqcnt   acqcnt  f_dscrd  t_dscrd cons_cnt prod_cnt
      -------------------------------------------------------------------------------
      -  queue01      58  QUEUE     169      111        0        0       30        5
      -  topic01      32  TOPIC      42      283        0        0       28        3

      After the command, st -q, is executed, the following items are displayed.

      Item Description

      G

      If the destination is set to GLOBAL, this is displayed as 'O', otherwise it is displayed as a hyphen (-).

      dest

      Destination name defined in the HMS section of the configuration file.

      cqcount

      Number of messages that have not been processed at the destination.

      type

      Destination type. Displayed as either QUEUE or TOPIC.

      apqcnt

      Total number of accumulated messages up to now.

      acqcnt

      The total number of messages that have been processed by a consumer. Since a Topic message is not considered to be complete until all consumers receive the message, acqcnt may become larger than apqcnt.

      f_dscrd

      Number of messages that could not be processed.

      t_dscrd

      Number of messages, with TTL set, that have expired.

      cons_cnt

      Number of consumers connected to the destination.

      prod_cnt

      Number of producers connected to the destination.

      The following shows the details about the clients of a particular destination.

      $$1 tmax1 (tmadm): st -q queue01 -c
       ------------------------------------------------------------------------------
           sesi     clid     cname      clitype qcnt  cnt  f_dscrd t_dscrd   listener
       ------------------------------------------------------------------------------
              0    0x39d prodasync        ARCV    49    0    0    0         ASYNCSVC
            0x1        0 prod41           SND      0   32    0    0
            0x1        0 prod42           SND      0   11    0    0
            0x1        0 cons51           RCV      3    0    0    0
            0x1        0 cons52           RCV      9    0    0    0
      
      $$2 tmax1 (tmadm): st -q topic01 -c
       ------------------------------------------------------------------------------
           sesi     clid     cname      clitype qcnt  cnt  f_dscrd t_dscrd   listener
       ------------------------------------------------------------------------------
            0x1        0 prod11           PUB      0    2    0    0
            0x1        0 prod12           PUB      0    1    0    0
            0x1        0 cons11           SUB     30    0    0    0
            0x2      0x2 prod21           PUB      0   16    0    0
            0x2      0x2 prod22           PUB      0    8    0    0
            0x2      0x2 cons21           SUB     23    0    0    0
            0x3        0 prod31           PUB      0    3    0    0
            0x4      0x4 cons41           ADSUB   32    0    0    0          ASYNCSVC2

      After the previous commands are executed, the following items are displayed.

      Item Description

      sesi

      Number of the session that created the client.

      clid

      Client ID.

      cname

      Client name.

      clitype

      Type of the client connected to the destination

      • SND: Queue type sender (created by hms_create_sender())

      • PUB: Topic type publisher (created by hms_create_publisher())

      • RCV: Queue type receiver (created by hms_create_receiver())

      • SUB: Topic type subscriber (created by hms_create_subscriber())

      • DSUB: Topic type durable subscriber (created by hms_create_durable_subscriber())

      • ARCV: Queue type receiver created in an async session

      • ASUB: Topic type subscriber created in an async session

      • ADSUB: Topic type durable subscriber created in an async session

      qcnt

      Number of messages that each subscriber actually possesses.

      cnt

      Number of messages sent or received by each client.

      f_dscrd

      Number of messages that could not be processed.

      t_dscrd

      Number of messages, with TTL set, that have expired.

      listener

      Name of the service that will receive a message for a consumer created by an ASYNC session.

      Executing the following command displays TmaxGrid information in detail.

      $$1 tmax1 (tmadm): st -tg
      TG Info:
          Preferences:
              shmkey               : 38852 (0x97c4)
              shmsize              : 40960 Kbyte
              max data             : 10000
              max watcher          : 10
              id                   : 1
              portno               : 9999 (UDP)
              heartbeat            : 1000 ms
              timeout              : 5000 ms
              historycount         : 100
              standbycount         : 10
              gqmaxbuffersize      : 1000 byte
              gqdownwaittime       : 30
          Status:
              status               : INIT
              suspend status       : NOT SUSPENDED
              created node count   : 0
              deleted node count   : 0
              set data count       : 0
              get data count       : 0
              current node count   : 0
              temporary node count : 0
              watcher count        : 0
              current data count   : 0
              total data size      : 0 byte
              current shm size     : 4460544 byte (10.64%)

4.2. gwinfo

Displays the connection status of a remote gateway from tmadmin. It also displays detailed information such as if the gateway is currently connected to the main node or the backup node and which nodes are connected to the gateway.

It can be used to check the connection information of all gateways (except for web service gateways).

  • Usage

    $$1 tmax1 (tmadm): gwinfo [-w gw_name] [-t gw_type]
    Option Description

    [-w gw_name]

    Option to search for a specific gateway’s information. Use a gateway name defined in the GATEWAY section.

    [-t gw_type]

    Option to search for a specific gateway type.

    Use a type defined in the GATEWAY section. (TMAX, TMAXNONTX, JEUS, JEUS_ASYNC, TUXEDO, TUXEDO_ASYNC, or XAGW)

    (Example: TMAX)

  • Example

    The gwinfo command results vary depending on whether the connected node is the main node or the backup node.

    • If connected to the main node

      10/user2/starbj81>tmadmin
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxs1 (tmadm): gwinfo
      ----------------------------------------------------------------
        gw_no   channel    type    foreign_address              status
      ----------------------------------------------------------------
         0   OUTCH      PRIM    tmaxc1(192.168.1.12:9400)     RDY
         1   OUTCH      PRIM    tmaxc1(192.168.1.12:9400)     RDY
         4   INCH          -     tmaxc1(192.168.1.12:1434)     RDY
         5   INCH          -     tmaxc1(192.168.1.12:1436)     RDY
         6   INCH          -     tmaxh2(192.168.1.48:58094)    RDY
         7   INCH          -     tmaxh2(192.168.1.48:58093)    RDY

      The following describes the command result.

      Item Description

      gw_no

      Gateway number.

      channel

      Displays whether the channel is INBOUND or OUTBOUND.

      type

      Displays whether the connected node is the main or the backup node.

      foreign_address

      IP address of the connected remote gateway.

      status

      Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".

    • If connected to the backup node

      $$1 tmax1 (tmadm): gwinfo
      ----------------------------------------------------------------
        gw_no   channel    type    foreign_address              status
      ----------------------------------------------------------------
            0   OUTCH      BACK    tmaxh2(192.168.1.48:9200)     RDY
            1   OUTCH      BACK    tmaxh2(192.168.1.48:9200)     RDY
            6   INCH          -     tmaxh2(192.168.1.48:58091)    RDY
            7   INCH          -     tmaxh2(192.168.1.48:58092)    RDY

4.3. txgwinfo (txgwi) / nontxgwinfo

These commands display the connection status to a remote gateway. It can also be used to check whether the gateway is currently connected to a main or a backup node and to which specific node it is connected to.

txgwinfo (txgwi) is used to display Tmax Gateway information, while nontxgwinfo (ntxgwi) is used to display Tmax non-transaction (TMAXNONTX) Gateway information.

  • Usage

    • txgwinfo

      $$1 tmax1 (tmadm): txgwinfo
    • nontxgwinfo

      $$1 tmax1 (tmadm): nontxgwinfo
  • Example

    The following is an example of using each command.

    • txgwinfo

      10/user2/starbj81>tmadmin
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxs1 (tmadm): txgwinfo
      ----------------------------------------------------------------
        gw_no   channel    type    foreign_address              status
      ----------------------------------------------------------------
         0   OUTCH      PRIM    tmaxc1(192.168.1.12:9400)     RDY
         1   OUTCH      PRIM    tmaxc1(192.168.1.12:9400)     RDY
         4   INCH          -     tmaxc1(192.168.1.12:1434)     RDY
         5   INCH          -     tmaxc1(192.168.1.12:1436)     RDY
         6   INCH          -     tmaxh2(192.168.1.48:58094)    RDY
         7   INCH          -     tmaxh2(192.168.1.48:58093)    RDY

      After the command, txgwinfo, is executed, the following items are displayed.

      Item Description

      gw_no

      Gateway number.

      channel

      Displays whether the channel is INBOUND or OUTBOUND.

      type

      Displays whether the connected node is the main or the backup node.

      foreign_address

      IP address of the connected remote gateway.

      status

      Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".

    • nontxgwinfo

      When connected to a backup node

      $$1 tmax1 (tmadm): nontxgwinfo
      ----------------------------------------------------------------
        gw_no   channel    type    foreign_address              status
      ----------------------------------------------------------------
            0   OUTCH      BACK    tmaxh2(192.168.1.48:9200)     RDY
            1   OUTCH      BACK    tmaxh2(192.168.1.48:9200)     RDY
            6   INCH          -     tmaxh2(192.168.1.48:58091)    RDY
            7   INCH          -     tmaxh2(192.168.1.48:58092)    RDY

4.4. jgwinfo / ajgwinfo

These commands display the connection status to JTmax or WebtAsync. It can also be used to check whether the gateway is currently connected to a main or a backup node. Jgwinfo is used to display Java(JEUS) gateway information, and ajgwinfo is used to display Async Java(ASYNC_JEUS) gateway information.

  • Usage

    • jgwinfo

      $$1 tmax1 (tmadm): jgwinfo
    • ajgwinfo

      $$1 tmax1 (tmadm): ajgwinfo
  • Example

    • jgwinfo

      The following is an example of using the command.

      10/user2/starbj81>tmadmin
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxs1 (tmadm): jgwinfo
      -------------------------------------------------------------------------------
       gw_no name            channel type  foreign_address                    status
      -------------------------------------------------------------------------------
           0 gw1             OUTCH   PRIM  unknown(192.168.35.47:6555)         RDY

      After the command, jgwinfo, is executed, the following items are displayed.

      Item Description

      gw_no

      Gateway number.

      channel

      Displays whether the channel is INBOUND or OUTBOUND.

      type

      Displays whether the connected node is the main or the backup node.

      foreign_address

      IP address of the connected remote gateway.

      status

      Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".

    • ajgwinfo

      When connected to a backup node

      10/user2/starbj81>tmadmin
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmax1 (tmadm): ajgwinfo
      -------------------------------------------------------------------------------
       gw_no name            channel type  foreign_address                    status
      -------------------------------------------------------------------------------
           1 gw2             OUTCH   BACK  unknown(192.168.35.47:6555)         RDY

4.5. wsgwinfo

Displays web service gateway information.

  • Usage

    $$1 tmax1 (tmadm): wsgwinfo [-i svrid[ svrid]]
    Option Description

    [-i svrid [ svrid]]

    Svrid list to check.

  • Example

    The following is an example of using the command.

    10/user2/starbj81>tmadmin
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    
    $$1 tmaxs1 (tmadm): wsgwinfo
    ------------------------------------------------------------------------
    svrid    load_time                     current_client    max_attach_time
    ------------------------------------------------------------------------
    2        Wed Jan 13 12:43:39 2010      0                 0.0sec
    ------------------------------------------------------------------------

    After the command, wsgwinfo, is executed, the following items are displayed.

    Item Description

    svrid

    Gateway’s svr index.

    load_time

    Startup time of the web service gateway.

    current_client

    Number of clients that are currently connected.

    max_attach_time

    Maximum time spent for processing a single service.

4.6. smtrc

When the SMSUPPORT element in the NODE section of the configuration file is set to Y, executing 'st ?p ?x' displays GID of the running services.

  • Usage

    $$1 tmax1 (tmadm): smtrc [-a] GID0 GID1
    Option Description

    [-a]

    Option to display additional information including server process index(spri), user CPU time, system CPU time, and return information.

    GID0

    First four bytes of SysMaster GID in hexadecimal.

    GID1

    Last four bytes of SysMaster GID in hexadecimal.

  • Example

    The following is an example of executing smtrc to output the GID after executing 'st ?p ?x'.

    $$1 tmax1 (tmadm): st ?p -x
    
    CLH 0:
    --------------------------------------------------------------
    svr_name    svgname    spr_no  status    count    avg     svc
                   PID     fail_cnt  err_cnt  min_time  max_time
                   SysMaster_GID
    --------------------------------------------------------------
       evtsvr     svg1       36      RDY         0      0.000     -1
                    17980      0       0        0.000    0.000
                    00000000-00000000-00000000
       svr1         svg1      37     RUN         0      0.000    SDLTOUPPER
                    17981      0       0       0.000    0.000
                    00000000-00000101-00000000
       svr2         svg1      38    RUN          0      0.000   SDLTOUPPER2
                    17982      0      0       0.000      0.000
                    00000000-00080101-00000000
       svr3         svg1      39    RUN          0      0.000   SDLTOUPPER3
                    17983      0      0       0.000      0.000
                    00000000-00100101-00000000
       svr_sys      svg1     40     RDY         3      0.000     -1
                    17984      0      0      0.000      0.000
                    00000000-00000000-00000000
    ----------------------------------------------------------------
       TOTAL COUNT = 3
       TOTAL SVCFAIL COUNT = 0
       TOTAL ERROR COUNT = 0
       TOTAL AVG = 0.000
       TOTAL RUNNING COUNT = 3
    
    $$1 tmax1 (tmadm): smtrc 0 0101
    CLH 0:
    -------------------------------------------------------------
       sysmaster_global_id              status             svc_name
    -------------------------------------------------------------
    00000000:00000101:00000000        SVC_RUNNING         SDLTOUPPER2
    
    45670701 tmaxi1 (tmadm): smtrc -a 0 0101
    CLH 0:
    ----------------------------------------------------------------
       sysmaster_global_id              status             svc_name
       ctime          svctime    spri    ucpu    scpu
    ----------------------------------------------------------------
    00000000:00000101:00000000        SVC_RUNNING         SDLTOUPPER2
    14:05:32:159       0.000     38     0.000   0.000
    00000000:00000101:00010000        SVC_RUNNING         SMTRACE
    14:05:32:159       0.000     40     0.000   0.000
    00000000:00000101:00010000        SVC_DONE            SMTRACE
    14:05:32:159       0.000     40     0.000   0.000

    After the command, smtrc, is executed, the following items are displayed.

    Item Description

    sysmaster_global_id

    SysMaster GID.

    status

    Status of the service.

    svc_name

    Service name.

    ctime

    Log creation time.

    svctime

    Log service time.

    spri

    Index of the server processes that executed the service.

    ucpu

    User CPU time.

    scpu

    System CPU time.

4.7. clhsinfo

The nodes in a multi node environment must be connected each other. If node connections are unstable due to using a firewall or obsolete equipment, connections between nodes may be lost interrupting service processing. Such connection issues can be checked by using clhsinfo and tmmsinfo to check the connection status between nodes.

  • Usage

    $$1 tmax1 (tmadm): clhsinfo
  • Example

    The following is an example of using clhsinfo when minclh and maxclh are set to 1 and 2, respectively.

    tmaxh4@starbj81:/EMC01/starbj81/tmax/config>tmadmin
    TMADMIN for rnode (tmaxh2): starting to connect to RAC
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    
    $$1 tmaxh4 (tmadm): clhsinfo
    
    CLH 0:
    ---------------------------------------
      nodename    clhno     cpc   status
    ---------------------------------------
      tmaxh2          0       2    RDY
      tmaxh2          1       0    NRDY
    ---------------------------------------
    
    CLH 1 is not available
    Msg from rnode(tmaxh2):
    CLH 0:
    ---------------------------------------
      nodename    clhno     cpc   status
    ---------------------------------------
      tmaxh4          0       2    RDY
      tmaxh4          1       0    NRDY
    ---------------------------------------
    
    CLH 1 is not available

    After the command, clhsinfo, is executed, the following items are displayed.

    Item Description

    nodename

    Node name.

    clhno

    CLH number.

    cpc

    CPC number.

    status

    Node status.

    The following describes each node status.

    • NRDY(NOT_READY): Not connected or disconnected with the target CLH.

    • RDY(READY): Connected.

    • REG(REGISTERED): Nodes are currently being connected.

    • UNR(UNREGISTERED): Node has been terminated via tmdown.

    • NSTRT(NCLHSTARTED): Nodes are currently being connected, and CLH of the target node has started.

    • CTNG(TRYINGTOCONNECT): Only TCP/IP socket is connected between nodes, but a connection message has not yet been transmitted to the target node.

    • NPING(ALIVECHECK): Node is connected, and is currently performing alive check.

    • NPING2(ALIVECHECK2): No response has been issued from the node for the alive check request.

4.8. tmmsinfo

Displays TMM connection information in a multi node environment.

  • Usage

    $$1 tmax1 (tmadm): tmmsinfo
  • Example

    The following is an example of using the command.

    tmaxh4@starbj81:/EMC01/starbj81/tmax/config>tmadmin
    TMADMIN for rnode (tmaxh2): starting to connect to RAC
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    
    $$1 tmaxh4 (tmadm): tmmsinfo
    ------------------------------------------
      no   nodename     livectime    status
    ------------------------------------------
       1   tmaxh2        13:53:53    RDY
    Msg from rnode(tmaxh2):
    ------------------------------------------
      no   nodename     livectime    status
    ------------------------------------------
       0   tmaxh4        13:53:08    RDY

    After the command, tmmsinfo, is executed, the following items are displayed.

    Item Description

    no

    TMM number.

    nodename

    Node name.

    livectime

    Latest channel use time.

    status

    Current node status. For more information, refer to "node status".

4.9. repeat (r)

Repeatedly displays status information. It can be used as in the following. Repeating a command is useful for monitoring status information and debugging task processing.

  • Usage

    $$1 tmax1 (tmadm): r -k n -i ms command_to_repeat
    Item Description

    -k n

    Option to repeat n times.

    -i ms

    Option to repeat at ms-second intervals.

    command_to_repeat

    Target command to repeatedly execute.

  • Example

    In the following example, st -s is to be executed at 5-second intervals 30 times.

    $$1 tmax1 (tmadm): r -k 30 -i 5000 st -s

    In the following example, st -p is executed at 5-second intervals for 30 seconds.

    $$1 tmax1 (tmadm): r -k 30 -i 5000 st -p

4.10. clientinfo (ci)

Displays information about the clients currently connected to the Tmax system.

  • Usage

    $$1 tmax1 (tmadm): ci [–s]
    Option Description

    [-s]

    Total number of connected clients.

  • Example

    The following is an example of using the command.

    $$1 tmax1 (tmadm): ci
    CLH 0:
    ----------------------------------------------------------------
       cli_id    status    count   lastin_time   ipaddr      usrname
    ----------------------------------------------------------------
         0          RDY       0          20       61.77.153.1
         1          RDY       2          10       61.77.153.1     tmax
         2          RDY       4          123      61.77.153.1
    ----------------------------------------------------------------
    Total Connected Clients = 1
    ----------------------------------------------------------------

    After the command, clientinfo, is executed, the following items are displayed.

    tem Description

    cli_id

    Client ID.

    status

    Current status of the client.

    The following describes each client status.

    • RDY: Client is normally connected to CLH.

    • NRDY: Only TCP/IP socket is currently connected, but TPSTART message has not yet been sent.

    • QED: Client service requests are accumulated in the server queue.

    • CTING : Client is trying to connect to CLH.

    • UNR : Client is executing tpend(), or NCLH is down.

    • RUN : Service requested by the client is executing.

    count

    Number of processed requests.

    lastin_time

    Time the client spent waiting after calling a service.

    ipaddr

    Client connection IP address.

    usrname

    User name defined in the usrname field of the TPSTART_T struct.

    Too many abnormal client connections to CLH that are hanging can prevent other clients from connecting to CLH. Clients that do not send a TPSTART connection message within 60 seconds after the socket is connected will automatically be disconnected. When they are disconnected, the following error will occur.

    (I) CLH0209 internal error : disconnect client because client didn't send tpstart
     msg for 60 sec.(192.168.1.43) [CLH0058]

4.11. svrinfo (si)

Displays information about each currently active server process.

  • Usage

    $$1 tmax1 (tmadm): si [-b] [-pod]
    Option Description

    [-b]

    Displays boottime, which means that the last boot time of the server.

    [-pod]

    Displays "(POD)" after the status field of POD servers.

  • Example

    The following is an example of using the command.

    $$5 tmaxs1 (tmadm): si
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    clh   svrname   (svri)   status   count   qcount  qpcount  emcount
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    0    scoresdl  (  0)     NRDY         0        0        0       0
    0    bank2     (  1)     RDY          0        0        0       0
    0    svr1      (  2)     RDY          0        0        0       0
    0    svr2      (  2)     RDY          0        0        0       0
    0    svr3      (  2)     NRDY         0        0        0       0
    0    api       (  2)     RDY          0        0        0       0
    0    syncrtn   (  2)     RDY          0        0        0       0
    0    ucs       (  2)     NRDY         0        0        0       0
    0    ucssvr    (  2)     RDY          0        0        0       0
    0    broad     (  2)     NRDY         0        0        0       0
    0    selins    (  2)     NRDY         0        0        0       0

    After the command, svrinfo, is executed, the following items are displayed.

    Item Description

    clh

    CLH number.

    svrname

    Server name.

    (svri)

    Server ID.

    status

    Current status of the server. For more information, refer to "system status".

    count

    Number of processed requests.

    qcount

    Amount of enqueued requests.

    qpcount

    Number of requests deleted from the queue.

    emcount

    Number of requests returned due to exceeding the maximum number of enqueued requests.

    boottime

    Last boot time of the server. Displayed if the -b option is used.

4.12. txquery (txq)

Displays information about transactions currently being processed.

  • Usage

    $$1 tmax1 (tmadm): txquery(txq) [-x] [-g svgname] [-w [-r] [-G gwname]]
                                    [<upper-global-xid><lower-global-xid>]
    Option Description

    [ -x ]

    Option to search for information about each transaction branch.

    [ -g svgname ]

    Option to search for transaction branch of the group with the svgname.

    [ -w ]

    Option to search for a domain subtransaction tree.

    [ -r ]

    Option to search with the XID of the remote domain.

    [ -G gwname]

    Option to search for the domain gateway of gwname.

    upper-global-xid

    First 4 bytes of gtid of the xid to search for.

    lower-global-xid

    Last 4 bytes of gtid of the xid to search for.

  • Example

    • Transaction search

      The following is an example of querying for transactions.

      $$14 tmax1 (tmadm): txq
      CLH0:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      cli_id   txstime  txqcount txrcount   XID       txstate   xastate
      - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - -
      c0023   8:33:34      1         0   000:000:00022 TXBEGIN    TX_OK
      c0024  18:33:34      1         0   000:000:00023 TXBEGIN    TX_OK
      c0025  18:33:34      1         0   000:000:00024 TXBEGIN    TX_OK
      c0026  18:33:34      1         0   000:000:00025 TXBEGIN    TX_OK
      c0027  18:33:34      1         0   000:000:00026 TXBEGIN    TX_OK
      c0028  18:33:34      1         0   000:000:00027 TXBEGIN    TX_OK
      c0029  18:33:34      1         0   000:000:00028 TXBEGIN    TX_OK
      c0030  18:33:34      1         0   000:000:00029 TXBEGIN    TX_OK
      c0031  18:33:34      1         0   000:000:00030 TXBEGIN    TX_OK

      After the command, txquery, is executed, the following items are displayed.

      Item Description

      cli_id

      ID of the currently connected client.

      txstime

      Time when the transaction was executed.

      txqcount

      Number of transactions waiting in the queue.

      txrcount

      Number of transactions already processed.

      XID

      Transaction ID.

      txstate

      Current transaction status. (TXBEGIN, TXCOMMIT, TXROLLBACK)

      xastate

      XA status.

    • Transaction information search (-x)

      The following is an example of querying for transaction information.

      $$6 tmaxh4 (tmadm): txquery -x
      CLH 0:
      ----------------------------------------------------------------
      cli_id  clid   txstime txqcount txrcount   XID             txstate
      xastate bqualno   nodename      svgname     txbstate    xabstate
      ----------------------------------------------------------------
        c1526 0x000005f6 15:13:35  4      0    34800000:0008c087 TXBEGIN
       TX_OK   (B)00000000   tmaxh4    svg12301X      BEGIN         XA_OK
               (B)00000001   tmaxh4      gw2301X      BEGIN         XA_OK
               (B)00000002   tmaxh4      gw2302X      BEGIN         XA_OK
               (B)00000003   tmaxh4    svg12302X      BEGIN         XA_OK
        c1527 0x000005f7 15:13:35  4       0    34800000:0008c089 TXBEGIN
        TX_OK   (B)00000000   tmaxh4    svg12301X     BEGIN         XA_OK
                (B)00000001   tmaxh4      gw2301X     BEGIN         XA_OK
                (B)00000002   tmaxh4      gw2302X     BEGIN         XA_OK
                (B)00000003   tmaxh4    svg12302X     BEGIN         XA_OK
    • Searching for transactions of a group (-g)

      The following is an example of querying for transactions of a group.

      $$7 tmaxh4 (tmadm): txq -g svg12301X
      
      CLH 1:
      ----------------------------------------------------------------
        cli_id    clid   txstime txqcount  txrcount     XID     txstate
      xastate  bqualno    nodename    svgname     txbstate      xabstate
      ----------------------------------------------------------------
        c1595 0x0000463b 15:14:10   1       0   34800001:0008e953 TXBEGIN
      TX_OK   (B)00000000   tmaxh4   svg12301X     BEGIN         XA_OK
        c1596 0x0000463c 15:14:10    1       0    34800001:0008e956 TXBEGIN
      TX_OK
         (B)00000000         tmaxh4    svg12301X     BEGIN         XA_OK
        c1597 0x0000463d 15:14:10    1       0  34800001:0008e957 TXBEGIN
      TX_OK   (B)00000000   tmaxh4    svg12301X     BEGIN        XA_OK
    • Transaction tree search (-w)

      The following is an example of querying a transaction tree.

      $$9 tmaxh4 (tmadm): txquery -w
      
      CLH 0:
      ----------------------------------------------------------------
        gw_no txstime txqcount txrcount    XID    RXID   txstate xastate
      ----------------------------------------------------------------
        g0004 17:00:00    2     0 34800000:0008c38e 39800000:0003bcf7 PHASE2 TX_OK
        g0004 17:00:00    2     0 34800000:0008c38f 39800000:0003bcf8 PHASE1 TX_OK
        g0004 17:00:00    2     0 34800000:0008c391 39800000:0003bcf9 PHASE2 TX_OK
        g0004 17:00:00    2     0 34800000:0008c39a 39800000:0003bd00 PHASE1 TX_OK
        g0004 17:00:00    2     0 34800000:0008c3a1 39800000:0003bd08 PHASE1 TX_OK
        g0004 17:00:00    1     0 34800000:0008c3a3 39800000:0003bd09 sTXBEGIN TX_OK
        g0005 17:00:00    2     0 34800000:0008c38b 3e800100:000177f6 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800000:0008c38d 3e800101:00014ff7 PENDING TX_OK
        g0005 17:00:00    2     0 34800000:0008c390 3e800101:00014ff8 PENDING TX_OK
        g0005 17:00:00    2     0 34800000:0008c392 3e800000:0006e050 PHASE1 TX_OK
        g0005 17:00:00    2     0 34800000:0008c396 3e800000:0006e052 PHASE1 TX_OK
        g0005 17:00:00    2     0 34800000:0008c397 3e800100:000177f8 PHASE1 TX_OK
        g0005 17:00:00    2     0 34800000:0008c398 3e800000:0006e055 PHASE1 TX_OK
        g0005 17:00:00    2     0 34800000:0008c399 3e800101:00014ff9 sTXBEGIN TX_OK
        g0005 17:00:00    2     0 34800000:0008c39c 3e800100:000177f9 PENDING TX_OK
        g0005 17:00:00    2     0 34800000:0008c39d 3e800000:0006e05a sTXBEGIN TX_OK
        g0005 17:00:00    2     0 34800000:0008c39e 3e800101:00014ffa PHASE1 TX_OK
        g0005 17:00:00    1     0 34800000:0008c39f 3e800000:0006e05b sTXBEGIN TX_OK
        g0005 17:00:00    1     0 34800000:0008c3a2 3e800100:000177fa sTXBEGIN TX_OK
        g0004 17:00:00    2     0 34800000:0008eb51 39800001:0003e50d PHASE2 TX_OK
        g0004 17:00:00    2     0 34800000:0008eb53 39800001:0003e510 PHASE2 TX_OK
        g0004 17:00:00    2     0 34800000:0008eb58 39800001:0003e516 PHASE1 TX_OK
        g0004 17:00:00    2     0 34800000:0008eb5b 39800001:0003e519 sTXBEGIN TX_OK
        g0005 17:00:00    2     0 34800000:0008eb4d 3e800001:0007084f PHASE2 TX_OK
        g0005 17:00:00    2     0 34800000:0008eb50 3e800001:00070852 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800000:0008eb52 3e800001:00070854 PHASE2 TX_OK
        g0005 17:00:00    1     0 34800000:0008eb56 3e800001:00070858 sTXBEGIN TX_OK
        g0005 17:00:00    1     0 34800000:0008eb5a 3e800101:00014ffb sTXBEGIN TX_OK
        g0005 17:00:00    1     0 34800000:0008eb5c 3e800001:0007085b sTXBEGIN TX_OK

      The following is an example of using the [-w] and [-r] options.

      ### txquery -w -r ###
      $$11 tmaxh4 (tmadm): txquery -w -r
      
      CLH 1:
      ----------------------------------------------------------------
        gw_no txstime txqcount txrcount       XID           RXID      txstate xastate
      ----------------------------------------------------------------
        g0004 17:00:00    2     0 34800001:0008ed0a 39800001:0003e6bc PENDING TX_OK
        g0004 17:00:00    2     0 34800001:0008ed0b 39800001:0003e6bd PENDING TX_OK
        g0004 17:00:00    2     0 34800001:0008ed0c 39800001:0003e6be PHASE1 TX_OK
        g0004 17:00:00    2     0 34800001:0008ed0f 39800001:0003e6c1 PHASE1 TX_OK
        g0005 17:00:00    2     0 34800001:0008ed00 3e800001:000709aa PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008ed03 3e800101:00015046 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008ed04 3e800100:00017846 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008ed05 3e800001:000709b1 PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008ed06 3e800100:00017847 PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008ed07 3e800001:000709b2 sTXBEGIN TX_OK
        g0005 17:00:00    2     0 34800001:0008ed08 3e800100:00017848 PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008ed09 3e800100:00017849 PHASE2 TX_OK
        g0004 17:00:00    2     0 34800001:0008c53f 39800000:0003bea9 PHASE2 TX_OK
        g0004 17:00:00    2     0 34800001:0008c540 39800000:0003beab PHASE2 TX_OK
        g0004 17:00:00    2     0 34800001:0008c545 39800000:0003beaf PHASE1 TX_OK
        g0004 17:00:00    2     0 34800001:0008c546 39800000:0003beb0 PHASE1 TX_OK
        g0004 17:00:00    2     0 34800001:0008c548 39800000:0003beb2 sTXBEGIN TX_OK
        g0005 17:00:00    2     0 34800001:0008c51c 3e800000:0006e192 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008c536 3e800000:0006e1a5 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008c537 3e800100:00017845 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008c539 3e800000:0006e1a7 PHASE2 TX_OK
        g0005 17:00:00    2     0 34800001:0008c53e 3e800000:0006e1ad PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008c541 3e800101:00015047 PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008c542 3e800000:0006e1af PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008c543 3e800101:00015048 PENDING TX_OK
        g0005 17:00:00    2     0 34800001:0008c544 3e800101:00015049 PHASE1 TX_OK

4.13. rqstat (rqs)

Displays the status of the currently active RQs. It can also be used by an administrator to manipulate the disk queue.

  • Usage

    $$1 tmax1 (tmadm): rqstat (rqs) [-l] [-s rqname] [-f rqname] [-c rqname] [-a]
    Option Description

    [-l]

    Option to display a list of available RQs.

    [-s rqname]

    Current RQ status.

    [-f rqname]

    Option to process services accumulated on the RQ.

    [-c rqname]

    Option to delete the RQ backlog.

    [-a]

    Option to display a status list of all RQs.

    To process RQ with the [-f] and [-c] options, it must be executed in the master mode by using the tmadmin -m option.

  • Example

    • RQ status search (-a)

      Each record represents the following items.

      $$1 tmaxi9 (tmadm): rqs -a
      
                   rq1 RDY  0 0 0 0 0 5 5
      total count : 1

      Data is displayed in the following format.

      RQ_name Status Requests Replies Failures Requests_enqueued Requests_dequeued Replies_enqueued Replies_dequeued

      The last record displays a total count.

    • RQ search (-I)

      The following is an example of querying for available RQs.

      $$1 tmax1 (tmadm): rqs -l
      list of available RQs:
      rq1 rq2
    • RQ status search (-s)

      The following is an example of querying for RQ status.

      $$1 tmax1 (tmadm): rqs -s rq1
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Number of queue entries
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      request                       0
      reply                         0
      fail                          0
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Accumulated queue activities
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      request enqueued             0
      request dequeued             0
      reply enqueued               10
      reply dequeued               0
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    • RQ service processing (-f)

      The following is an example of handling services accumulated in RQ.

      $$1 tmax1 (tmadm): rqs -f rq2
      RQ(rq2) flushed
    • RQ backlog deletion (-c)

      The following is an example of clearing a stagnant RQ.

      $$1 tmax1 (tmadm): rqs -c rq2
      RQ(rq2) statics cleared

5. Administrative Commands

5.1. suspend (sp)

Suspends a running server in order to resolve system failures resulting from application program errors. Once this command has been executed, the target server processes will complete processing current services before being suspended. Services in the queue remain in the queue and any subsequent service requests will be accumulated in the queue. The suspend command is abbreviated as sp.

  • Usage

    $$1 tmax1 (tmadm): Usage: suspend {-s svc_name [-p pid | -i spri] [-a]
                          [-n T|P] [-N T|P] | -v svr_name [-k num] [-a]
                          [-q] [-n T|P] [-N T|P]}
    Option Description

    -s svc_name

    Service name.

    [-p pid]

    Option to suspend services for the specified server process. Used with the [-s] option.

    [-i spri]

    Option to suspend services for specified spri. Used with the [-s] option.

    [-n T|P]

    Server process status when it restarts after ended normally.

    • T: RDY.

    • P: Status just before the server process ended.

    [ -N T|P ]

    Server process status when it restarts after ended abnormally.

    • T: RDY.

    • P: Status just before the server process ended.

    -v svr_name

    Option to suspend the scheduling of the server process. A requested service will wait in the queue until the process is resumed, or can be removed from the queue according to the MAXQCOUNT and CLHQTIMEOUT settings.

    [-k num]

    Option to suspend the specified number of processes on the target server.

    Used with the [-v] option. As many server processes, including the already suspended processes, as the specified number are suspended. The specified number must not exceed the MAX value of the server.

    To check for suspended server processes, execute the [stat -p -X] command.

    suspend(sp) -v svr_name [-k 5]

    If as many server processes as MAX are all suspended when using the [-k] option, the server will be blocked (BLK). This is same as executing 'sp -v svr_name' without the [-k] option.

    [-q]

    asqcount starts additional servers. Used with the [-v] option.

    [-a]

    If a running server receives a suspend request, the service is not suspended until it completes processing current requests. This option is used to suspend a running server immediately without delay. It is used with the -v option.

5.2. resume (rs)

Causes the target server processes to resume scheduling. The target server processes will resume processing of the enqueued service requests, and accept any incoming service requests. The resume command is abbreviated as rs.

  • Usage

    $$1 tmax1 (tmadm): resume {-s svc_name [-p pid | -i spri] |
                               -v svr_name [-k count ] }
    Option Description

    -s svc_name

    Option to resume service scheduling.

    [-p pid]

    Option to resume services for the specified server process. Suspending/resuming the service for a specific server process may take a long time to wait for the processing to complete if the service is running. In this case, the service will be resumed if the tmadmin is forcibly terminated.

    Any service requests after suspend will be accumulated in the queue. This option is used with the [-s] option.

    resume(rs) -s svc_name [-p pid]

    [-i spri]

    Option to resume services for the specified spri. Suspending/resuming the service for a specific spri may take a long time to wait for the processing to complete if the service is running. In this case, the service will be resumed if the tmadmin is forcibly terminated.

    Any service requests after suspend will be accumulated in the queue. This option is used with the [-s] option.

    resume(rs) -s svc_name [-i spri]

    -v svr_name

    Option to resume scheduling of the server process.

    [-k count]

    Option to resume the specified number of processes on the target server.

    Used with the [-v] option. As many suspended server processes as the specified number are resumed. If there are no suspended server processes, the command will be cancelled. The specified value must not exceed the MAX value of the server.

    To check for suspended server processes, execute the [stat -p -X] command.

    resume(rs) -v svr_name [-k 5]

    If even one server process is resumed by the -k option, the server status will be changed to RDY. If there are no active processes, the status will be NRDY.

The following describes information related to resume.

  • Suspend/resume a server in the COUSIN group of a Node

    If multiple server groups are set as COUSIN of a node, suspend/resume will be executed for all servers in the COUSIN group.

ASQCOUNT can be set in the SVRGROUP section. The [-v] option must be used to set a server process to BLK.

Advertises/unadvertises a specific service name.

When a service is advertised, the name of the service will be registered in the Service Name Table, which CLH manages for each server. When the service is unadvertised, it will be deleted from the Service Name Table.

In other words, advertise allows the server process to advertise its new service, and unadvertise allows the server process to unadvertise its service. When an unadvertised service is called, a TPENOENT error will occur. However, even though a certain service is unadvertised in one server process, the service routine can be executed if another server process is providing the service.

  • Usage

    • Advertise

      $$1 tmax1 (tmadm): advertise {-s svc_name [-p pid]}
      Option Description

      -s svc_name

      Option to advertise the specified service name.

      [-p pid]

      Option to advertise the specified server process PID.

    • Unadvertise

      $$1 tmax1 (tmadm): unadvertise {-s svc_name [-p pid]}
      Option Description

      -s svc_name

      Option to unadvertises the specified service name.

      [-p pid]

      Option to unadvertises the specified server process PID.

  • Example

    • Unadvertising a service (unadvertise -s)

      The following is an example of unadvertising a service whose name is TOUPPER and server process ID is 15287. Before executing advertise or unadvertise, check the service status using the st command.

      $$1 tmax1 (tmadm): st -p -x
      
      CLH 0:
      ----------------------------------------------------------------
      svr_name     svgname    spr_no    status     count     avg      svc
                        PID     fail_cnt  err_cnt  min_time  max_time
                       utime  umin_time  umax_time   stime  smin_time  smax_time
      ----------------------------------------------------------------
      svr2         svg1           36       RDY          0       0.000     -1
                    15285           0       0      0.000      0.000
                    0.000      0.000      0.000      0.000      0.000      0.000
      svr2         svg1           37       RDY          0       0.000     -1
                    15286           0       0      0.000      0.000
                    0.000      0.000      0.000      0.000      0.000      0.000
      svr2         svg1           38     RDY          0      0.000     -1
                    15287           0       0      0.000      0.000
                    0.000      0.000      0.000      0.000      0.000      0.000
      ----------------------------------------------------------------
         TOTAL COUNT = 0
         TOTAL SVCFAIL COUNT = 0
         TOTAL ERROR COUNT = 0
         TOTAL RUNNING COUNT = 0
      
      $$1 tmax1 (tmadm): unadvertise -s TOUPPER –p 15287
      TOUPPER is unadvertise
      $$8 tmaxh4 (tmadm): st -s
      
      CLH 0:
      ----------------------------------------------------------------
      svc_name  svr_name   count   cq_cnt   aq_cnt   q_avg    avg   status
      ----------------------------------------------------------------
      TOUPPER    svr2           0       0       0       0.000   0.000  PUNADV
    • Advertising a service (advertise -s)

      The following is an example of advertising an unadvertised service. Before executing advertise or unadvertise, check the service status using the st command.

      $$1 tmax1 (tmadm): st -p -x
      
      CLH 0:
      ----------------------------------------------------------------
      svr_name     svgname    spr_no    status     count     avg      svc
                        PID     fail_cnt  err_cnt  min_time  max_time
                       utime  umin_time  umax_time   stime  smin_time  smax_time
      ----------------------------------------------------------------
      svr2         svg1           36       RDY          0       0.000     -1
                    15285           0       0      0.000      0.000
                    0.000      0.000      0.000      0.000      0.000      0.000
      svr2         svg1           37       RDY          0       0.000     -1
                    15286           0       0      0.000      0.000
                    0.000      0.000      0.000      0.000      0.000      0.000
      svr2         svg1           38     RDY          0      0.000     -1
                    15287           0       0      0.000      0.000
                    0.000      0.000      0.000      0.000      0.000      0.000
      ----------------------------------------------------------------
         TOTAL COUNT = 0
         TOTAL SVCFAIL COUNT = 0
         TOTAL ERROR COUNT = 0
         TOTAL RUNNING COUNT = 0
      
      $$1 tmax1 (tmadm): advertise -s TOUPPER –p 15287
      TOUPPER is advertise
      
      $$11 tmaxh4 (tmadm): st -s
      
      CLH 0:
      ----------------------------------------------------------------
      svc_name    svr_name    count  cq_cnt  aq_cnt   q_avg    avg  status
      ----------------------------------------------------------------
      TOUPPER      svr2           0       0        0      0.000    0.000  RDY

5.4. restat

Resets the statistics of the specified server process or all server processes. This command can only be used when tmadmin is running in the master mode.

  • Usage

    $$1 tmax1 (tmadm): restat [ -v [server_process_name] ] [ -a ]
    Option Description

    [-v [server_process_name]]

    Resets statistics of the specified server process.

    [-a]

    Resets statistics of all server processes.

5.5. rebootsvr (rbs)

Replaces the specified currently running server processes with new ones.

The directory TMAX_BKAPPDIR must be defined in .profile and the executable file of the new program must be placed under this directory. For example, move the file to $TMAXDIR/bk_appbin, and execute the following command.

  • Usage

    $$1 tmax1 (tmadm): rbs new_file old_file
    Item Description

    new_file

    Name of the new file.

    old_file

    Name of the existing file.

Procedure for executing rbs

The following are the steps for executing rbs.

  1. Add the following variable to .profile.

    export TMAX_BKAPPDIR=/data2/starbj81/tmax64/bk_appbin
  2. Create the directory (bk_appbin) in the location specified in step 1.

    $mkdir bk_appbin
  3. Copy the execution file from appbin to bk_appbin.

    $cp appbin/svr2 bk_appbin/
  4. Execute tmadmin -m, and then run the rbs command.

    • If a server does not start or MIN is set to 1 and MAX is set to 1, suspending and resuming are performed when replacing the server.

      The following example starts the svr2 server process for which MIN is set to 1 and MAX is set to 1.

      $$1 tmax1 (tmadm): rbs svr2 svr2
      >> suspend ok
      >> down ok
      >> cp ok
      >> boot ok
      >> resume ok
      >> reboot svr /data2/starbj81/tmax64/appbin/svr2 finished
    • Unless, server processes are ended and started sequentially for the replacement.

      The following example starts the svr2 server process for which MIN is set to 3.

      $$1 tmax1 (tmadm): rbs svr2 svr2
      TMBOOT for node(tmaxh2) is starting:
              TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting:
               Fri Dec 19 11:21:06 2003
      TMBOOT for node(tmaxh2) is starting:
              TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting:
              Fri Dec 19 11:21:06 2003
      TMBOOT for node(tmaxh2) is starting:
              TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting:
              Fri Dec 19 11:21:06 2003
      
      >> 3 servers booted using tmp execfile _rbs01_svr2
      >> reboot svr /data2/starbj81/tmax64/appbin/svr2 finished
  5. Use the 'ps' command to verify that the server processes have been started successfully.

    • When three svr2 server processes are running

      $ps –ef | grep svr2
      starbj81 21710     1  0 11:46:32 pts/ts    0:00 _rbs00_svr2 -b -21709
                        -S svr2 -s svr2 -d -1 -v 21689
      starbj81 21713     1  0 11:46:32 pts/ts    0:00 _rbs00_svr2 -b -21712
                        -S svr2 -s svr2 -d -1 -v 21689
      starbj81 21716     1  0 11:46:32 pts/ts    0:00 _rbs00_svr2 -b -21715
                       -S svr2 -s svr2 -d -1 -v 21689
    • When one svr2 server process is running

      $ps –ef | grep svr2
      starbj81 21607     1  0 11:43:46 pts/ts    0:00 svr2 -s svr2 -g 2

If there are two or more server processes with the same name, the new server processes will be started after shutting down the current server processes one by one.

For instance, if the rbs is executed for svr1 whose MIN is set to 2, it will execute in the following order.

  1. Terminate the first svr1.

  2. Copy the temporary file (_rbs00_svr1) to the bk_appbin directory.

  3. Start _rbs00_svr1.

  4. Terminate the second svr1.

  5. Copy the temporary file (_rbs00_svr1) to the bk_appbin directory.

  6. Start _rbs00_svr1.

Version concurrency control when replacing a server

Version concurrency control is preventing processes of different versions from concurrently executing services. Executing rbs allows for concurrency control and dynamic server process update for services that have not been updated.

  • Usage

    $$1 tmax1 (tmadm): rbs [-S | -s svc_name,...] newfile svr_name [svg_name]
    Item Description

    [-S]

    Suspends all services of the server.

    [-s svc_name,…​]

    Suspends only one service of the server.

    newfile

    New file name.

    svr_name

    Name of the server to suspend.

    [svg_name]

    Server group that the server to be suspended belongs to.

  • Example

    • When updating a specific service of the server (-s)

      In the following example, the TOUPPER service of svr2 is temporarily suspended while other services continue to run.

      $$1 tmax1 (tmadm): rbs -s TOUPPER svr2_new svr2

      In the following example, TOLOWER and TOUPPER services of svr2 are temporarily suspended while other services continue to run. To specify multiple service names, use a comma(,) without blank spaces as a delimiter.

      $$1 tmax1 (tmadm): rbs -s TOUPPER,TOLOWER svr2_new svr2
    • When updating all services of the server (-S)

      In the following example, all services of svr2 are suspended temporarily.

      $$1 tmax1 (tmadm): rbs -S svr2_new svr2

      In the following example, all services of svr2 of the svg1 server group are suspended temporarily.

      $$1 tmax1 (tmadm): rbs -S svr2_new svr2 svg1
      1. If the option(-s or -S option) for rbs is not specified, version concurrency is not guaranteed.

      2. If the COUSIN group is set for only one Node, the rbs command cannot be executed for a svgname.

Version concurrency control in a multi-node environment

Controlling version concurrency in a multi node environment means preventing processes of different versions from concurrently executing services in a multi-node environment. Executing rbs in a multi node environment where load balancing option is enabled allows for concurrency control and dynamic server process update for unmodified services.

  • Usage

    $$1 tmax1 (tmadm): mrbs [-S | -s svc_name,...] newfile svr_name
    Item Description

    [-S]

    Suspends all services of the server.

    [-s svc_name]

    Suspends only one service of the server.

    newfile

    New file name.

    svr_name

    Name of the server to suspend.

  • Example

    • When updating a specific service of the server (-s)

      In the following example, the TOUPPER service of svr2 is temporarily suspended while other services continue to run.

      $$1 tmax1 (tmadm): mrbs -s TOUPPER svr2_new svr2

      In the following example, TOLOWER and TOUPPER services of svr2 are temporarily suspended while other services continue to run. To specify multiple service names, use a comma(,) without blank spaces as a delimiter.

      $$1 tmax1 (tmadm): mrbs -s TOUPPER,TOLOWER svr2_new svr2
    • When updating all services of the server (-S)

      In the following example, all services of svr2 are suspended temporarily.

      $$1 tmax1 (tmadm): mrbs -S svr2_new svr2
Executing rbs for a server that belongs to the COUSIN group of a node

If two or more server groups are set as COUSIN in a node, rbs (server exchange) can be executed for all servers that belong to the COUSIN server groups.

5.6. cfgadd (ca)

Dynamically adds a service to a specific server program while Tmax is running by only shutting down the related server. A server, server group, or node can also be added dynamically during operation. In Tmax 5 and later, a binary configuration file cannot be added dynamically without using the -a option of CFL. Therefore, a configuration file must be compiled with the -a option.

For restrictions on dynamically adding a service by using cfgadd(ca), refer to Restrictions on dynamic addition using cfgadd(ca).

  • Usage

    $$1 tmax1 (tmadm) :  cfgadd (ca)  - i  cfgfile
    Item Description

    - i cfgfile

    Configuration file name of the service to add.

Dynamically adding a service

The following is the process of executing cfgadd(ca) to dynamically add a service.

  1. Modify the configuration file.

    $vi modify.m
  2. Execute cfl with the -a option to compile the modified file and the -o option to create a binary configuration file with a different name.

    $cfl -a modify.m -o tmchg
  3. Execute gst to create a service table.

    $gst -f tmchg
  4. Execute "tmadmin –m" and use cfgadd(ca) to add the service.

    $cfgadd -i tmchg
  5. Compile the server program.

    $compile c svr1
  6. Load the server process.

    $tmboot –S svr1
Dynamically adding a server

The following is the process of executing cfgadd(ca) to dynamically add a server.

  1. Add a new server to a configuration file.

    <modify.m>

    *SERVER
    Existing items
    ........
    hello           SVGNAME = svg1
    *SERVICE
    Existing items
    ........
    HELLO           SVRNAME = hello
  2. Compile the modified configuration file (modify.m).

    cfl -a modify.m -o tmchg
  3. Create a service table.

    gst -f tmchg
  4. Use cfgadd –i to add the configuration file.

    tmaxi1@dhjang ./config > tmadmin -m
    $$3 tmaxi1 (tmadm): si
    -------------------------------------------------------------
    clh  svrname (svri) status   count   qcount   qpcount  emcount
    -------------------------------------------------------------
    0   tmaxgw  (  0)    RDY      0        0        0        0
    0   toupper ( 18)    RDY      0        0        0        0
    
    $$4 tmaxi1 (tmadm): cfgadd -i tmchg
    config is successfully added
    $$5 tmaxi1 (tmadm): si
    -------------------------------------------------------------
    clh  svrname (svri) status   count   qcount   qpcount  emcount
    -------------------------------------------------------------
    0   tmaxgw  (  0)    RDY      0        0        0        0
    0   toupper ( 18)    RDY      0        0        0        0
    0   hello   ( 19)   NRDY      0        0        0       0

    The hello server is in the NRDY state.

  5. Enter the following command: tmboot -S hello -f tmchg.

    tmaxi1@dhjang ./config > tmboot -S hello -f tmchg
    TMBOOT for node(tmaxi1) is starting:
    Welcome to Tmax demo system: it will expire 2002/8/31
    Today: 2002/8/19
            TMBOOT: SVR(hello) is starting: Mon Aug 19 15:37:44 2002
  6. Execute the si command to check if the server hello is RDY.

    $$6 tmaxi1 (tmadm): si
    -------------------------------------------------------------
    clh  svrname (svri) status   count   qcount   qpcount  emcount
    -------------------------------------------------------------
    0   tmaxgw  (  0)    RDY      0        0        0        0
    0   toupper ( 18)    RDY      0        0        0        0
    0   hello   ( 19)    RDY      0        0        0       0
Dynamically adding a server group

The process for dynamically creating a new server group is essentially the same as that for dynamically adding a server. The only difference is the settings in the new configuration file. The configuration file must include settings for the server group being created, as well as the servers and services that will belong to the server group.

<tmchg.m>

*SVRGROUP
svg2        NODENAME = "aix5l"

*SERVER
svr3        SVGNAME = svg2, MIN = 1, MAX = 10

*SERVICE
FDLTOUPPER  SVRNAME = svr3
FDLTOLOWER  SVRNAME = svr3
Dynamically adding a node

The following is the process of executing cfgadd(ca) to dynamically add a node. It can also be used to add the node that a COUSIN server group belongs to.

The following is the process of executing cfgadd(ca) to dynamically add a node.

  1. Modify the configuration file.

    <tmconfig_add.m>

    *DOMAIN
    tmax1           SHMKEY = @SHMEMKY@, MINCLH = 1, MAXCLH = 3,
                    TPORTNO = @TPORTNO@, BLOCKTIME = 300, MAXCPC = 100,
                    RACPORT = @TRACPORT@
    *NODE
    @HOSTNAME@      TMAXDIR = "@TMAXDIR@",
                    APPDIR  = "@TMAXDIR@/appbin",
    @RMTNAME@       TMAXDIR = "@RMTDIR@",
                    APPDIR  = "@RMTDIR@/appbin",
    
    *SVRGROUP
    #svg1            NODENAME = "@HOSTNAME@",COUSIN = "svg2",LOAD = 2 <- Existing item
    svg1            NODENAME = "@HOSTNAME@",COUSIN = "svg2,svg3",LOAD = 2 # <- Modified item
    svg2            NODENAME = "@RMTNAME@",LOAD = 1
    
    *SERVER
    svr2            SVGNAME = svg1
    
    *SERVICE
    TOUPPER         SVRNAME = svr2
    TOLOWER         SVRNAME = svr2
    
    #Added items
    
    *NODE
    @RMTNAME2@      TMAXDIR = "@RMTDIR2@",
                    APPDIR  = "@RMTDIR2@/appbin",
    
    *SVRGROUP
    svg3            NODENAME = "@RMTNAME2@",LOAD = 1
  2. Execute racd on the newly added node.

    Node3>$ racd -k
  3. Compile the configuration file. Compile tmconfig_add.m, the configuration file to which the new node has been added. Execute cfl with the –o option to create a binary configuration file with a different name.

    node1>$cfl -a tmconfig_add.m –o tmchg
    CFL is done successfully for node(node1)
    
    CFL: rcfl start for rnode (node2)
    CFL is done successfully for node(node2)
    
    CFL: rcfl start for rnode (node3)
    CFL is done successfully for node(node3)
  4. Compile the server. Compile the server of the node to be added.

    node3>$ gst -f tmchg
    node3>$ compile c svr2
  5. Add the node. Dynamically add the node with the cfgadd command of tmadmin. Note that the command must be executed on each node as 'tmadmin –l'.

    The following is an example of adding node3 when node1 and node2 already exist.

    # node1
    $ node1>tmadmin –l -m
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    
    $$2 node1 (tmadm): cfgadd -i tmchg
    (I) TMM0211 General Infomation : CFGADD started [TMM0902]
    (I) TMM0211 General Infomation : CFGADD completed [TMM0907]
    config is successfully added
    
    # node2
    $ node2>tmadmin –l -m
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    
    $$2 node2 (tmadm): cfgadd -i tmchg
    (I) TMM0211 General Infomation : CFGADD started [TMM0902]
    (I) TMM0211 General Infomation : CFGADD completed [TMM0907]
    config is successfully added
  6. Load the newly added node (node3).

    Node3>tmboot -n tmaxh4 -f tmchg
    TMBOOT for node(tmaxh4) is starting:
    Welcome to Tmax demo system: it will expire 2008/11/23
    Today: 2008/9/24
            TMBOOT: TMM is starting: Wed Sep 24 11:11:59 2008
            TMBOOT: CLL is starting: Wed Sep 24 11:11:59 2008
    (I) TMM0211 General Infomation : node register (nodeno = 0(0)) success [TMM0404]
    (I) TMM0211 General Infomation : node register (nodeno = 1(1)) success [TMM0404]
            TMBOOT: CLH is starting: Wed Sep 24 11:11:59 2008
    (I) CLH9991 Current Tmax Configuration: Number of client handler(MINCLH) = 1
                    Supported maximum user per node = 7966
                    Supported maximum user per handler = 7966 [CLH0125]
            TMBOOT: TLM(tlm) is starting: Wed Sep 24 11:11:59 2008
            TMBOOT: SVR(svr2) is starting: Wed Sep 24 11:11:59 2008
  7. Verify that the node has been added successfully.

    node1>tmadmin
    TMADMIN for rnode (node2): starting to connect to RAC
    TMADMIN for rnode (node3): starting to connect to RAC
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    
    $$1 node1 (tmadm): ti
    
    Tmax System Info: DEMO version 4.0 SP #3 Fix #8:
    
             expiration date = 2008/11/22
             maxuser = UNLIMITED,
             domaincount = 1,
             nodecount = 3,
             svgrpcount = 3,
             svrcount = 9, svccount = 6
             rout_groupcount = 0, rout_elemcount = 0
             cousin_groupcount = 1, cousin_elemcount = 3
             backup_groupcount = 0, backup_elemcount = 0
    
    Tmax All Node Info: nodecount = 3:
    ----------------------------------------------------------------
      no   name     portno  racport  shmkey  shmsize  minclh  maxclh
    ----------------------------------------------------------------
       0   node1     8350    3155     88350   225760       1      3
       1   node2     8350    3155     88350   225760       1      3
       2   node3     8350    3155     88350   225760       1      3
    
    $$2  (tmadm): st -s
    
    CLH 0:
       --------------------------------------------------------------
       svc_name    svr_name   count cq_cnt  aq_cnt  q_avg   avg   status
       --------------------------------------------------------------
       TOLOWER       svr2         0       0       0     0.000   0.000  RDY
       TOUPPER       svr2         0       0       0     0.000   0.000  RDY
    
    Msg from rnode(node2):
    
    CLH 0:
       --------------------------------------------------------------
       svc_name    svr_name   count cq_cnt  aq_cnt  q_avg   avg   status
       --------------------------------------------------------------
       TOLOWER       svr2         0       0       0     0.000   0.000  RDY
       TOUPPER       svr2         0       0       0     0.000   0.000  RDY
    
    Msg from rnode(node3):
    
    CLH 0:
       --------------------------------------------------------------
       svc_name    svr_name   count cq_cnt  aq_cnt  q_avg   avg   status
       --------------------------------------------------------------
       TOLOWER       svr2         0       0       0     0.000   0.000  RDY
       TOUPPER       svr2         0       0       0     0.000   0.000  RDY
Restrictions on dynamic addition using cfgadd(ca)

Dynamically adding a service, server, server group or node by using cfgadd(ca) has the following restrictions:

  • An item can only be added, not removed. To remove an item, remove it from the existing environment file and execute cfl before restarting Tmax.

  • An item name that exists in the configuration file cannot be duplicated in the newly added configuration file.

  • When the contents of a newly added configuration file are applied to the existing configuration file, they must be added to the end of each section. If items are inserted in the middle of the existing configuration or the order is changed, the operating environment information can be modified incorrectly. Attention is required.

  • Items can be added to the MAXNODE, MAXSVG, MAXSVR, MAXSPR, MAXSVC, MAXTMS, and MAXCPC settings. Do not modify the items' values.

  • When adding an XA server group, specify TMS and check that the program has been created.

  • RQ cannot be added dynamically.

  • A server group that has a COUSIN/BACKUP cannot be added or removed.

  • A gateway that has a COUSIN/BACKUP cannot be added or removed.

  • A service that is dynamically added to the server group, which has a COUSIN/BACKUP, cannot be removed.

  • When adding the service, server, and server group, cfl must be used to create a binary configuration file for the dynamic addition.

    If a binary configuration file, which is created using cfl without the -a option, is added dynamically, the following error message will be displayed.

    (E) ADM2048 Engine type mismatch (0): 'a' option must be used [ADM0417]

5.7. set

Dynamically modifies the settings in the configuration file.

Execute the cfg command to check which items in the configuration file can be modified. The items with an abbreviation inside brackets can be modified by using the set command.

  • Usage

    $$1 tmax1(tmadm): set [-d [domain]| -g [server_group]| -v [service]|
                           -s [server]] Item Value
    Item Description

    [-d [domain]]

    Modify DOMAIN section. To modify a specific domain, specify the domain name.

    [-g [server_group]]

    Modify GATEWAY section. To modify a specific server group, specify the server group name.

    [-v [service]]

    Modify SERVICE section. To modify a specific service, specify the service name.

    [-s [server]]

    Modify SERVER section. To modify a specific server, specify the server name.

    Item

    Item to modify.

    Value

    New value.

  • Example

    The following is an example of using each command.

    $$1 tmax1 (tmadm): set -d res1 bt 100
    $$1 tmax1 (tmadm): set -g svg1 ld 5
    $$1 tmax1 (tmadm): set -v kfdl1 mq 1000
    $$1 tmax1 (tmadm): set -s SYNC pr 100
    $$1 tmax1 (tmadm): set -n tmaxh4 cb n
    $$1 tmax1 (tmadm): set -s svc_name pr 99
    $$1 tmax1 (tmadm): set -v svr2 maxsvr 10 (If changing, max(svr2) must be smaller than the previous value)
    $$1 tmax1 (tmadm): set -d dom1 portno 9999
    $$1 tmax1 (tmadm): set -g svg2 maxrstart 10
    $$1 tmax1 (tmadm): set -v svr140_A restart N
    $$1 tmax1 (tmadm): set -v gw1 schedule FA
    $$1 tmax1 (tmadm):  set -d dom nclhchktime 10

5.8. setopt

Dynamically changes an environment configuration value among options configured for TMMOPT. Configurable items can be checked using the cfgopt command in tmadmin. The items displayed by executing cfgopt can be modified dynamically.

  • Usage

    $$1 tmax1 (tmadm): setopt [-tmm][-gw] Item Value
    Item Description

    [-tmm]

    Used to change the option value defined in TMMOPT.

    [-gw]

    Used to change the option value defined in CLOPT under the GATEWAY section.

    Item

    Item to change. An item displayed by executing cfgopt. (example, -F)

    Value

    New value.

  • Example

    The following is an example of executing the command.

    $$1 tmax1 (tmadm): setopt -tmm -F 30
    new value (30) is set for section = -tmm, name = N/A, fld = -F
    $$1 tmax1 (tmadm): setopt -tmm -t 15
    new value (15) is set for section = -tmm, name = N/A, fld = -t

5.9. qpurge (qp)

Deletes the service requests that are waiting in the queue. This is usually used to remove abnormal number of accumulated requests. This command is most useful for banks, government offices and other such institutions that handle hundreds of thousands of tasks per day.

Deleted requests can be processed later when clients reissue the request. Since Tmax manages a queue for each server process, the administrator can empty a queue for a specific server process to enhance the system efficiency.

The queue purge command is abbreviated as qp. When a service request is deleted from the queue, a TPEQPURGE message (tperrno = 27) will be sent to the client that issued the request. Thus, the client will be able to reissue the request at a later time. When this command is used, information about the deleted requests and client IDs will be recorded in the slog.

  • Usage

    $$1 tmax1 (tmadm): qpurge {-v svr_name [ -k number ] | -s svc_name}
    Item Description

    -v svr_name

    Delete requests accumulated in the queue of the specified server.

    [-k number]

    Can purge some of the requests accumulated in the server Queue. Must be used with the –v option.

    If N is a number greater than 0, keep the first N number of service requests and purge any subsequent incoming requests.

    • -1: Keep as many as MAXQCOUNT requests in the queue, and purge any subsequent incoming requests.

    • 0: Purge all service requests currently in the queue.

    -s svc_name

    Delete requests accumulated in the queue for the specified service.

5.10. discon (ds)

Forcibly disconnects inactive clients that are connected but are idle. Before the administrator issues this command, it is recommended to use the ci command to check the client information. The discon command is abbreviated as ds with the following options.

  • Usage

    $$1 tmax1 (tmadm): ds [-h clhno] [-f] {-a | -n | -i idle_time | -c clid | -A}
    Option Description

    [-h clhno]

    Disconnect clients connected to the CLH.

    [-f]

    Immediately disconnect clients.

    {-a}

    Disconnect all clients connected to the CLH. If the [-h] option is not used, the client connected to CLH 0 is disconnected by default.

    {-n}

    Disconnect clients with inaccurate information. Buffer allocated by tpalloc() is not used.

    {-i idle time}

    Disconnect clients from sessions that exceed the set amount of time (second).

    {-c cliid}

    Disconnect the client with the specified ID number. ID number must be specified.

    {-A}

    Disconnect clients connected to all CLHs.

5.11. logstart/logend

The administrator can use these two commands to create a log which will allow them to access various information in real time to take immediate and appropriate actions for each situation. The tmadmin tool logs administrative data for statistics analysis. The log file will be created in the current directory. By viewing the log data, the administrator will be able to analyze the system performance to determine the peak times, unnecessary server processes, and queue status.

Logging will begin when the logstart command is executed, and terminate when the logend command is executed.

  • Usage

    • Start logging (logstart)

      $$1 tmax1 (tmadm): logstart filename
      Item Description

      filename

      Log file name.

    • End logging (logend)

      $$1 tmax1 (tmadm): logend

5.12. chtrc

TMAX_TRACE enables runtime tracing in a Tmax system. To use this function, TMAX_TRACE must be defined in the Tmax configuration file, and the chtrc command can be used in tmadmin to dynamically modify the configurations.

  • Usage

    chtrc [-g svgname | -v svrname | -g svgname -v svrname |
           -i spri | -g svgname -i spri | -e gqs] -s spec
    Option Description

    [-g svgname]

    Modifies specifications of the server group.

    [-v server]

    Modifies specifications of the server.

    [-g svgname -v server]

    Modifies specifications of the server in the server group.

    [-i spri]

    Modifies specifications of the server process.

    [-g svgname -i spri]

    Modifies specifications of the server process in the server group.

    [-e gqs]

    Modifies specifications of gqs.

    -s newspec

    New specifications.

  • Example

    • Modifying the spec of all servers on a node (-s)

      The following is an example of modifying the spec of all servers on a specific node in a single node environment.

      $$1 tmaxs1 (tmadm): chtrc -s newspec

      The following is an example of applying a new TRACE spec to a specific node in a multi node environment.

      $$1 tmaxh3 (tmadm): nodeset $HOSTNAME
      node is set to $HOSTNAME
      $$2 tmaxh3 (tmadm): chtrc –s newspec
    • Modifying server group spec (-g)

      The following is an example of modifying the spec of all servers of a specific server group.

      $$1 tmaxs1 (tmadm): chtrc -g svgname -s newspec
    • Modifying server spec (-v)

      The following is an example of modifying the spec of all servers of a specific server group.

      $$3 tmaxs1 (tmadm): chtrc -v server -s newspec

      The following is an example of modifying the spec of a specific server of a server group.

      $$3 tmaxs1 (tmadm): chtrc -g svgname -v server -s newspec
    • Modifying the spec of a specific server process (-i)

      The following is an example of modifying the spec of a particular server process.

      $$4 tmaxs1 (tmadm): chtrc -g svgname -i sprno -s newspec

5.13. chlog

Dynamically changes the log level in order to rapidly handle specific error conditions. The module must be in debug mode to check the log using chlog. The cfg command can be used to confirm that the change to the log level has been applied successfully.

  • Usage

    $$1 tmaxs1 (tmadm) : chlog [-t | -c | -v [server_name] |
                 -g [server_group_name]| -m] -l [loglvl]
    Option Description

    [-t]

    TMM log level.

    [-c]

    CLH log level.

    [-v [server_name]]

    Log level of the specified server.

    [-g [server_group_name]]

    Log level of the specified server group.

    [-m]

    TMS log level.

    -l [loglvl]

    Actual log level. Select one of the following options.

    • COMPACT, BASIC, DETAIL, DEBUG1, DEBUG2, DEBUG3, DEBUG4

    COMPACT logs least details, and DEBUG4 logs most details.

  • Example

    • Dynamically modifying the TMM log level (-t)

      The following is an example of dynamically changing the log level of TMM.

      tmaxh2:/data1/starbj81/tmax/config> tmadmin -l -m
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxh2 (tmadm): chlog -t -l DEBUG4
      log level is updated
      $3 tmaxh2 (tmadm): cfg -n
          node_name = tmaxh2, hostname = tmaxh2, node_no = 1
      ...
          tmmloglvl = DEBUG4,
      ...
    • Dynamically modifying the CLH log level (-c)

      The following is an example of dynamically changing the log level of CLH.

      tmaxh2:/data1/starbj81/tmax/config> tmadmin -m -l
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxh2 (tmadm): chlog -c -l COMPACT
      log level is updated
      $$2 tmaxh2 (tmadm): cfg -n
          node_name = tmaxh2, hostname = tmaxh2, node_no = 1
          tmmloglvl = DEBUG4,
          clhloglvl = COMPACT,
      ...
    • Dynamically modifying the TMS log level (-m, -g)

      The following is an example of dynamically changing the log level of TMS.

      $$3 tmaxh4 (tmadm): chlog -m -g svg32306X -l debug3
      log level is updated
      $$4 tmaxh4 (tmadm): cfg –g
          svg_name = svg32306X, svg_no = d
          tmsloglvl = DEBUG3,
      ...
    • Dynamically modifying the log level of a server group (-g)

      The following is an example of dynamically changing the log level of a specific server group.

      $$4 tmaxh2 (tmadm): chlog -g svg3 -l DETAIL
      log level is updated
      $$5 tmaxh2 (tmadm): cfg -g
          svg_name = svg3, svg_no = 10002
          loglvl = DETAIL
      ...

5.14. chlog2

Dynamically changes the log level in order to rapidly handle specific error conditions. This command includes all functions of chlog and can also change log levels for TLM, CAS, CLL, RS, SQ, HMS, RQS, and gateways. The cfg command can be used to confirm that the change to the log level has been applied successfully.

  • Usage

    $$1 tmaxs1 (tmadm) : chlog2 -t [type_name] [-n name] -l [loglvl]
    Option Description

    -t [type_name]

    Module whose log level is changed.

    • TMM: TMM

    • CLH: CLH

    • TLM: TLM

    • CAS: CAS

    • RS: Real server

    • SQ: Session queue server

    • TG: TmaxGrid server

    • TMS: TMS

    • HMS: HMS

    • RQ: Reliable queue server

    • GW: Gateway

    • SVG: Server group

    • SVR: Server

    • CLL: CLL

    -n [name]

    Configured server group name for TMS, HMS, and RQ, gateway name for GW, and server group name for SVG. No name is necessary for other modules.

    • TMM: TMM

    • CLH: CLH

    • TLM: TLM

    • CAS: CAS

    • RS: Real server

    • SQ: Session queue server

    • TG: TmaxGrid server

    • TMS: TMS

    • HMS: HMS

    • RQ: Reliable queue server

    • GW: Gateway

    • SVG: Server group

    • SVR: Server

    • CLL: CLL

    -l [loglvl]

    Actual log level. Select one of the following options.

    • COMPACT, BASIC, DETAIL, DEBUG1, DEBUG2, DEBUG3, DEBUG4

    COMPACT logs least details, and DEBUG4 logs most details.

  • Example

    • Dynamically modifying the TMM log level

      The following is an example of dynamically changing the log level of TMM.

      tmaxh2:/data1/starbj81/tmax/config> tmadmin -l -m
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxh2 (tmadm): chlog2 -t TMM -l DEBUG4
      log level is updated
      $3 tmaxh2 (tmadm): cfg -n
          node_name = tmaxh2, hostname = tmaxh2, node_no = 1
      ...
          tmmloglvl = DEBUG4,
      ...
    • Dynamically modifying the CLH log level

      The following is an example of dynamically changing the log level of CLH.

      tmaxh2:/data1/starbj81/tmax/config> tmadmin -m -l
      --- Welcome to Tmax Admin (Type "quit" to leave) ---
      
      $$1 tmaxh2 (tmadm): chlog2 -t CLH -l COMPACT
      log level is updated
      $$2 tmaxh2 (tmadm): cfg -n
          node_name = tmaxh2, hostname = tmaxh2, node_no = 1
          tmmloglvl = DEBUG4,
          clhloglvl = COMPACT,
      ...

5.15. txcommit/txrollback

If a transaction processing does not complete for a certain amount of time due to a network or TMS failure, the administrator can reissue the commit / rollback and complete the transaction. Txcommit can only be used when the Decision is COMMIT in the PHASE2 stage. Txrollback can only be used when the Decision is ROLLBACK in the PHASE1 or PHASE stage.

  • Usage

    $$1 tmax1 (tmadm): txrollback(txr) | txcommit(txc) [-w] [-y]
                       <upper-global-xid><lower-global-xid>
    Item Description

    [-w]

    Used for a domain sub-transaction.

    [-y]

    Does not go through the checking process for txcommit / txrollback.

    upper-global-xid

    First 4 bytes of gtid of xid to process.

    lower-global-xid

    Last 4 bytes of gtid of xid to process.

txcommit and txrollback are used to reprocess a transaction that is queried via txquery. After reprocessing, it is important to check the result through txquery.

5.16. wsgwreload

Modifies the configuration of service or web service gateway at runtime. Once the command is executed, the web service gateway does not respond to new service requests. It only completes processing services that are in progress, and then applies the changed settings and resumes service processing.

  • Usage

    $$1 tmax1 (tmadm): wsgwreload [-i svrid[svrid]]
    Option Description

    [-i svrid [ svrid]]

    List of svrid’s to apply the changes.

5.17. restart

Terminates the currently running server processes and restarts as many as MIN number of server processes.

  • Usage

    $$1 tmax1 (tmadm): restart [-v[server_name]] [-g[server_group_name]]
    Option Description

    [-v[server_name]]

    Restarts the specified server.

    [-g[server_group_name]]

    Restarts the servers of the specified server group.

  • Example

    • The following is an example of using the restart command.

      $$2 tmaxc1 (tmadm): restart -v svr01021
      >> suspend ok
      >> down ok
      >> boot ok
      >> resume ok
      >> reboot svr svr01021 finished
      
      
      $$2 tmaxc1 (tmadm): restart -g svg1
      >> suspend ok
      >> down ok
      >> boot ok
      >> resume ok
      >> reboot svr svr01021 finished
      >> suspend ok
      >> down ok
      >> boot ok
      >> resume ok
      >> reboot svr svr01022 finished

5.18. notify_reconnect_clh (nrc)

Manually establishes a connection to CLH for a server process that cannot automatically make a connection to the CLH during Tmax operation.

  • Usage

    $$1 tmax1 (tmadm): notify_reconnect_clh clh_index spr_index
    Option Description

    clh_index

    CLH number to connect to.

    spr_index

    spr number to establish a connection.

    spr number (spr_no) can be checked by using st -p in tmadim.

5.19. admnoti (an)

Sends events to TCS, UCS, and RDP servers. A server that receives an event calls a user-specified callback function to handle the event. If a callback function is not specified, the event is ignored. This command can be used only in master mode (tmadmin -m).

The tpregancb API can be used in TCS, UCS, and RDP to write event handling code.

  • Usage

    $$1 tmax1 (tmadm): admnoti [-a | -g svgname | -p spri| -P pid] [notification message]
    Option Description

    -a

    Sends an event to all server processes.

    -g svgname

    Sends an event to all server processes included in svgname.

    -v svrname

    Sends an event to all server processes with the svrname.

    -p spri

    Sends an event to server process with the spri.

    -P pid

    Sends an event to server process with the pid.

    notification message

    Message to send to the callback function.