Chapter 5. Tmax Management

Table of Contents

5.1. Overview
5.2. tmadmin
5.3. Configuration Information Commands
5.3.1. tmaxinfo(ti)
5.3.2. history
5.3.3. config(cfg)
5.3.4. configopt(cfgopt)
5.4. Status Information Commands
5.4.1. stat(st)
5.4.2. gwinfo
5.4.3. txgwinfo / nontxgwinfo
5.4.4. jgwinfo / ajgwinfo
5.4.5. wsgwinfo
5.4.6. smtrc
5.4.7. clhsinfo
5.4.8. tmmsinfo
5.4.9. repeat(r)
5.4.10. clientinfo(ci)
5.4.11. svrinfo(si)
5.4.12. txquery(txq)
5.4.13. rqstat(rqs)
5.5. Administrative Commands
5.5.1. suspend(sp)
5.5.2. resume(rs)
5.5.3. Advertise/Unadvertise
5.5.4. restat
5.5.5. rebootsvr(rbs)
5.5.6. cfgadd(ca)
5.5.7. set
5.5.8. setopt
5.5.9. qpurge(qp)
5.5.10. discon(ds)
5.5.11. logstart / logend
5.5.12. chtrc
5.5.13. chlog
5.5.14. txcommit / txrollback
5.5.15. wsgwreload
5.5.16. restart
5.5.17. notify_reconnect_clh

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

5.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.

5.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 [-ㅣ] [-s|m] [-h] [-f [config_file]] 
              [-n [node_name]] [-v] [-V]  [-p] [-t]
    OptionDescription
    [-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 use the master mode. Users will be able to dynamically modify the system. 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 (tmconfg).
    [-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
    TypeDescription
    STARTOutput the start time when a command is executed on the console.
    ENDOutput the end time when command execution is complete (after executing commands on the remote node).
    R_ENDWhen 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_STARTIf the repeat command of tmadmin is executed, time before starting each execution is output.
    RP_ENDIf 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 commands can be used in tmadmin.

  • Configuration information commands

    CommandDescription
    tmaxinfo(ti)Displays Tmax system information.
    history(hist)Displays command history (commands used previously).
    config(cfg)Displays environment configuration information.
    configopt(cfgopt)Displays current settings that can be modified dynamically among the configured options such as TMMOPT.
  • Status information commands

    CommandDescription
    stat(st)Provides statistics on process and service states.
    gwinfoChecks the channel states of the gateways defined in the GATEWAY section.
    txgwinfo(txgwi)Displays Tmax gateway information.
    nontxgwinfoDisplays Tmax non-transaction gateway information.
    jgwinfoDisplays JEUS gateway information.
    ajgwinfoDisplays JEUS async gateway information.
    wsgwinfoDisplays Web service gateway information.
    smtrcChecks the service status using GID.
    clhsinfoChecks the connection status between CLHs in a multi node environment.
    tmmsinfoChecks 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

    CommandDescription
    suspend(sp)Suspends a running server process.
    resume(rs)Resumes a suspended server process.
    advertise/unadvertiseAdvertises/unadvertises a name of a particular service.
    restatResets the statistics on a specific server process or all processes.
    rebootsvr(rbs)Restarts a server process.
    cfgadd(ca)Dynamically adds a service.
    setModifies configuration options dynamically.
    setoptDynamically 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 / logendStarts/ends logging.
    chtrcManages trace activity.
    chlogDynamically changes the log level of TMM, CLH, or a specific server at runtime.
    txcommit / txrollbackReissues Commit or Rollback to terminate the transaction, if a fault occurs during transaction processing.
    wsgwreloadApplies or modifies service information of the web service gateway.
    restartRestarts the server process.
    notify_reconnect_clh(nrc)Notifies the server process to reconnect to a specific CLH process.

  • Other

    CommandDescription
    !Repeats the previous command.
    quit(q)Terminates tmadmin.
    help(h)Displays a list of available options.
    nodeset(ns)Limits tmadmin to only monitor information from the specified node.
    nodeunset(nus)Releases restriction of monitoring information only from a specific node.
    tmdStarts a virtual client emulator, which can be used to check services without creating an actual client.

5.3. Configuration Information Commands

5.3.1. tmaxinfo(ti)

This command displays Tmax system 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).

    $$11 tmaxi7 (tmadm): ti 
    
    Tmax System Info: REAL version 5.0 SP #2: 
    
             maxuser = UNLIMITED, 
             Supported maximum user per node = 1380
             Supported maximum user per handler = 691
             domaincount = 1, 
             nodecount = 1, 
             svgrpcount = 4, 
             svrcount = 6, svccount = 11
             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   tmaxi7     7733   3333    79120   552652       1      3  

5.3.2. history

This command 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

5.3.3. config(cfg)

This command 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 "Chapter 3. Environment Configuration".

  • Usage

    $$1 tmax1 (tmadm): config (cfg) [-d] [-n] [-g[server_group_name]]
                                    [-v[service_name]][-s [service_name]] 
                                    [-w [gateway_name]] [-r] [-b] [-f] [-pr]
    OptionDescription
    [-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]]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.
    [-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 tmaxi7 (tmadm): cfg -d  
          domain_name = tmax1, 
               shmkey = 77733, 
               minclh = 1, 
               maxclh = 3, 
               maxuser = UNLIMITED, 
               portno = 7733, 
               racport = 3377, 
               cmtret = YES, 
               blocktime(bt) = 30, 
               txtime(tt) = 0, 
               nliveinq(ni) = 30, 
               security = NONE, 
               cpc = 1, 
               maxfunc = 0, 
               clichkint = 0, 
               idletime = 0, 
               node_count = 2, 
               svg_count = 2, 
               svr_count = 4, 
               cousin_count = 1, 
               cousin_gcount = 3, 
               backup_count = 0, 
               backup_gcount = 0, 
               rout_count = 0, 
               rout_gcount = 0, 
               maxsacall = 8, 
               maxcacall = 16, 
               nclhchkint = -1, 
               maxconv_node = 16, 
               maxconv_server = 8, 
               maxnode = 32, 
               maxsvg = 32, 
               maxspr = 64, 
               maxsvr = 64, 
               maxsvc = 512, 
               maxcpc = 32, 
               maxtms = 32, 
               maxrout = 16, 
               maxroutsvg = 32, 
               maxrq = 2, 
               maxgw = 10, 
               maxcousin = 16, 
               maxcousinsvg = 32, 
               maxbackup = 16, 
               maxbackupsvg = 32, 
               maxtotalsvg = 64, 
               maxprod = 0, 
               tipsvc = , 
               crypt = NO 
               maxthread = 128, 
               tmmloglvl = DETAIL, 
               clhloglvl = DETAIL, 
               tmsloglvl = DETAIL, 
               loglvl = DETAIL 
               cllblock = NO 
               tdl = NO 

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

      ItemDescription
      nodecountNumber of nodes in the domain
      svgcountNumber of server groups
      cousin_gcountNumber of groups with COUSIN defined (number of replicated server groups for load balancing)
      cousin_countNumber of all replicated server groups
      rout_countNumber of routing objects defined in the ROUTING section
      relem_countNumber of routing units for each range, which is defined in the range item of each routing object
    • All node settings (-n)

      The following is an example of checking all node settings.

      $$2 tmaxi7 (tmadm): cfg -n 
          node_name = tmaxi7, hostname = tmaxi7, node_no = 1,
               load = 0, 
               shmkey = 77733, 
               minclh = 1, 
               maxclh = 3, 
               maxuser = UNLIMITED, 
               Supported maximum user per node = 1380, 
               Supported maximum user per handler = 691,
               clhqtimeout(cqt) = 0, 
               portno = 7733, 
               racport = 3377, 
               tmaxhome = /data2/tmaxha/tmax/, 
               tmaxdir = /data2/tmaxha/tmax/, 
               appdir = /data2/tmaxha/tmax/appbin/, 
               pathdir = /data2/tmaxha/tmax/path/, 
               tlogdir = /data2/tmaxha/tmax/log/tlog/, 
               slogdir = /data2/tmaxha/tmax/log/slog/, 
               ulogdir = /data2/tmaxha/tmax/log/ulog/, 
               envfile = , 
               svgcount = 2, 
               svrcount = 4, 
               svccount = 4, 
               curclh = 1, 
               ipcperm = 1c0, 
               clichkint = 0, 
               idletime = 0, 
               tmmopt = , 
               clhopt = , 
               tlmopt = , 
               realsvr = , 
               rscpc = 4, 
               maxsvg = 32, 
               maxsprs = 64, 
               maxsvr = 64, 
               maxtmss = 32, 
               maxcpc = 32, 
               maxgwsvr = 2, 
               maxrqsvr = 2, 
               maxgwcpc = 8, 
               restart = YES, 
               maxrstart = -1, 
               gperiod = 86400, 
               autobackup = YES,
               logoutsvc = , 
               extport = 0, 
               maxthread = 128, 
               cllblock(cb) = NO, 
               cllconnlb = RR, 
               tdl = NO, 
               smsupport = NO,

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

      ItemDescription
      node_noNode number defined in the system
      svgcountNumber of server groups on the node
      svrcountNumber of servers
      svccountNumber of services
      curclhNumber of CLH processes active on the node
      maxsprsMaximum allowed number of server processes
      maxtmsMaximum allowed number of TMS processes
    • Server group settings (-g)

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

      $$2 tmaxi7 (tmadm): cfg -g svg2 
          svg_name = svg2, svg_no = 3 ,
               xaoption = , 
               openinfo = Oracle_XA+Acc=P/scott/tiger+SesTm=60, 
               closeinfo = , 
               appdir = , 
               ulogdir = , 
               svgtype = TMAX,
               envfile = , 
               tmsname = tms_ora, 
               mintms = 2, 
               maxtms = 3, 
               tmstype = STD, 
               tmsthreads = 0, 
               tmsopt = , 
               tmsrecovery = YES, 
               tmsrange = DOMAIN, 
               tmsxatime = 0, 
               load(ld) = -9, 
               tms starti = 0, 
               tms endi = 2, 
               restart = YES, 
               maxrstart = -1, 
               gperiod = 86400, 
               autobackup = YES,
               dummy = NO,
               dbname = ORACLE ,
               rmid = 0 
    • Server settings (-v)

      The following is an example of checking the server settings.

      $$4 tmaxi7 (tmadm): cfg -v svr2 
      svr_name = svr2, svr_no = 4 ,
               svgno = 2, 
               cursvr = 1, 
               clopt = , 
               seq = -1, 
               minsvr = 1, 
               maxsvr = 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 = FA, 
               cpc = 1, 
               dummy = NO, 
               aus = NO, 
               mac = NO, 
               roc = NO, 
               multiclh = YES
    • Service settings (-s)

      The following is an example of checking the service settings.

      $$5 tmaxi7 (tmadm): cfg -s 
      ---------------------------------------------------------------------------------
      svc_name     funcname  prio(pr)  autotran  svctime(st)  routno  svrname    svgno
      ---------------------------------------------------------------------------------
      _hms01                      50          NO          0      -1    _hms01        4
      TOLOWER                     50          NO          0      -1    svr2          2
      TOUPPER                     50          NO          0      -1    svr2          2
      HMS                         50          NO          0      -1    svr_hms       2
      FDLTOLOWER                  50          NO          0      -1    svr3          2
      FDLTOUPPER                  50          NO          0      -1    svr3          2
      FDLDEL                      50          NO          0      -1    fdltest       3
      FDLSEL                      50          NO          0      -1    fdltest       3
      FDLINS                      50          NO          0      -1    fdltest       3
      FDLUPT                      50          NO          0      -1    fdltest       3
      gw2301X                     50          NO          0      -1    gw2301X       0
    • Gateway configuration information (-w)

      The following is an example of checking the gateway settings.

      $$7 tmaxi7 (tmadm): cfg -w 
          gw_name = gw2301X, node_no = 0, gw_no = 0,
          gw_type = TMAX,
          portno = 4020,
          rgwaddr = 192.168.1.89,
          rgwportno = 4010,
          backup_rgwaddr = ,
          backup_rgwportno = -1,
          backup_rgwaddr2 = ,
          backup_rgwportno2 = 0,
          backup_rgwaddr3 = ,
          backup_rgwportno3 = 0,
          cpc = 2,
          timeout = 30,
          direction = BIDIR,
          maxinrgw = 32,
          clopt = ,
          ptimeout = -1,
          ptimeint = -1,
          gwchkint = -1,
          gwconnect_timeout = -1,
          nliveinq = -1

5.3.4. configopt(cfgopt)

This command displays current settings that can be modified dynamically among the defined options such as TMMOPT.

  • Usage

    $$1 tmax1 (tmadm): configopt (cfgopt) [-tmm]
    OptionDescription
    [-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.

      ItemDescription
      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.

5.4. Status Information Commands

5.4.1. stat(st)

This command 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]] [-s [service_name]]
                                 [-t [TMS_name]] [-v [server_process_name] [-pod]]
                                 [-o [sort condition]] [-n [output message line]]
                                 [-x] [-X] [-q [destination_name [-c]]]
    OptionDescription
    [-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, otherwise 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)

      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)' appended to the end of the actual status string when using 'stat -p -X'.

    [-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.

    (Example: st -p -d )

    Must be used with 'st -p', but not with 'st -p -x'.

  • Example

    • Server process information (–p)

      The following is an example of checking server process information.

      $$1 tmax1 (tmadm): st –p
      CLH 0 :
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      svr_name   svgname    spr_no    status    count     avg     svc
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      svr1          svg1          1     RDY          1     0.001     -1
      svr2          svg1          2     RDY          1     0.001     -1
      svr3          svg1          3     RDY          1     0.001     -1
      syncrtn       svg1          4     RDY          1     0.001     -1
      syncrtn       svg1          5     RDY          1     0.001     -1
      ucs           svg1          6     RDY          1     0.001     -1
      ucs           svg1          7     RDY          1     0.001     -1
      ucs           svg1          8     RDY          1     0.001     -1
      _rqsvg        rqsvg1        9     RDY          1     0.001     -1
      _rqsvg        rqsvg1       10     RDY          1     0.001     -1
      TOTAL COUNT = 1
      TOTAL AVG = 0.001
      TOTAL RUNNING COUNT = 0

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

      ItemDescription
      svr_nameServer process name.
      svgnameName of the server group that the server process belongs to.
      spr_noID of the server process.
      statusCurrent status of the server process. For more information, refer to [system status] that follows.
      countNumber of services processed.
      avgAverage processing time.
      svcName of the service being processed. If no service is currently being processed, -1 is displayed.

      [System Status]

      The following table describes the status item from the st execution result.

      StatusDescription
      RDYReady.
      NRDYNot 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.
      RUNRunning.
      UnregisteredUnregistered. Shown to the client immediately after tpend execution before the status is changed.
      BLKAll processes of the service are suspended.
      PBLKOnly some server processes of the service are suspended.
      UNADVAll server processes of the service are in the unadvertise status.
      PUNADVOnly some server processes of the service are in the unadvertise status.

      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'.

      $$1 tmax1 (tmadm): st –p s*
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      svr_name   svgname         spr_no     status      count    avg    svc
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      svr1          svg1           1     RDY          0     0.000      -1
      svr2          svg1           2     RDY          0     0.000      -1
      svr3          svg1           3     RDY          0     0.000      -1
      syncrtn       svg1           4     RDY          0     0.000      -1
      syncrtn       svg1           5     RDY          0     0.000      -1
    • Service information (–s)

      The following is an example of checking the service information.

      $$1 tmax1 (tmadm): st –s
      CLH 0:
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      svc_name svr_name count  avg   cq_count  aq_count q_avg   status 
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      FORW        svr1     0    0.000      0          0      0.000    RDY
      COMVER      svr1     3    0.670      0          0      0.000    RDY
      REGIST      svr1     0    0.000      0          0      0.000    RDY
      VIEW        svr1     0    0.000      0          0      0.000    RDY
      SYNC        svr1     10   0.000      0          0      0.000    RDY
      ASYNC       svr1     0    0.000      0          0      0.000    RDY
      CONVER_R    svr1     0    0.000      0          0      0.000    RDY

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

      ItemDescription
      svc_nameService name.
      svr_nameThe name of the server that the service belongs to.
      countNumber of services processed.
      avgAverage processing time.
      cq_countNumber of service requests currently in the queue.
      aq_countNumber of service requests that spent time in the queue.
      q_avgAverage service waiting time.
      statusCurrent 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.

      $$1 tmax1 (tmadm): st –s *W
      CLH 0:
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      svc_name svr_name count  avg   cq_count  aq_count q_avg   status 
      - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - 
      FORW        svr1     0    0.000      0          0      0.000    RDY
      VIEW        svr1     0    0.000      0          0      0.000    RDY
    • TMS information (-t)

      The following is an example of checking the TMS information.

      $$1 tmax1 (tmadm): st -t
      CLH 0: 
      ----------------------------------------------------------------
      tms_name svgname  spr_no  status  count  avg  cqcount
      ----------------------------------------------------------------
      tms_ora    svg1       0     RDY     5   0.00     2   
      tms_ora    svg1       1     RDY     4   0.00   (  1)

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

      ItemDescription
      tms_nameName of the TMS.
      svgnameName of the server group that the TMS belongs to.
      spr_noProcess ID of the TMS.
      statusCurrent status of the TMS. For more information, refer to the previous description of [system status].
      countNumber of TMS requests processed.
      avgAverage TMS processing time.
      cqcountNumber of service requests currently in the queue.

      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:

      $$20 tmaxi7 (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
         ---------------------------------------------------------------------------
         gw2301X      gw2301X         32        RDY          0      0.000         -1
                        60817498          0          0      0.000      0.000
                        0.000      0.000      0.000      0.000      0.000      0.000
         svr2         svg1            36        RDY          3      0.006         -1
                        7602750          0          0      0.000      0.018
                        0.000      0.000      0.000      0.000      0.000      0.000
         ---------------------------------------------------------------------------
         TOTAL COUNT = 3
         TOTAL SVCFAIL COUNT = 0
         TOTAL ERROR COUNT = 0
         TOTAL AVG = 0.006
         TOTAL RUNNING COUNT = 0

      When using with the 'st –s' command:

      $$1 tmax1 (tmadm): st -s -x
      
      CLH 0: 
         -----------------------------------------------------------------------------------------------
         svc_name     svr_name    count  cq_cnt  aq_cnt   q_avg    avg   status
                      fail_cnt   err_cnt      mintime      maxtime
                      utime      umin_time    umax_time    stime    smin_time    smax_time
         -----------------------------------------------------------------------------------------------
         INSERT2     xagwtest2       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.

      ItemDescription
      PIDServer process PID.
      fail_cntFailure count of the server process/service.
      err_cntError count of the server process/service.
      mintimeMinimum time used to handle a service.
      maxtimeMaximum time used to handle a service.
      utimeUser time consumed whenever a server process executes a service.
      umin_timeMinimum consumed user time.
      umax_timeMaximum consumed user time.
      stimeSystem time consumed whenever a server process executes a service.
      smin_timeMinimum consumed system time.
      smax_timeMaximum 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 condition

        ConditionDescription
        caNumber of processed requests (count)
        aaAverage processing time (avg)
        cqNumber of requests currently in the queue (cq_count)
        aqAverage number of requests in the queue (aq_count)
        qaAverage queuing time (q_avg)
        ceSorts by server based on the number of requests processed by each server.
        aeSorts by server based on the average processing time of each server.
      • Ascending order condition

        ConditionDescription
        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.

      ItemDescription
      GIf the destination is set to GLOBAL, this is displayed as 'O', otherwise it is displayed as a hyphen (-).
      destDestination name defined in the HMS section of the configuration file.
      cqcountNumber of messages that have not been processed at the destination.
      typeDestination type. Displayed as either QUEUE or TOPIC.
      apqcntTotal number of accumulated messages up to now.
      acqcntThe 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_dscrdNumber of messages that could not be processed.
      t_dscrdNumber of messages, with TTL set, that have expired.
      cons_cntNumber of consumers connected to the destination.
      prod_cntNumber 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.

      FieldDescription
      sesiNumber of the session that created the client.
      clidClient ID.
      cnameClient 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

      qcntNumber of messages that each subscriber actually possesses.
      cntNumber of messages sent or received by each client.
      f_dscrdNumber of messages that could not be processed.
      t_dscrdNumber of messages, with TTL set, that have expired.
      listenerName of the service that will receive a message for a consumer created by an ASYNC session.

5.4.2. gwinfo

This command 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]
    OptionDescription
    [-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)

    (e.g., 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.

      ItemDescription
      gw_noGateway number.
      channelDisplays whether the channel is INBOUND or OUTBOUND.
      typeDisplays whether the connected node is the main or the backup node.
      foreign_addressIP address of the connected remote gateway.
      statusConnection 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

5.4.3. txgwinfo / 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.

      ItemDescription
      gw_noGateway number.
      channelDisplays whether the channel is INBOUND or OUTBOUND.
      typeDisplays whether the connected node is the main or the backup node.
      foreign_addressIP address of the connected remote gateway.
      statusConnection 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

5.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.

      ItemDescription
      gw_noGateway number.
      channelDisplays whether the channel is INBOUND or OUTBOUND.
      typeDisplays whether the connected node is the main or the backup node.
      foreign_addressIP address of the connected remote gateway.
      statusConnection 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 

5.4.5. wsgwinfo

This command displays web service gateway information.

  • Usage

    $$1 tmax1 (tmadm): wsgwinfo [-i svrid[ svrid]]
    OptionDescription
    [-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.

    ItemDescription
    svridGateway's svr index.
    load_timeStartup time of the web service gateway.
    current_clientNumber of clients that are currently connected.
    max_attach_timeMaximum time spent for processing a single service.

5.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
    ItemDescription
    [-a]Option to display additional information including server process index(spri), user CPU time, system CPU time, and return information.
    GID0First four bytes of SysMaster GID in hexadecimal.
    GID1Last 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.

    ItemDescription
    sysmaster_global_idSysMaster GID.
    statusStatus of the service.
    svc_nameService name.
    ctimeLog creation time.
    svctimeLog service time.
    spriIndex of the server processes that executed the service.
    ucpuUser CPU time.
    scpuSystem CPU time.

5.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.

    ItemDescription
    nodenameNode name.
    clhnoCLH number.
    cpcCPC number.
    statusNode status. For more information about a node status, refer to [node status] that follows.

    [Node Status]

    The following describes each node status.

    StatusDescription
    NOT_READY(NRDY)Not connected or disconnected with the target CLH.
    READY(RDY)Connected.
    REGISTERED(REG)Nodes are currently being connected.
    UNREGISTERED(UNR)Node has been terminated via tmdown.
    NCLHSTARTED(NSTRT)Nodes are currently being connected, and CLH of the target node has started.
    TRYINGTOCONNECT(CTNG)Only TCP/IP socket is connected between nodes, but a connection message has not yet been transmitted to the target node.
    ALIVECHECK(NPING)Node is connected, and is currently performing alive check.
    ALIVECHECK2(NPING2)No response has been issued from the node for the alive check request.

5.4.8. tmmsinfo

The tmmsinfo command 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.

    ItemDescription
    noTMM number.
    nodenameNode name.
    livectimeLatest channel use time.
    statusCurrent node status. For more information, refer to [node status].

5.4.9. repeat(r)

This command 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 s command to repeat
    ItemDescription
    -k nOption to repeat n times.
    -i sOption to repeat at s-second intervals.
    Command to repeatTarget 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 5 st -s

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

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

5.4.10. clientinfo(ci)

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

  • Usage

    $$1 tmax1 (tmadm): ci [–s]
    OptionDescription
    [-s]Total number of connected clients.
  • Example

    The following is an example of using the command.

    $$1 tmax1 (tmadm): ci
    CLH 0:
    ---------------------------------------------------------------------------
       cli_id    clid    status    count   lastin_time   ipaddr      usrname
    ---------------------------------------------------------------------------
         0   0x00200000    RDY         0         10       192.168.1.43  
         1   0x00200001    RDY         0         91       192.168.1.43   tmax
    

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

    ItemDescription
    cli_idClient ID.
    clidCombination of the node number, CLH number, and cli_id in hexadecimal.
    statusCurrent status of the client. For more information, refer to [client status] that follows.
    countNumber of processed requests.
    lastin_timeTime the client spent waiting after calling a service.
    ipaddrClient connection IP address.
    usrnameUser name defined in the usrname field of the TPSTART_T struct.

    [Client Status]

    The following describes each client status.

    StatusDescription
    RDYClient is normally connected to CLH.
    NRDYOnly TCP/IP socket is currently connected, but TPSTART message has not yet been sent.
    QEDClient 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.

    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]

5.4.11. svrinfo(si)

Displays information about each currently active server process.

  • Usage

    $$1 tmax1 (tmadm): si
  • 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.

    ItemDescription
    clhCLH number.
    svrnameServer name.
    (svri)Server ID.
    statusCurrent status of a server. For more information, refer to [system status].
    countNumber of processed requests.
    qcountAmount of enqueued requests.
    qpcountNumber of requests deleted from the queue.
    emcountNumber of requests returned due to exceeding the maximum number of enqueued requests.

5.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>]
    OptionDescription
    [ -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-xidFirst 4 bytes of gtid of the xid to search for.
    lower-global-xidLast 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.

      ItemDescription
      cli_idID of the currently connected client.
      txstimeTime when the transaction was executed.
      txqcountNumber of transactions waiting in the queue.
      txrcountNumber of transactions already processed.
      XIDTransaction ID.
      txstateCurrent transaction status. (TXBEGIN, TXCOMMIT, TXROLLBACK)
      xastateXA 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

5.4.13. rqstat(rqs)

This command 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]
    OptionDescription
    [-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.

    Note

    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 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.5. Administrative Commands

5.5.1. suspend(sp)

This command is used to suspend 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): suspend {-s svc_name [-p pid] | -v svr_name [-k num] [-a]}
    OptionDescription
    -s svc_nameService name.
    [-p pid]Option to suspend services for the specified server process. Used with the [-s] option.
    -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.

    [-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.5.2. resume(rs)

This command will cause 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] | -v svr_name [-k num]}

    OptionDescription
    -s svc_nameOption to resume service scheduling.
    [-p pid]

    Option to resumes 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]
    -v svr_nameOption to resume scheduling of the server process.
    [-k num]

    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.

  • How to resume a suspended server

    The method depends on the Tmax version.

    • Tmax v4.0 SP3 Fix#10, Tmax v4.0 SP8 Fix#1, Tmax v5.0 SP1 Fix#1 and later

      When a server process is suspended in tmadmin, the process stays in the suspended state even when tmboot is executed after tmdown. A suspended server process must be started by tmboot, and then service must be resumed.

    • Tmax v4.0 and later

      When a server process is suspended in tmadmin, the process is automatically resumed when tmboot is executed after tmdown. Tmboot cannot be executed for a suspended server process.

      $ tmboot -s svr02011
         TMBOOT for node(tmaxh4) is starting: 
         Welcome to Tmax demo system: it will expire 2006/1/25 
         Today: 2005/12/19 
         (E) BOOT3020 svr02011 is suspended, resume(or tmdown) it first. [BOOT0038]
  • 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.

Caution

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

5.5.3. Advertise/Unadvertise

The advertise/unadvertise command of tmadmin can be used to advertise/unadvertise 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]}
      OptionDescription
      -s svc_nameOption 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]}
      OptionDescription
      -s svc_nameOption 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.5.4. restat

This command will reset 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]
    OptionDescription
    [-v [server_process_name]]Resets statistics of the specified server process.
    [-a]Resets statistics of all server processes.

5.5.5. rebootsvr(rbs)

The command, rbs(Reboot Server Process), 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
    ItemDescription
    new_fileName of the new file.
    old_fileName 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 the rbs command after executing tmadmin –m.

    • Starting three svr2 server processes

      $$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
    • Starting one svr2 server process

      $$1 tmax1 (tmadm): rbs svr2 svr2
      >> suspend ok 
      >> down ok 
      >> cp ok 
      >> boot ok 
      >> resume ok 
      >> 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]
    ItemDescription
    [-S]Suspends all services of the server.
    [-s svc_name,...]Suspends only one service of the server.
    newfileNew file name.
    svr_nameName 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

    Caution

    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 
    ItemDescription
    [-S]Suspends all services of the server.
    [-s svc_name]Suspends only one service of the server.
    newfileNew file name.
    svr_nameName 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.5.6. cfgadd(ca)

This command is used to dynamically add 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.0 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
    ItemDescription
    - i cfgfileConfiguration 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. Create a new configuration file to add.

    $vi new.m
  2. Add the created configuration file to the existing configuration file with the -a option. Execute cfl with the –o option to create a binary configuration file with a different name.

    $cfl -i org.m -a new.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. Create a new configuration file “tmchg.m”, and add additional settings to the file.

    <tmchg.m>

    *SERVER
    hello           SVGNAME = svg1
    *SERVICE
    HELLO           SVRNAME = hello
  2. Compile the new configuration file. Tmconfig.m is the existing configuration file, and tmchg.m is the new configuration file.

    cfl -i tmconfig.m -a tmchg.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. Create a configuration file.

    <tmconfig.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
    svg2            NODENAME = "@RMTNAME@",LOAD = 1
    
    *SERVER
    svr2            SVGNAME = svg1
    
    *SERVICE
    TOUPPER         SVRNAME = svr2
    TOLOWER         SVRNAME = svr2

    <tmconfig_add.m>

    *NODE
    @RMTNAME2@      TMAXDIR = "@RMTDIR2@",
                    APPDIR  = "@RMTDIR2@/appbin",
    
    *SVRGROUP
    svg1            NODENAME = "@HOSTNAME@",COUSIN = "svg2,svg3",LOAD = 2
    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 -i tmconfig.m -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.

  • When adding a new item, the newly added configuration file must be already applied to the existing configuration file that is used with the 'cfl -i' option.

  • Items can be added to the MAXNODE, MAXSVG, MAXSVR, MAXSPR, MAXSVC, MAXTMS, and MAXCPC settings.

  • 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.5.7. set

This command is used to dynamically modify 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

    ItemDescription
    [-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.
    ItemItem to modify.
    ValueNew 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

5.5.8. setopt

The command 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]  Item Value
    ItemDescription
    [-tmm]Used to change value of an option defined in the TMMOPT setting.
    Item

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

    ValueNew 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.5.9. qpurge(qp)

This command 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}
    ItemDescription
    -v svr_nameDelete 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_nameDelete requests accumulated in the queue for the specified service.

5.5.10. discon(ds)

This command 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 cli_id | -A}
    OptionDescription
    [-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 cli_id}Disconnect the client with the specified ID number. ID number must be specified.
    {-A}Disconnect clients connected to all CLHs.

5.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, queue status, etc.

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
      ItemDescription
      filenameSpecify a log file name.
    • End logging (logend)

      $$1 tmax1 (tmadm): logend

5.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 server| -i sprno]] -s newspec 
    OptionDescription
    [-g svgname]Modify the spec of a server group.
    [-v server]Modify the spec of a server.
    [-i sprno]Modify the spec of a server process.
    -s newspecNew spec.
  • 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.5.13. chlog

The chlog command can be used to dynamically change 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]
    OptionDescription
    [-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 listed in the order of increasing low level details. DEBUG4 logs most details, and COMPACT logs least details.

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

  • 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.5.14. 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>
    ItemDescription
    [-w]Used for a domain sub-transaction.
    [-y]Does not go through the checking process for txcommit / txrollback.
    upper-global-xidFirst 4 bytes of gtid of xid to process.
    lower-global-xidLast 4 bytes of gtid of xid to process.

Caution

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.5.15. wsgwreload

The wsgwreload command of tmadmin is used to modify 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]]
    OptionDescription
    [ -i svrid [ svrid]]list of Svrid's to apply the changes.

5.5.16. restart

The restart command 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]]
    OptionDescription
    [-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.5.17. notify_reconnect_clh

The notify_reconnect_clh command notifies a running server process to reconnect to a specific CLH process. The server process attempts to reconnect to the CLH if it has been disconnected from the CLH. The discon command is abbreviated as nrc.

  • Usage

    $$1 tmax1 (tmadm): nrc [clh_index] [spri_index ]
    OptionDescription
    [clh_index]CLH number that starts from 0.
    [spri_index]Spri of the server process to which the notification is sent.
  • Example

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

      $$2 tmaxc1 (tmadm): nrc 0 42
      >> clh reconnect ok
      
      $$2 tmaxc1 (tmadm): nrc 0 -1
      >> error clh reconnect