Tmax Management
This chapter introduces Tmax management tools provided for efficient management of Tmax.
1. Overview
After the Tmax system has been fully configured and is running, the administrator will need access to the management functions to dynamically modify the configuration of the system or add servers/services. The Tmax management application also enables the administrator to monitor services, including their processing state, processing count, average processing time, queuing count, and expected waiting time. Using this information, the administrator will be able to decide when to load additional server processes or terminate excess processes.
The Tmax management program, tmadmin, is used to dynamically manage the Tmax system while it is running. Administrators can dynamically manage the system by using tmadmin and command interpreter.
2. tmadmin
The Tmax management program, tmadmin, is a command interpreter similar to the UNIX command line. The program waits for an input command and interprets and executes the command. In a system comprised of multiple nodes in a domain, tmadmin enables centralized management of the entire domain from a single node, or localized management from each node.
-
Usage
$ tmadmin [-l] [-s|m] [-h] [-f [config_file]] [-n [node_name]] [-v] [-V] [-p] [-t] [-i lic_info]
Option Description [-l]
Option to allow each node to manage its own system in a multi-node system that is managed centrally through racd.
[-s]
Option to use read only mode. This option enables users to load up to 10 tmadmin tools, but users will not be able to dynamically modify the system. (Default mode)
[-m]
Option to 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.
Execute tmadmin with the -t option to output the time in the following format.
-
Format
[TIME][Type ] : hh:MM:ss:millisec
The following describes each Type option.
-
START : Displays the start time of a command.
-
END : Displays the end time of a command in the console, including the time taken for execution on remote nodes.
-
R_END : Displays the end time when a command executed from the console completes on a remote node. This time is recorded on the local node where tmadmin is executed, not on the remote node.
-
RP_START : Displays the start time before executing a command when using a tmadmin repeat command.
-
RP_END : Displays the elapsed time for executing a command when using a tmadmin repeat command, including the time taken by remote node execution.
-
[-i lic_info]
Option to display the license information in the license.dat file.
-
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
Command Description Displays configuration.
Displays current settings that can be modified dynamically among the configured options such as TMMOPT.
Displays license information.
Displays Tmax system information.
-
Status information commands
Command Description Displays JEUS async gateway information.
Checks the connection status between CLHs in a multi node environment.
Displays information about clients connected to the system.
Checks the channel states of the gateways defined in the GATEWAY section.
Displays JEUS gateway information.
Displays Tmax non-transaction gateway information.
Repeats the command.
Displays RQ status, or processes services accumulated in the disk queue.
Checks the service status using GID.
Provides statistics on process and service states.
Displays server information.
Checks the connection status between TMMs in a multi node environment.
Displays Tmax gateway information.
Displays information about transaction processing.
Displays Web service gateway information.
-
Administrative commands
Command Description Sends events to TCS, UCS, and RDP servers through admin.
Advertises/unadvertises a name of a particular service.
Dynamically adds a service.
Dynamically changes the log level of TMM, CLH, or a specific server at runtime.
Manages trace activity.
Removes dynamically registered services on servers containing 0 server process.
All clients currently connected are forcibly disconnected from the system.
Starts/ends logging.
Notifies the server process to reconnect to a specific CLH process.
Deletes tasks that are waiting in the queue.
Reboots a server program.
Reboots a server program in a multi-node configuration.
Reconnects CLH to other nodes.
Reestablishes database connection for all TMS and server processes in a server group.
Restarts a server process.
Resets the statistics on a specific server process or all processes.
Resumes a server process.
Dynamically modifies the current configuration.
Dynamically modifies settings among options defined in the configuration, such as TMMOPT.
Suspends a running server process.
Reissues Commit or Rollback to terminate the transaction, if a fault occurs during transaction processing.
Applies or modifies service information of a web service gateway.
-
Others
Command Description !
Repeats the previous command.
quit(q)
Terminates tmadmin.
help(h)
Displays a list of available options.
Displays a list of previously used commands.
nodeset(ns)
Limits tmadmin to only monitor information from the specified node.
nodeunset(nus)
Releases restriction of monitoring information only from a specific node.
tmd
Starts a virtual client emulator, which can be used to check services without creating an actual client.
3. Configuration Information Commands
3.1. 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 Setting Configuration File.
-
Usage
$$1 tmax1 (tmadm): config (cfg) [-d] [-n] [-g[server_group_name]] [-v[server_name]][-s [service_name] [-x]] [-w [gateway_name]] [-r] [-b] [-f] [-pr]
Option Description [-d]
Option to display information about domain configuration. Displays all items in the DOMAIN section and all information on the domain.
[-n]
Option to display node settings. Displays all items in the NODE section and node settings defined on the system.
[-g [server_group_name]]
Option to display server group settings. If the server group name is specified, only information about the server group is displayed, otherwise information about all server groups is displayed. All items related to the SVRGROUP section can be displayed for each server group.
[-v [server_name]]
Option to display server settings. If a server name is specified, only information about the server is displayed, otherwise information about all servers is displayed. For each server, all items related to the SERVER section, server numbers(svr_no), and data dependent routing information (DDRI) are displayed.
[-s [service_name] [-x]]
Option to display service settings. If a service name is specified, only information about the service is displayed, otherwise information about all services is displayed. For each service, all items related to the SERVICE section is displayed. Using the [-x] option additionally display the txtime information.
[-w [gateway_name]]
Option to display gateway settings. If a gateway name is specified, only information about the gateway is displayed, otherwise information about all gateways is displayed.
[-r]
Option to display routing settings.
[-b]
Option to display backup settings.
[-f]
Option to display Topend function information.
[-pr]
Option to display Topend product information.
-
Example
-
Domain settings (-d)
The following is an example of checking the domain settings.
$$1 tmaxi7 (tmadm): cfg -d domain_name = tmax1, shmkey = 70000, minclh = 1, maxclh = 2, maxuser = UNLIMITED, portno = 8888, racport = 3333, cmtret = YES, blocktime(bt) = 20, txtime(tt) = 0, nliveinq(ni) = 30, security = NONE, cpc = 1, maxfunc = 0, clichkint = 0, idletime = 0, node_count = 1, svg_count = 3, svr_count = 5, cousin_count = 0, cousin_gcount = 0, 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 = 2, 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, maxconvn = 16, maxconvs = 8, domainid = 0, fdlversion = 1
The following describes information displayed when executing the command.
Option Description node_count
Number of nodes in the domain.
svg_count
Number of server groups in the domain.
svr_count
Number of servers in the domain.
svc_count
Number of services in the domain.
cousin_count
Number of groups defined as COUSIN.
cousin_gcount
Number of server groups defined as COUSIN.
backup_count
Number of groups defined as BACKUP.
backup_gcount
Number of server groups defined as BACKUP.
rout_count
Number of routing objects defined in the ROUTING element.
rout_gcount
Number 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 = 70000, minclh = 1, maxclh = 2, curclh = 1, maxuser = UNLIMITED, Supported maximum user per node = 16105, Supported maximum user per handler = 16105, clhqtimeout(cqt) = 0, portno = 8888, racport = 3333, tmaxhome = /home/tp1/build2/, tmaxdir = /home/tp1/build2/, appdir = /home/tp1/build2/appbin/, pathdir = /home/tp1/build2/path/, tlogdir = /home/tp1/build2/log/tlog/, slogdir = /home/tp1/build2/log/slog/, ulogdir = /home/tp1/build2/log/ulog/, envfile = , svgcount = 3, svrcount = 5, svccount = 2, sprcount = 1, tmscount = 0, cpccount = 0, 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, maxrqcpc = 8, restart = YES, maxrstart = -1, gperiod = 86400, autobackup(ab) = YES, extport = 0, maxthread = 128, cllblock(cb) = NO, clireqblock(crb) = NO, slog_realname = NO, mac = NO, tmapm = NO, cllconnlb = RR, cllbindip = YES, tdl = NO, smsupport = NO
The following describes information displayed when executing the command.
Option Description node_no
Node number defined in the system.
svgcount
Number of server groups on the node.
svrcount
Number of servers on the node.
svccount
Number of services that can be called by the node within the domain.
sprcount
Number of server processes available on the node.
tmscount
Number of TMSes available on the node.
cpccount
Number of CPCs available on compatible servers in the node.
curclh
Number of running CLH processes in the node.
maxsprs
Maximum number of server processes that can run.
maxtms
Maximum 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 = 0, clopt = , forksvr = N, nameext = N, 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) = -1, gperiod(gp) = 86400, svrtype = TMAX_STD, schedule = FA, cpc = 1, dummy = NO, aus = NO, mac = NO, roc = NO, multiclh = YES, ctx_ereply = NO, ignore_clhqtimeout = NO, svrqtimeout(sqt) = -1, tmapm(ta) = -1
-
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
-
3.2. 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 | -gw gwname ]
Option Description -tmm
Option to check the current settings that are dynamically configurable among options defined in the TMMOT element.
-gw gwname
Option to check the current settings that are dynamically configurable among options defined in the CLOPT setting in the GATEWAY element.
-
Example
-
TMMOPT setting(-d)
The following is an example of checking the TMMOPT setting.
$$1 node1 (tmadm): cfgopt -tmm ------------------------------------------------------------------------ -tmm configurable value ------------------------------------------------------------------------ accept retry count (-A) = 100 max forked threshold (-F) = 95 booting timeout (-t) = 10 auto failback (-D) = 1 node check try count (-R) = 0 ------------------------------------------------------------------------
The following describes items that are displayed when the command is executed.
Option Description accept retry count (-A)
Number of server process access requests that can be accepted immediately. Refer to the -A option of TMMOPT.
max forked threshold (-F)
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.
auto failback (-D)
Option to automatically terminate server processes of a backup server group during failback. Set to 1 to enable, or 0 to disable.
node check try count (-R)
By default, if the primary node in a backup server group fails, a failover operation (by the backup server group) takes place immediately after the specified NLIVEINQ time has elapsed. With this option, the system makes the specified number of reconnection attempts to the TMM of the node. If all attempts fail, a failover operation is performed. The value must be greater than or equal to 1. The default is 0. For more information, refer to "TMMOPT setting" in NODE Element.
-
CLOPT configuration in the GATEWAY element (-d)
The following shows how to view the CLOPT configuration information for gateways.
$$1 node1 (tmadm): cfgopt -gw gw1 ------------------------------------------------------------------------ -gw configurable value ------------------------------------------------------------------------ debug log level (-D) = 0 ------------------------------------------------------------------------
The following describes each information item displayed by JEUS gateways when executing the command. The available configuration items may vary depending on the gateway type.
Option Description debug log level (-D)
Displays the currently configured debug logging level.
-
3.3. licinfo
This command displays the currently running Tmax license information.
-
Usage
$$1 tmax1 (tmadm): licinfo
-
Example
The Tmax license information is displayed as follows:
$$11 tmax1 (tmadm): licinfo ############################################### Current License Image (node: tmax1) ############################################### License seqno: TRS-xxxx-xxx-xxx License issue date: 2021/01/01 License type: REAL Edition: Standard Licensed sub-products: Distributed transaction support Reliable Queue subsystem Hybrid Messaging System Session Queue subsystem Separate UCS type server license : 16384 CPCs Multi-Domain transaction gateway Multi-Domain non-transaction gateway Jeus gateway Jeus asynchronous gateway Tuxedo gateway Tuxedo asynchronous gateway Web-Service gateway Tmax XA gateway HostLink gateway TCP/IP (thread) gateway X.25 gateway Serial(RS232) gateway WebT components Torus components Entera gateway Topend gateway Anylink license OpenFrame license License check by hostname: gnibm Unlimited license
3.4. tmaxinfo(ti)
This command displays the currently connected Tmax system information.
-
Usage
$$1 tmax1 (tmadm): ti
-
Example
The system version, the maximum number of users (maxuser), and additional details are displayed as follows:
$$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
The following describes each information item displayed when executing the command.
Option Description nodecount
Number of nodes in the system.
svgrpcount
Number of server groups in the system.
svrcount
Number of servers in the system.
svccount
Number of services in the system.
rout_groupcount
Number of routing objects defined in the ROUTING element.
rout_elemcount
Number of routing units for each range, which is defined in the range setting item for each routing object.
cousin_groupcount
Number of groups defined as COUSIN.
cousin_elemcount
Number of server groups defined as COUSIN.
backup_groupcount
Number of groups defined as BACKUP.
backup_elemcount
Number of server groups defined as BACKUP.
4. Status Information
4.1. clhsinfo(clhsi)
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
The following describes each information item displayed when executing the command.
Option Description nodename
Node name.
clhno
CLH number.
cpc
CPC number.
status
CLH status between nodes.
The following describes each node status.
-
NRDY(NOT_READY) : Not connected or disconnected with the target CLH.
-
RDY(READY) : Correctly connected.
-
4.2. cliinfo(ci)
Displays information about currently connected clients.
-
Usage
$$1 tmax1 (tmadm): ci [–s] [-c] [-P] [-p [portno, ...]]
Option Description [-s]
Total number of connected clients.
[-c]
Clients connected in encryption mode. tmax_port, qpcount, and emcount of these clients are additionally displayed.
[-P]
tmax_port, qpcount, and emcount of all connected clients are additionally displayed.
[-p [portno, ...]]
Ports connected to Tmax. tmax_port, qpcount, and emcount are additionally displayed.
-
Example
The following shows how to use 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 ... $$1 tmaxi9 (tmadm): ci -c CLH 0: ------------------------------------------------------------------------------------------------------------- cli_id clid status count qpcount emcount lastin_time ipaddr usrname tmax_port ------------------------------------------------------------------------------------------------------------- 2 0x00000002 RUN 0 0 0 1 127.0.0.1:40676 7189 3 0x00000003 RUN 0 0 0 1 127.0.0.1:40677 7389 4 0x00000004 RUN 0 0 0 1 127.0.0.1:40678 7289 ------------------------------------------------------------------------------------------------------------- Total Connected Clients(CRYPTED) = 3 ------------------------------------------------------------------------------------------------------------- $$1 tmaxi9 (tmadm): ci -p 7189,7289,7389,7489,7589 CLH 0: ------------------------------------------------------------------------------------------------------------- cli_id clid status count qpcount emcount lastin_time ipaddr usrname tmax_port ------------------------------------------------------------------------------------------------------------- 0 0x00000000 RUN 0 0 0 1 127.0.0.1:58235 7189 1 0x00000001 RUN 0 0 0 1 127.0.0.1:58236 7389 2 0x00000002 RUN 0 0 0 1 127.0.0.1:58238 7489 3 0x00000003 RUN 0 0 0 1 127.0.0.1:58237 7589 4 0x00000004 RUN 0 0 0 1 127.0.0.1:58239 7289 ------------------------------------------------------------------------------------------------------------- Total(7189,7289,7389,7489,7589) Connected Clients = 5 ------------------------------------------------------------------------------------------------------------- $$8 tmaxh9 (tmadm): ci -P CLH 0: -------------------------------------------------------------------------------------------------------------- cli_id clid status count qpcount emcount lastin_time ipaddr usrname tmax_port -------------------------------------------------------------------------------------------------------------- 7 0x00000007 QED 0 0 0 27 192.168.1.34:63307 12399 8 0x00000008 QED 0 0 0 27 192.168.1.34:63308 12399 9 0x00000009 QED 0 0 0 27 192.168.1.34:63309 12399 10 0x0000000a QED 0 0 0 27 192.168.1.34:63310 12399 11 0x0000000b QED 0 0 0 27 192.168.1.34:63311 12399 -------------------------------------------------------------------------------------------------------------- Total Connected Clients = 5 --------------------------------------------------------------------------------------------------------------
The following describes each information item displayed when executing the command.
Option Description cli_id
Client ID.
clid
Combination of the node number, CLH number, and cli_id in hexadecimal.
status
Current status of the client.
The following describes each client status:
-
RDY : Client is correctly connected to CLH.
-
NRDY : Only TCP/IP socket is currently connected, but TPSTART message has not yet been sent.
-
QED : Client service requests are accumulated in the server queue.
-
CTING : Client is trying to connect to CLH.
-
UNR : Client is executing tpend(), or NCLH is down.
-
RUN : Service requested by the client is executing.
count
Number of services processed.
qpcount
Number of messages purged from queue.
emaxcount
Indicates how many times the queued messages have reached the max setting value.
lastin_time
Period of time during which a client waits after calling a service.
ipaddr
Client IP address. Using the -P or -p option additionally provides the port number.
usrname
User name defined in the usrname field for the PSTART_T struct.
tmax_port
Tmax access port.
Too many abnormal client connections to CLH that are hanging can prevent other clients from connecting to CLH. Clients that do not send a TPSTART connection message within 60 seconds after the socket is connected will automatically be disconnected. When they are disconnected, the following error will occur.
(I) CLH0209 internal error : disconnect client because client didn't send tpstart msg for 60 sec.(192.168.1.43) [CLH0058]
-
4.3. gwinfo(gwi)
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]
Option Description [-w gw_name]
Displays a specific gateway.
gw_name is the name configured in the GATEWAY element.
[-t gw_type]
Displays specific gateway types.
Enter a type defined in the GATEWAY element. (Example: TMAX)
-
TMAX
-
TMAXNONTX
-
JEUS
-
JEUS_ASYNC
-
TUXEDO
-
TUXEDO_ASYNC
-
XAGW
-
-
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 each information item displayed when executing the command.
Option Description gw_no
Gateway number.
channel
Displays whether the channel is INBOUND or OUTBOUND.
type
Displays whether the connected node is the main or the backup node.
foreign_address
IP address of the connected remote gateway.
status
Connection status to webt, jtmax, and webtasync. For more information about the status, refer to system status.
-
If connected to the backup node
$$1 tmax1 (tmadm): gwinfo ---------------------------------------------------------------- gw_no channel type foreign_address status ---------------------------------------------------------------- 0 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 1 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 6 INCH - tmaxh2(192.168.1.48:58091) RDY 7 INCH - tmaxh2(192.168.1.48:58092) RDY
-
4.4. jgwinfo(jgwi) / ajgwinfo(ajgwi)
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
The following describes each information item displayed when executing the command.
Option Description gw_no
Gateway number.
name
Gateway name.
channel
Displays whether the channel is INBOUND or OUTBOUND.
type
Displays whether the connected node is the main or the backup node.
foreign_address
IP address of the connected remote gateway.
status
Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".
-
ajgwinfo
When connected to a backup node:
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmax1 (tmadm): ajgwinfo ------------------------------------------------------------------------------- gw_no name channel type foreign_address status ------------------------------------------------------------------------------- 1 gw2 OUTCH BACK unknown(192.168.35.47:6555) RDY
-
4.5. 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
Option Description -k n
Specifies the number of repetition (n).
-i s
Specifies the interval, in seconds, between repetitions (s).
command to repeat
Specifies the command to be repeated.
-
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
4.6. 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) [-a] [-l] [-s rqname] [-f rqname] [-c rqname]
Option Description [-a]
Displays the status of all RQs in a list.
[-l]
Displays a list of available RQs.
[-s rqname]
Displays the specified RQ status.
[-f rqname]
Handles services queued in the specified RQ.
[-c rqname]
Deletes the specified RQ backlog.
To process RQ with the [-f] and [-c] options, it must be executed in the master mode by using the tmadmin -m option.
-
Example
-
View all RQs (-a)
Each record shows the following items.
$$1 tmaxi9 (tmadm): rqs -a rq1 RDY 0 0 0 0 0 5 5 total count : 1
The results are displayed in the following format.
rq name status request reply fail requestenqueued requestdequeued replyenqueued replydequeued
The last record shows the total count.
-
View available RQ (-I)
The following is an example of querying for available RQs.
$$1 tmax1 (tmadm): rqs -l list of available RQs: rq1 rq2
-
View RQ status (-s)
The following shows the status of the specified RQ.
$$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 ----------------------------------------------------------------
-
Handle RQ services (-f)
The following processes services accumulated in the RQ.
$$1 tmax1 (tmadm): rqs -f rq2 RQ(rq2) flushed
-
Clean RQ (-c)
The following cleans a congested RQ.
$$1 tmax1 (tmadm): rqs -c rq2 RQ(rq2) statics cleared
-
4.7. smtrc
When the SMSUPPORT element in the NODE section of the configuration file is set to Y, executing 'st –p –x' displays GID of the running services.
-
Usage
$$1 tmax1 (tmadm): smtrc [-a] GID0 GID1
Option Description [-a]
Option to display additional information including server process index(spri), user CPU time, system CPU time, and return information.
GID0
First four bytes of SysMaster GID in hexadecimal.
GID1
Last four bytes of SysMaster GID in hexadecimal.
-
Example
The following is an example of executing smtrc to output the GID after executing 'st –p –x'.
$$1 tmax1 (tmadm): st –p -x CLH 0: -------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID fail_cnt err_cnt min_time max_time SysMaster_GID -------------------------------------------------------------- evtsvr svg1 36 RDY 0 0.000 -1 17980 0 0 0.000 0.000 00000000-00000000-00000000 svr1 svg1 37 RUN 0 0.000 SDLTOUPPER 17981 0 0 0.000 0.000 00000000-00000101-00000000 svr2 svg1 38 RUN 0 0.000 SDLTOUPPER2 17982 0 0 0.000 0.000 00000000-00080101-00000000 svr3 svg1 39 RUN 0 0.000 SDLTOUPPER3 17983 0 0 0.000 0.000 00000000-00100101-00000000 svr_sys svg1 40 RDY 3 0.000 -1 17984 0 0 0.000 0.000 00000000-00000000-00000000 ---------------------------------------------------------------- TOTAL COUNT = 3 TOTAL SVCFAIL COUNT = 0 TOTAL ERROR COUNT = 0 TOTAL AVG = 0.000 TOTAL RUNNING COUNT = 3 $$1 tmax1 (tmadm): smtrc 0 0101 CLH 0: ------------------------------------------------------------- sysmaster_global_id status svc_name ------------------------------------------------------------- 00000000:00000101:00000000 SVC_RUNNING SDLTOUPPER2 45670701 tmaxi1 (tmadm): smtrc -a 0 0101 CLH 0: ---------------------------------------------------------------- sysmaster_global_id status svc_name ctime svctime spri ucpu scpu ---------------------------------------------------------------- 00000000:00000101:00000000 SVC_RUNNING SDLTOUPPER2 14:05:32:159 0.000 38 0.000 0.000 00000000:00000101:00010000 SVC_RUNNING SMTRACE 14:05:32:159 0.000 40 0.000 0.000 00000000:00000101:00010000 SVC_DONE SMTRACE 14:05:32:159 0.000 40 0.000 0.000
The following describes each information item displayed when executing the command.
Option Description sysmaster_global_id
SysMaster GID.
status
Status of the service.
svc_name
Service name.
ctime
Log creation time.
svctime
Log service time.
spri
Index of the server processes that executed the service.
ucpu
User CPU time.
scpu
System CPU time.
4.8. 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) {-v | -p | -s | -t | -q | -e} -v [server_process_name] [-pod] -p [server_process_name] [-x [-j] | -X | -d [-j]] [-o sort_conditions [-n maxline]] -s [service_name] [-x | -X | -p | -l] [-o sort_conditions [-n maxline]] -t [TMS_name] [-x] -q [destination_name] [-c] -e [event] [-s | -d | -C | -S]
Option Description -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.
-p [server_process_name] [-d] [-j]
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.
Using the [-d] option displays the elapsed time for server processes in RUN state. Otherwise, a dash ('-') is displayed instead.
Using the [-j] option with 'st -p -x' or 'st -p -d' displays the results in a single line.
-s [service_name] [-p] [-l]
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.
Using the [-p] option displays the status of each server process running the service. This option is useful when certain server processes are suspended, as it allows checking the status process by process.
In a multi-node environment, using the [-l] option displays a list of services registered in each node, excluding those provided by servers running in remote nodes.
-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.
[-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)
-
System, user CPU time (utime, umin_time, umax_time, stime, smin_time, smax_time) (However, if the server process or service is GATEWAY, this value is displayed as 0.)
Adding the [–t] option additionally shows the following details.
-
Transaction ID (XID), XA processing status (xastate)
-
For multi-threaded TMS, each thread status
[-X]
-
When using with the [-s] option
Searches for the local status of COUSIN services 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 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'.
[-o sort_conditions [-n maxline]]
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 together either with the [–p] or [–s] option.
When used with the [-p] option, the available conditions are: ca, ce, aa, and ae. When used with the [-s] option, the available conditions are: ca, aa, cq, aq, and qa. For details, see Descending Sort Conditions.
The following syntax specifies the sort order:
-
[ -o ca ]: descending order
-
[ -o ca- ]: ascending order
Using the [-n maxline] option allows specifying the number of displayed messages lines (number of server processes or services).
-q [destination_name] [-c]]
Option to display information about HMS destinations.
Displays a list of destinations defined in the configuration file, and the messages being processed at each destination.
Using the [-c] option additionally displays details about each client for the specified destination.
-e [event] [-s | -d | -C | -S]
Option to display subscription information managed by CLH through tpsubscribe.
Executing 'st -e' displays the number of subscriptions and posts for events managed by each CLH. If an event name is specified, only information for that event is displayed. If no event name is specified, information for all events is displayed.
The following sub-options are available:
-
-s : Displays the number of subscriptions on each CLH.
-
-d : Displays detailed subscription information on each CLH.
-
-C : With the -d option, restricts the output to clients only.
-
-S : With the -d option, restricts the output to servers only.
-
-
Example
-
Server process information (–p)
The following is an example of checking server process information.
$$1 gnibm (tmadm): st -p CLH 0: ------------------------------------------------------------------------------ svr_name svgname spr_no status count avg svc ------------------------------------------------------------------------------ _rqsvg rqsvg 34 RDY 0 0.000000 -1 svr1 svg1 36 RDY 100 0.000051 -1 svr2 svg1 37 RUN 31 1.240783 TOLOWER svr2 svg1 38 RUN 31 1.240783 TOLOWER svr3 svg1 137 RDY 100 0.000062 -1 svr_ucs svg1 138 RDY 0 0.000000 -1 svr_conv svg1 139 RDY 0 0.000000 -1 svr_rq svg1 140 RDY 0 0.000000 -1 fdltest svg2 141 RDY 100 0.000926 -1 tbrtest svg4 142 RDY 80 0.000588 -1 --------------------------------------------------------------------------------- TOTAL COUNT = 442 TOTAL AVG = 0.414 TOTAL RUNNING COUNT = 2
The following describes each information item displayed when executing the command.
Option Description svr_name
Server process name.
svgname
Name of the server group that the server process belongs to.
spr_no
ID of the server process.
status
Current status of the server process.
The following describes each system status:
-
RDY : Ready.
-
NRDY :Not ready. The tpstart has been executed and client is connected to a socket, but data cannot be transmitted from the server. This status may occur due to a network problem.
-
RUN : Running.
-
Unregisted : Unregistered. Shown to the client immediately after tpend execution before the status is changed.
-
BLK : All processes of the service are suspended.
-
PBLK :Some server processes of the service are suspended.
-
UNADV : All server processes of the service are in the unadvertise status.
-
PUNADV : Only some server processes of the service are in the unadvertise status.
count
Number of processed services.
avg
Average process time.
svc
Name of the service currently being processed. If no service is being processed, -1 is displayed.
The st command also supports wildcard characters. For example, executing st –p s* displays only the information of server names (svr_name) that begin with 's'.
$$3 gnibm (tmadm): st -p s* CLH 0: ------------------------------------------------------------------------------ svr_name svgname spr_no status count avg svc ------------------------------------------------------------------------------ svr1 svg1 36 RDY 100 0.000051 -1 svr2 svg1 37 RUN 73 1.264606 TOLOWER svr2 svg1 38 RUN 73 1.264590 TOLOWER svr3 svg1 137 RDY 100 0.000062 -1 svr_ucs svg1 138 RDY 0 0.000000 -1 svr_conv svg1 139 RDY 0 0.000000 -1 svr_rq svg1 140 RDY 0 0.000000 -1 --------------------------------------------------------------------------------- TOTAL COUNT = 346 TOTAL AVG = 0.632 TOTAL RUNNING COUNT = 2
The following shows an example of executing 'st –p -j'.
$$1 redhat73 (tmadm): st -p svr2 -d CLH 0: ------------------------------------------------------------------------------ svr_name svgname spr_no status count avg svc PID scheduled ------------------------------------------------------------------------------ svr2 svg1 37 RUN 0 0.000000 TOLOWER 27302 3.719207 svr2 svg1 38 RDY 0 0.000000 -1 27301 - --------------------------------------------------------------------------------- TOTAL COUNT = 0 TOTAL RUNNING COUNT = 1
The following shows an example of executing 'st –p -d -j'.
$$2 redhat73 (tmadm): st -p svr2 -d -j CLH 0: ------------------------------------------------------------------------------ svr_name svgname spr_no status count avg svc PID scheduled ------------------------------------------------------------------------------ svr2 svg1 37 RUN 0 0.000000 TOLOWER 27302 8.570694 svr2 svg1 38 RDY 0 0.000000 -1 27301 - --------------------------------------------------------------------------------- TOTAL COUNT = 0 TOTAL RUNNING COUNT = 1
-
-
Service information (–s)
The following displays service information.
$$4 gnibm (tmadm): st -s CLH 0: ----------------------------------------------------------------------------------------------------- svc_name svr_name count q_cnt aq_cnt q_avg avg status ----------------------------------------------------------------------------------------------------- TOLOWER svr2 86 12 98 49.216270 2.564295 RDY TOUPPER svr2 88 12 98 49.216564 0.000020 RDY FDLTOLOWER svr3 0 0 0 0.000000 0.000000 RDY FDLTOUPPER svr3 100 0 0 0.000000 0.000062 RDY SDLTOLOWER svr1 100 0 0 0.000000 0.000051 RDY SDLTOUPPER svr1 0 0 0 0.000000 0.000000 RDY _rq1 _rqsvg 0 0 0 0.000000 0.000000 RDY LOGIN svr_ucs 0 0 0 0.000000 0.000000 RDY TBRDEL tbrtest 20 0 0 0.000000 0.000563 RDY FDLINS fdltest 100 0 0 0.000000 0.000926 RDY TOUPPER_CONV svr_conv 0 0 0 0.000000 0.000000 RDY TBRSEL tbrtest 40 0 0 0.000000 0.000328 RDY FDLUPT fdltest 0 0 0 0.000000 0.000000 RDY TBRINS tbrtest 10 0 0 0.000000 0.000890 RDY TBRUPT tbrtest 10 0 0 0.000000 0.001373 RDY
The following describes each information item displayed when executing the command.
Option Description svc_name
Name of the service.
svr_name
Name of the server running the service.
count
Number of processed service requests.
q_cnt
Number of service requests currently waiting.
aq_cnt
Total number of service requests, including those that were momentarily waiting.
q_avg
Average waiting time for the service.
avg
Average processing time of the service.
status
Current status of the service. For more information about service statuses, refer to "System Status".
Executing 'st -s *L' displays only the information of services that end with 'L'.
$$6 gnibm (tmadm): st -s *L CLH 0: ----------------------------------------------------------------------------------------------------- svc_name svr_name count q_cnt aq_cnt q_avg avg status ----------------------------------------------------------------------------------------------------- FDLDEL fdltest 0 0 0 0.000000 0.000000 RDY FDLSEL fdltest 0 0 0 0.000000 0.000000 RDY TBRDEL tbrtest 20 0 0 0.000000 0.000563 RDY TBRSEL tbrtest 40 0 0 0.000000 0.000328 RDY
The following shows an example of executing 'st –s TOUPPER -p'.
$$7 redhat73 (tmadm): st -s TOUPPER -p CLH 0: --------------------------------------------------------------------- svc_name svr_name spr_no PID status --------------------------------------------------------------------- TOUPPER svr2 37 16228 BLK TOUPPER svr2 38 16227 RDY
-
TMS information(-t)
The following displays TMS information.
$$7 gnibm (tmadm): st -t CLH 0: ------------------------------------------------------------------------------------ tms_name svgname spr_no status count avg cqcount aqcount qavg ------------------------------------------------------------------------------------ tms_ora svg2 0 RDY 76 0.007035 0 6 0.001955 tms_ora svg2 1 RDY 24 0.010558 ( 0) ( 6) (0.001955) tms_tbr svg4 3 RDY 40 0.009124 0 0 0.000000 tms_tbr svg4 4 RDY 0 0.000000 ( 0) ( 0) (0.000000)
The following describes each information item displayed when executing the command.
Option Description tms_name
Name of the TMS.
svgname
Name of the server group contaiting the TMS.
spr_no
Process ID of the TMS.
status
The current status of the TMS. For more information, refer to "System Status".
count
Number of TMS requests processed.
avg
Average TMS processing time.
cqcount
Number of service requests currently waiting.
aqcount
Total number of service requests, including those that were momentarily waiting.
qavg
Average service waiting time.
For multi-threaded TMS, the thread status can be provided as well.
$$1 tmax1 (tmadm): st -t -x CLH 0: ------------------------------------------------------------------------------------ tms_name svgname spr_no(tid) status count avg cqcount aqcount qavg PID XID xastate ------------------------------------------------------------------------------------ tms_ora_mt svg2a 3 RUN 0 0.000000 0 0 0.000000 44040492 000:000:13505 commit tms_ora_mt svg2a 3( 1) RDY 0% 0.00 ( 0) - - tms_ora_mt svg2a 3( 2) RDY 0% 0.00 ( 0) - - tms_ora_mt svg2a 3( 3) RDY 0% 0.00 ( 0) - - tms_ora_mt svg2a 3( 4) RDY 0% 0.00 ( 0) - - ---------------------------------------------------------------------------------
-
Detailed information (-x)
$$9 gnibm (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 ------------------------------------------------------------------------------ svr1 svg1 36 RDY 100 0.000051 -1 65601838 0 0 0.000036 0.000106 0.000001 0.000000 0.000013 0.000001 0.000000 0.000033 fdltest svg2 141 RDY 100 0.000926 -1 62849402 0 0 0.000675 0.002264 0.000061 0.000048 0.000240 0.000034 0.000029 0.000053 tbrtest svg4 142 RDY 80 0.000588 -1 62587274 0 0 0.000237 0.009868 0.000024 0.000013 0.000329 0.000010 0.000008 0.000019 --------------------------------------------------------------------------------- TOTAL COUNT = 580 TOTAL SVCFAIL COUNT = 0 TOTAL ERROR COUNT = 0 TOTAL AVG = 0.428 TOTAL RUNNING COUNT = 0
The following shows an example of executing 'st –s’다.
$$10 gnibm (tmadm): st -s -x CLH 0: -------------------------------------------------------------------------------------- svc_name svr_name count q_cnt aq_cnt q_avg avg status fail_cnt err_cnt mintime maxtime utime umintime umaxtime stime smintime smaxtime -------------------------------------------------------------------------------------- TOLOWER svr2 100 0 98 63.730579 2.564289 RDY 0 0 2.564236 2.565636 0.000006 0.000004 0.000013 0.000014 0.000012 0.000027 TOUPPER svr2 100 0 98 63.730919 0.000020 RDY 0 0 0.000017 0.000064
The following describes each information item displayed when executing the command.
Option Description PID
PID of the server process.
fail_cnt
Number of failures that occurred in the server process/service.
err_cnt
Number of errors that occurred in the server process/service.
mintime
Minimum time used to handle a service.
maxtime
Maximum time used to handle a service.
utime
User time consumed whenever a server process executes a service.
umin_time
Minimum consumed user time.
umax_time
Maximum consumed user time.
stime
System time consumed whenever a server process executes a service.
smin_time
Minimum consumed system time.
smax_time
Maximum consumed system time.
-
Sort results (–o)
The following shows an example of adding the [-o] option when executing 'st –p'.
$$1 tmax1 (tmadm): st –p –o ca CLH 0 : ------------------------------------------------------------------------ svr_name svgname spr_no status count avg svc ------------------------------------------------------------------------ svr2 svg1 37 RDY 10 0.000062 -1 svr1 svg1 36 RDY 6 0.000928 -1 svr3 svg1 38 RDY 2 0.000511 -1 ------------------------------------------------------------------------ TOTAL COUNT = 18 TOTAL AVG = 0.000 TOTAL RUNNING COUNT = 0
The following shows an example of adding the [-o] option when executing 'st –s'.
$$13 gnibm (tmadm): st -s -o ca CLH 0: -------------------------------------------------------------------------------------- svc_name svr_name count q_cnt aq_cnt q_avg avg status -------------------------------------------------------------------------------------- TOUPPER svr2 100 0 98 63.730919 0.000020 RDY SDLTOLOWER svr1 100 0 0 0.000000 0.000051 RDY TOLOWER svr2 100 0 98 63.730579 2.564289 RDY FDLTOUPPER svr3 100 0 0 0.000000 0.000062 RDY FDLINS fdltest 100 0 0 0.000000 0.000926 RDY TBRSEL tbrtest 40 0 0 0.000000 0.000328 RDY TBRDEL tbrtest 20 0 0 0.000000 0.000563 RDY TBRINS tbrtest 10 0 0 0.000000 0.000890 RDY TBRUPT tbrtest 10 0 0 0.000000 0.001373 RDY TPENQ svr_rq 0 0 0 0.000000 0.000000 RDY
-
Descending order condition
Condition Description ca
Number of processed requests (count)
aa
Average processing time (avg)
cq
Number of requests currently in the queue (cq_count)
aq
Average number of requests in the queue (aq_count)
qa
Average queuing time (q_avg)
ce
Sorts by server based on the number of requests processed by each server.
ae
Sorts by server based on the average processing time of each server.
-
Ascending order condition
Condition Description ca-
Number of processed requests (count)
aa-
Average processing time (avg)
cq-
Number of requests currently in the queue (cq_count)
aq-
Average number of requests in the queue (aq_count)
qa-
Average queuing time (q_avg)
ce-
Sorts by server based on the number of requests processed by each server.
ae-
Sorts by server based on the average processing time of each server.
-
-
Specifying the number of lines of an output message (-n)
The following is an example of specifying the number of lines of an output message to 2.
$$15 gnibm (tmadm): st -p -o ca -n 2 CLH 0: ------------------------------------------------------------------------------ svr_name svgname spr_no status count avg svc ------------------------------------------------------------------------------ svr1 svg1 36 RDY 100 0.000051 -1 svr2 svg1 37 RDY 90 1.282161 -1 ------------------------------------------------------------------------------- TOTAL COUNT = 580 TOTAL AVG = 0.428 TOTAL RUNNING COUNT = 0
The following is an example of specifying the number of lines of an output message to 3.
$$1 gnibm (tmadm): st -s -o ca -n 3 CLH 0: ------------------------------------------------------------------------------------ svc_name svr_name count q_cnt aq_cnt q_avg avg status ------------------------------------------------------------------------------------ TOUPPER svr2 90 0 98 63.730919 0.000020 RDY SDLTOLOWER svr1 80 0 0 0.000000 0.000051 RDY TOLOWER svr2 70 0 98 63.730579 2.564289 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
The following describes each information item displayed when executing the command.
Item Description G
If the destination is set to GLOBAL, this is displayed as 'O', otherwise it is displayed as a hyphen (-).
dest
Destination name defined in the HMS section of the configuration file.
cqcount
Number of messages that have not been processed at the destination.
type
Destination type.
-
QUEUE
-
TOPIC
apqcnt
Total number of accumulated messages up to now.
acqcnt
The total number of messages that have been processed by a consumer. Since a Topic message is not considered to be complete until all consumers receive the message, acqcnt may become larger than apqcnt.
f_dscrd
Number of messages that could not be processed.
t_dscrd
Number of messages, with TTL set, that have expired.
cons_cnt
Number of consumers connected to the destination.
prod_cnt
Number of producers connected to the destination.
The following shows the details about the clients of a particular destination.
$$1 tmax1 (tmadm): st -q queue01 -c ------------------------------------------------------------------------------ sesi clid cname clitype qcnt cnt f_dscrd t_dscrd listener ------------------------------------------------------------------------------ 0 0x39d prodasync ARCV 49 0 0 0 ASYNCSVC 0x1 0 prod41 SND 0 32 0 0 0x1 0 prod42 SND 0 11 0 0 0x1 0 cons51 RCV 3 0 0 0 0x1 0 cons52 RCV 9 0 0 0 $$2 tmax1 (tmadm): st -q topic01 -c ------------------------------------------------------------------------------ sesi clid cname clitype qcnt cnt f_dscrd t_dscrd listener ------------------------------------------------------------------------------ 0x1 0 prod11 PUB 0 2 0 0 0x1 0 prod12 PUB 0 1 0 0 0x1 0 cons11 SUB 30 0 0 0 0x2 0x2 prod21 PUB 0 16 0 0 0x2 0x2 prod22 PUB 0 8 0 0 0x2 0x2 cons21 SUB 23 0 0 0 0x3 0 prod31 PUB 0 3 0 0 0x4 0x4 cons41 ADSUB 32 0 0 0 ASYNCSVC2
The following describes each information item displayed when executing the command.
Field Description sesi
Number of the session that created the client.
clid
Client ID.
cname
Client name.
clitype
Type of the client connected to the destination
-
SND: Queue type sender (created by hms_create_sender())
-
PUB: Topic type publisher (created by hms_create_publisher())
-
RCV: Queue type receiver (created by hms_create_receiver())
-
SUB: Topic type subscriber (created by hms_create_subscriber())
-
DSUB: Topic type durable subscriber (created by hms_create_durable_subscriber())
-
ARCV: Queue type receiver created in an async session
-
ASUB: Topic type subscriber created in an async session
-
ADSUB: Topic type durable subscriber created in an async session
qcnt
Number of messages that each subscriber actually possesses.
cnt
Number of messages sent or received by each client.
f_dscrd
Number of messages that could not be processed.
t_dscrd
Number of messages, with TTL set, that have expired.
listener
Name of the service that will receive a message for a consumer created by an ASYNC session.
-
-
Subscription information (–e)
The following displays the information of subscriptions managed by CLH.
$$6 gnibm (tmadm): st -e ----------------------------------------------------------------- clh eventname subscriptions postCount entryPostCount ----------------------------------------------------------------- 0 hello1 100 1 100 0 hello10 200 0 0 0 hello17 100 2 200 0 hello2 300 0 0 0 hello20 100 0 0 0 hello9 500 0 0 ----------------------------------------------------------------- Total event topic = 6 Total subscriptions = 1300 -----------------------------------------------------------------
The following describes each information item displayed when executing the command.
Field Description eventname
Name of the event specified in tpsubscribe().
subscriptions
Number of subscriptions to the event.
postCount
Number of times tppost() was executed for the event.
entryPostCount
Number of subscribers that received the event when tppost() was called.
The following shows an example of executing 'st -e -d'.
$$4 gnibm (tmadm): st -e -d -------------------------------------------------------------------------------------- clh eventname clid(or spri) sd createTime lastTime postCount svc(or qname) -------------------------------------------------------------------------------------- 0 hello1 svrsub(165) 0 02:41:12 02:55:13 1 (SVC)SUBSCRIBE 0 hello10 svrsub(66) 9 02:41:11 - 0 (SVC)SUBSCRIBE 0 hello19 0x00000069 1 12:45:43 - 0 - 0 hello19 0x00000069 2 12:45:43 - 0 - -------------------------------------------------------------------------------------- Total subscriptions = 4 --------------------------------------------------------------------------------------
The following describes each information item displayed when executing the command.
Field Description eventname
Name of the event specified in tpsubscribe().
clid(or spri)
ID of the subscriber that called tpsubscribe().
-
clid: Client ID. (see the 'ci' command)
-
spri: Server (e.g., 'svrname(spri)')
sd
SD value returned by tpsubscribe().
createTime
Time when tpsubscribe() was called. If more than 20 hours have elapsed, the date is displayed instead of the hour.
lastTime
Time when the subscriber last received the event through tppost(). If more than 20 hours have elapsed, the date is displayed instead of the hour.
postCount
Number of times the subscriber received the event through tppost().
svc(or qname)
Name of the service or RQ specified by the server calling tpsubscribe(). When tppost() is called, the event is sent to the specified service or RQ.
-
-
4.9. svrinfo(si)
This command 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
The following describes each information item displayed when executing the command.
Field Description clh
CLH number.
svrname
Server name.
(svri)
Server ID.
status
Current status of a server. For more information, refer to "System Status".
count
Number of processed requests.
qcount
Number of enqueued requests on the server.
qpcount
Number of requests deleted from the queue.
emcount
Number of requests returned due to exceeding the maximum number of enqueued requests.
4.10. tmmsinfo(tmmsi)
This command displays the connection information between TMMs in a multi-node environment.
-
Usage
$$1 tmax1 (tmadm): tmmsinfo
-
Example
The following shows an example of executing 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
The following describes each information item displayed when executing the command.
Field Description no
TMM number.
nodename
Node name.
livectime
Time when the channel was last used.
status
Node status.
The following describes each node status:
-
NRDY(NOT_READY) : The node is not yet connected or has been disconnected.
-
RDY(READY) : The node is correctly connected.
-
REG(REGISTERED) : The node is currently being connected to another node.
-
UNR(UNREGISTERED) : The node is shutting down via tmdown.
-
NSTRT(NCLHSTARTED) : The node’s CLH has started while the node is currently being connected to another node.
-
CTNG(TRYINGTOCONNECT) : The node is connected only to the TCP/IP sockets and has not yet sent message to the target node.
-
NPING(ALIVECHECK) : The node is connected and performing alive checks.
-
NPING2(ALIVECHECK2) : The node is connected but does not respond to alive checks.
-
4.11. txgwinfo(txgwi) / nontxgwinfo(ntxgwi)
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
The following describes each information item displayed when executing the command.
Option Description gw_no
Gateway number.
channel
Displays whether the channel is INBOUND or OUTBOUND.
type
Displays whether the connected node is the main or the backup node.
foreign_address
IP address of the connected remote gateway.
status
Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "System Status".
-
nontxgwinfo
When connected to a backup node:
$$1 tmax1 (tmadm): nontxgwinfo ---------------------------------------------------------------- gw_no channel type foreign_address status ---------------------------------------------------------------- 0 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 1 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 6 INCH - tmaxh2(192.168.1.48:58091) RDY 7 INCH - tmaxh2(192.168.1.48:58092) RDY
-
4.12. txquery(txq)
This command displays information about transactions currently being processed.
-
Usage
$$1 tmax1 (tmadm): txquery(txq) [-x] [-t] [-g svgname] [-w [-r] [-G gwname]] [<upper-global-xid><lower-global-xid>]
Option Description [ -x ]
Option to search for information about each transaction branch.
[ -g svgname ]
Option to search for transaction branch of the group with the svgname.
[ -w ]
Option to search for a domain subtransaction tree.
[ -r ]
Option to search with the XID of the remote domain.
[ -G gwname]
Option to search for the domain gateway of gwname.
[-t]
Option to search for the XID and SVG number of transactions initiated by a remote domain that are still pending and have not yet been committed or rolled back.
upper-global-xid
First 4 bytes of gtid of the xid to search for.
lower-global-xid
Last 4 bytes of gtid of the xid to search for.
-
Example
-
Transaction search
The following is an example of querying for transactions.
$$14 tmax1 (tmadm): txq CLH0: --------------------------------------------------------------------- cli_id txstime txqcount txrcount XID txstate xastate --------------------------------------------------------------------- c0023 8:33:34 1 0 000:000:00022 TXBEGIN TX_OK c0024 18:33:34 1 0 000:000:00023 TXBEGIN TX_OK c0025 18:33:34 1 0 000:000:00024 TXBEGIN TX_OK c0026 18:33:34 1 0 000:000:00025 TXBEGIN TX_OK c0027 18:33:34 1 0 000:000:00026 TXBEGIN TX_OK c0028 18:33:34 1 0 000:000:00027 TXBEGIN TX_OK c0029 18:33:34 1 0 000:000:00028 TXBEGIN TX_OK c0030 18:33:34 1 0 000:000:00029 TXBEGIN TX_OK c0031 18:33:34 1 0 000:000:00030 TXBEGIN TX_OK
The following describes each information item displayed when executing the command.
Field Description cli_id
ID of the currently connected client.
txstime
Time when the transaction was executed.
txqcount
Number of transactions waiting in the queue.
txrcount
Number of transactions already processed.
XID
Transaction ID.
txstate
Current transaction status.
-
TXBEGIN
-
TXCOMMIT
-
TXROLLBACK
xastate
XA status.
-
-
Transaction information (-x)
The following is an example of querying for transaction information.
$$6 tmaxh4 (tmadm): txquery -x CLH 0: ---------------------------------------------------------------- cli_id clid txstime txqcount txrcount XID txstate xastate bqualno nodename svgname txbstate xabstate ---------------------------------------------------------------- c1526 0x000005f6 15:13:35 4 0 34800000:0008c087 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK (B)00000001 tmaxh4 gw2301X BEGIN XA_OK (B)00000002 tmaxh4 gw2302X BEGIN XA_OK (B)00000003 tmaxh4 svg12302X BEGIN XA_OK c1527 0x000005f7 15:13:35 4 0 34800000:0008c089 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK (B)00000001 tmaxh4 gw2301X BEGIN XA_OK (B)00000002 tmaxh4 gw2302X BEGIN XA_OK (B)00000003 tmaxh4 svg12302X BEGIN XA_OK
-
Searching for transactions of a group (-g)
The following is an example of querying for transactions of a group.
$$7 tmaxh4 (tmadm): txq -g svg12301X CLH 1: ---------------------------------------------------------------- cli_id clid txstime txqcount txrcount XID txstate xastate bqualno nodename svgname txbstate xabstate ---------------------------------------------------------------- c1595 0x0000463b 15:14:10 1 0 34800001:0008e953 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK c1596 0x0000463c 15:14:10 1 0 34800001:0008e956 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK c1597 0x0000463d 15:14:10 1 0 34800001:0008e957 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK
-
Transaction tree search (-w)
The following is an example of querying a transaction tree.
$$9 tmaxh4 (tmadm): txquery -w CLH 0: ---------------------------------------------------------------- gw_no txstime txqcount txrcount XID RXID txstate xastate ---------------------------------------------------------------- g0004 17:00:00 2 0 34800000:0008c38e 39800000:0003bcf7 PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008c38f 39800000:0003bcf8 PHASE1 TX_OK g0004 17:00:00 2 0 34800000:0008c391 39800000:0003bcf9 PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008c39a 39800000:0003bd00 PHASE1 TX_OK g0004 17:00:00 2 0 34800000:0008c3a1 39800000:0003bd08 PHASE1 TX_OK g0004 17:00:00 1 0 34800000:0008c3a3 39800000:0003bd09 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008c38b 3e800100:000177f6 PHASE2 TX_OK g0005 17:00:00 2 0 34800000:0008c38d 3e800101:00014ff7 PENDING TX_OK g0005 17:00:00 2 0 34800000:0008c390 3e800101:00014ff8 PENDING TX_OK g0005 17:00:00 2 0 34800000:0008c392 3e800000:0006e050 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c396 3e800000:0006e052 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c397 3e800100:000177f8 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c398 3e800000:0006e055 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c399 3e800101:00014ff9 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008c39c 3e800100:000177f9 PENDING TX_OK g0005 17:00:00 2 0 34800000:0008c39d 3e800000:0006e05a sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008c39e 3e800101:00014ffa PHASE1 TX_OK g0005 17:00:00 1 0 34800000:0008c39f 3e800000:0006e05b sTXBEGIN TX_OK g0005 17:00:00 1 0 34800000:0008c3a2 3e800100:000177fa sTXBEGIN TX_OK g0004 17:00:00 2 0 34800000:0008eb51 39800001:0003e50d PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008eb53 39800001:0003e510 PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008eb58 39800001:0003e516 PHASE1 TX_OK g0004 17:00:00 2 0 34800000:0008eb5b 39800001:0003e519 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008eb4d 3e800001:0007084f PHASE2 TX_OK g0005 17:00:00 2 0 34800000:0008eb50 3e800001:00070852 PHASE2 TX_OK g0005 17:00:00 2 0 34800000:0008eb52 3e800001:00070854 PHASE2 TX_OK g0005 17:00:00 1 0 34800000:0008eb56 3e800001:00070858 sTXBEGIN TX_OK g0005 17:00:00 1 0 34800000:0008eb5a 3e800101:00014ffb sTXBEGIN TX_OK g0005 17:00:00 1 0 34800000:0008eb5c 3e800001:0007085b sTXBEGIN TX_OK
The following is an example of using the [-w] and [-r] options.
### txquery -w -r ### $$11 tmaxh4 (tmadm): txquery -w -r CLH 1: ---------------------------------------------------------------- gw_no txstime txqcount txrcount XID RXID txstate xastate ---------------------------------------------------------------- g0004 17:00:00 2 0 34800001:0008ed0a 39800001:0003e6bc PENDING TX_OK g0004 17:00:00 2 0 34800001:0008ed0b 39800001:0003e6bd PENDING TX_OK g0004 17:00:00 2 0 34800001:0008ed0c 39800001:0003e6be PHASE1 TX_OK g0004 17:00:00 2 0 34800001:0008ed0f 39800001:0003e6c1 PHASE1 TX_OK g0005 17:00:00 2 0 34800001:0008ed00 3e800001:000709aa PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008ed03 3e800101:00015046 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008ed04 3e800100:00017846 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008ed05 3e800001:000709b1 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008ed06 3e800100:00017847 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008ed07 3e800001:000709b2 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800001:0008ed08 3e800100:00017848 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008ed09 3e800100:00017849 PHASE2 TX_OK g0004 17:00:00 2 0 34800001:0008c53f 39800000:0003bea9 PHASE2 TX_OK g0004 17:00:00 2 0 34800001:0008c540 39800000:0003beab PHASE2 TX_OK g0004 17:00:00 2 0 34800001:0008c545 39800000:0003beaf PHASE1 TX_OK g0004 17:00:00 2 0 34800001:0008c546 39800000:0003beb0 PHASE1 TX_OK g0004 17:00:00 2 0 34800001:0008c548 39800000:0003beb2 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800001:0008c51c 3e800000:0006e192 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c536 3e800000:0006e1a5 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c537 3e800100:00017845 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c539 3e800000:0006e1a7 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c53e 3e800000:0006e1ad PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c541 3e800101:00015047 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c542 3e800000:0006e1af PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c543 3e800101:00015048 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c544 3e800101:00015049 PHASE1 TX_OK
-
4.13. wsgwinfo(wsi)
This command displays web service gateway information.
-
Usage
$$1 tmax1 (tmadm): wsgwinfo [-i svrid[ svrid]]
Option Description [-i svrid [ svrid]]
Svrid list to check.
-
Example
The following is an example of using the command.
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxs1 (tmadm): wsgwinfo ------------------------------------------------------------------------ svrid load_time current_client max_attach_time ------------------------------------------------------------------------ 2 Wed Jan 13 12:43:39 2010 0 0.0sec ------------------------------------------------------------------------
The following describes each information item displayed when executing the command.
Field Description svrid
Gateway’s svr index.
load_time
Startup time of the web service gateway.
current_client
Number of clients that are currently connected.
max_attach_time
Maximum time spent for processing a single service.
5. Administrative Commands
5.1. admnoti(an)
This command sends events to the TCS, UCS, and RDP servers through tmadmin.
tmadmin sends event requests to the specified servers, which then invoke user-defined callback functions to process the events. If no callback functions have been registered in a server process, events for that process are ignored.
If the -l or -n option is not specified, the same requests are sent to all nodes via RACD. When TMM receives a command from tmadmin, it forwards the requests to each server process and immediately returns success to tmadmin. Therefore, it is not possible to verify whether all server processes actually received the events. If a server process receives an event while running a service, it first completes the service before invoking the callback function to process the event. |
When tmadmin receives a response, it prints: * "send request(reqno:%d(request number)) %d(number of processes) times" * "send OK" if there is at least one process that can receive the next event * "Failed to send request" if no process can receive the event
-
Usage
$$1 tmax1 (tmadm): an [-a | -g svgname | -v svrname | -p spri | -P pid] [notification message]
Option Description [-a]
Sends events to all server processes. This is a required option and cannot be used with any other required option.
[-g svgname]
Sends events to all server processes in the specified svgname. This is a required option and cannot be used with any other required option.
[-v svrname]
Sends events to all server processes in the specified svrname. This is a required option and cannot be used with any other required option.
[-p spri]
Sends events to server processes in the specified spri. This is a required option and cannot be used with any other required option.
[-P pid]
Sends events to server processes in the specified pid. This is a required option and cannot be used with any other required option.
[notification message]
Message to send to the callback function. This option is optional.
-
Example
The following is an example of using the command.
$$2 tmaxc1 (tmadm): rc node2 $$2 tmaxc1 (tmadm): rc node3 -a
-
Register a callback function to receive events from server programs
To receive events using the following API, a callback function must be registered in each server program. For more information, refer to Tmax Reference Guide.
typedef int (*TPADMNOTI)(int seqno, int len, char *args); int tpregancb(TPADMNOTI callback); int tpunregancb();
5.2. advertise(adv) / unadvertise(unadv)
These commands register (advertise)/unregister(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]}
Option Description -s svc_name
Registers a service name.
[-p pid]
Registers the PID of a server process.
-
Unadvertise
$$1 tmax1 (tmadm): unadvertise {-s svc_name [-p pid]}
Option Description -s svc_name
Unregisters a service name.
[-p pid]
Unregisters the PID of a server process.
-
-
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.3. 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.
When restarting Tmax after performing a dynamic update using cfgadd, the new configurations must be applied to the original configuration file, and then compiled through cfl before booting.
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
Option Description - i cfgfile
Specifies the name of a configuration file for the service to be added.
Dynamically adding a service
The following is the process of executing cfgadd(ca) to dynamically add a service.
-
Create a new configuration file to add.
$vi new.m
-
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
-
Execute gst to create a service table.
$gst -f tmchg
-
Execute "tmadmin –m" and use cfgadd(ca) to add the service.
$cfgadd -i tmchg
-
Compile the server program.
$compile c svr1
-
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.
-
Create a new configuration file “tmchg.m”, and add additional settings to the file.
<tmchg.m>
*SERVER hello SVGNAME = svg1 *SERVICE HELLO SVRNAME = hello
-
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
-
Create a service table.
gst -f tmchg
-
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.
-
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
-
Execute the si command to check if the server hello is now 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.
-
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
-
Execute racd on the newly added node.
Node3>$ racd -k
-
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)
-
Compile the server. Compile the server of the node to be added.
node3>$ gst -f tmchg node3>$ compile c svr2
-
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
-
Load the newly added 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
-
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]
-
Limits on the number of dynamic additions at once
-
Tmax 5 SP1: Up to 64 gateways, 64 servers, and 512 services
-
Tmax 5 SP2: Limited only by available memory
-
5.4. 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]
Option Description [-t]
TMM log level.
[-c]
CLH log level.
[-v [server_name]]
Log level of the specified server.
[-g [server_group_name]]
Log level of the specified server group.
[-m]
TMS log level.
-l [loglvl]
Actual log level.
Select one of the following options listed in the order of increasing low level 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. 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
Option Description [-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 newspec
New 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.
$$1 tmaxs1 (tmadm): chtrc -g svgname -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.6. cleandynsvc(cleands)
When a server built with mksvr restarts after an abnormal shutdown, dynamically registered services are not deleted. If the server fails to restart, some services may remain undeleted. Later, when the server is booted with mksvr and the list of services to be dynamically added has changed, this may cause issues. In such cases, the service list may need to be cleaned using tmadmin.
The cleandynsvc command deletes dynamically registered services from a server that has zero server processes.
-
Usage
$$1 tmax1 (tmadm): cleands [-s [service_name]]
Option Description [-s [service_name]]
Name of the service to delete.
-
Example
The following is an example of using the command.
$$2 tmaxc1 (tmadm): cleands $$2 tmaxc1 (tmadm): cleands -s TOUPPER
5.7. discon(ds)
This command forcibly disconnects inactive clients that are connected but remain 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| -d clid}
Option Description [-h clhno]
Disconnects clients connected to the CLH.
[-f]
Immediately disconnects clients.
{-a}
Disconnects all clients connected to the CLH. If the [-h] option is not used, the client connected to CLH 0 is disconnected by default.
{-n}
Disconnects clients with inaccurate information. Buffer allocated by tpalloc() is not used.
{-i idle_time}
Disconnects clients from sessions that exceed the set amount of time (in seconds).
{-c cli_id}
Disconnects the client with the specified ID number. The ID number must be specified.
{-A}
Disconnects clients connected to all CLHs.
{ -d clid }
Disconnects the client with the specified clid.
5.8. logstart(logs) / logend(loge)
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
Option Description filename
Specify a log file name.
-
End logging (logend)
$$1 tmax1 (tmadm): logend
-
5.9. notify_reconnect_clh(nrc)
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.
-
Usage
$$1 tmax1 (tmadm): nrc [clh_index] [spri_index ]
Option Description [clh_index]
CLH number starting from 0.
[spri_index]
Spri of the server process to which the notification is sent.
-
Example
The following is an example of using the command.
$$2 tmaxc1 (tmadm): nrc 0 42 >> clh reconnect ok $$2 tmaxc1 (tmadm): nrc 0 -1 >> error clh reconnect
5.10. 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}
Option Description -v svr_name
Deletes requests accumulated in the queue of the specified server.
[-k number]
Purges 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 : Keeps as many as MAXQCOUNT requests in the queue, and purge any subsequent incoming requests.
-
0 : Purges all service requests currently in the queue.
-s svc_name
Deletes requests accumulated in the queue for the specified service.
-
5.11. rebootsvr(rbs)
This command 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.
rbs: Replacing a server file
The following is an example of using the command without any options.
-
Usage
$$1 tmax1 (tmadm): rbs [-o] new_file old_file
Option Description [-o]
Shuts down all server processes matching old_file and reboots those matching new_flie.
new_file
Specifies a new file name.
old_file
Specifies an existing file name.
-
The following describes the process of replacing a server file.
-
Add an environment variable in .profile as follows:
export TMAX_BKAPPDIR=/data2/starbj81/tmax64/bk_appbin
-
Create a directory 'bk_appbin' in the path specified to the environment variable.
$mkdir bk_appbin
-
Copy the executable files in the appbin directory to bk_appbin.
$cp appbin/svr2 bk_appbin/
-
Run tmadmin -m, and then rbs.
-
When the server is MIN=1 && MAX=1 or not running
The server is suspended and resumed while being replaced.
The following is an example of booting a server process 'svr2', which is currently set to MIN=1, MAX=1.
$$1 tmax1 (tmadm): rbs svr2 svr2 >> suspend ok >> down ok >> cp ok >> boot ok >> resume ok >> reboot svr /data2/starbj81/tmax64/appbin/svr2 finished
-
When there are two or more server processes with the same name
If all these server processes are shut down at once to start a new process, some tasks may be interrupted. Therefore, in this case, the processes must be shut down one by one.
The detailed procedure is as follows:
1. Create a temporary file (_rbs00_svr1) for the svr1 file in the bk_appbin directory, and copy it to the appbin directory. 2. Start a server process named _rbs00_svr1. 3. Shut down the existing svr1 process. 4. Start another _rbs00_svr1 process according to the minsvr setting value. 5. Delete all temporary files from the appbin directory, except those currently running. 6. Copy the svr1 file from bk_appbin to appbin.
The following is an example of booting a server process 'svr2', which is set to MIN=3.
$$1 node1 (tmadm): rbs svr2 svr2 TMBOOT for node(node1) is starting: TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting: Fri Jul 11 10:42:53 2025 TMBOOT for node(node1) is starting: TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting: Fri Jul 11 10:42:53 2025 TMBOOT for node(node1) is starting: TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting: Fri Jul 11 10:42:53 2025 >> 3 servers booted using tmp execfile _rbs00_svr2 >> reboot svr /home/tp1/tmax/appbin/svr2 finished
-
-
Run ps to check whether all processes are correctly running.
$ps –ef | grep svr2 tp1 1746749 1746733 0 10:42 pts/11 00:00:00 _rbs00_svr2 -b 1746748 -S svr2 -s svr2 -d -1 -v 1746740 tp1 1746751 1746733 0 10:42 pts/11 00:00:00 _rbs00_svr2 -b 1746750 -S svr2 -s svr2 -d -1 -v 1746740 tp1 1746753 1746733 0 10:42 pts/11 00:00:00 _rbs00_svr2 -b 1746752 -S svr2 -s svr2 -d -1 -v 1746740
-
To apply the rbs command to servers that were additionally created or updated using mksvr, all target server processes must first be shut down. Therefore, terminate all existing server processes using the rbs -o option before starting new ones. The execution order of the rbs -o option is as follows:
Example
$$1 tmax1 (tmadm): rbs -o svr2 svr2 >> suspend ok >> down ok >> cp ok >> boot ok >> resume ok >> reboot svr /data2/starbj81/tmax64/appbin/svr2 finished |
rbs -S/s: Preventing server conflict during server process replacement
Preventing server conflict means preventing multiple processes of different versions from executing the same service concurrently. When rbs is run with the [-S] and [-s svc_name] options, the server processes can be replaced without conflict during execution.
In particular, using the [-s svc_name] option ensures uninterrupted operation for services that remain unchanged during replacement.
-
Usage
The overall procedure of executing [-S] and [-s svc_name] is the same as running the command without options, except that suspend and resume operations are added before shutting and and rebooting the server. These additional steps prevent existing server processes from executing services during replacement.
$$1 tmax1 (tmadm): rbs [-S | -s svc_name,...] newfile svr_name [svg_name]
Option Description [-S]
Suspends/resumes all services on the server.
[-s svc_name,...]
Suspends/resumes a specified service on the server.
newfile
Specifies a new file name.
svr_name
Specifies a server to suspend.
[svg_name]
Specifies a server group where the server to suspend is included.
-
Example
-
Changing a specific service (-s)
The following example shows how to change a specific service on the target server. In this case, the service named TOUPPER on the svr2 server is selectively suspended, while all other services continue to run.
$$1 tmax1 (tmadm): rbs -s TOUPPER svr2_new svr2
The following example shows how to change two specific services on the target server. In this case, the services named TOUPPER and TOLOWER are selectively suspended, while all other services continue to run. When specifying multiple service names, separate them with a comma (,) and do not include spaces.
$$1 tmax1 (tmadm): rbs -s TOUPPER,TOLOWER svr2_new svr2
-
Chaning all services on a server (-S)
The following example shows how to change all services on the target server. In this case, all services on the svr2 server are suspended.
$$1 tmax1 (tmadm): rbs -S svr2_new svr2
The following example shows how to change all services on the target server within the specified server group. In this case, all services on the svr2 server in the server group svg1 are suspended.
$$1 tmax1 (tmadm): rbs -S svr2_new svr2 svg1
-
-
Executing rbs on servers bound with COUSIN in a node
If two or more server groups are bound in a COUSIN setting within a node, all servers in that COUSIN server groups can be replaced through rbs.
|
5.12. mrebootsvr(mrbs): Preventing multi-node server conflict
Preventing multi-node server conflict means preventing multiple processes of different versions from executing the same service concurrently in a multi-node environment. When running mrbs with the [-S] and [-s svc_name] options in a multi-node environment with load balancing, the server processes can be replaced without conflict during its execution.
In particular, using the [-s svc_name] option ensures uninterrupted operation for services that remain unchanged during replacement.
-
Usage
$$1 tmax1 (tmadm): mrebootsvr(mrbs) [-S | -s svc_name,...] newfile svr_name
Option Description [-S]
Suspends all services on the server.
[-s svc_name]
Suspends a specified service on the server.
newfile
Specifies a new file name.
svr_name
Specifies a server to suspend.
-
Example
-
Changing a specific service (-s)
The following example shows how to change a specific service on the target server. In this case, the service named TOUPPER on the svr2 server is selectively suspended, while all other services continue to run.
$$1 tmax1 (tmadm): mrbs -s TOUPPER svr2_new svr2
The following example shows how to change two specific services on the target server. In this case, the services named TOUPPER and TOLOWER are selectively suspended, while all other services continue to run. When specifying multiple service names, separate them with a comma (,) and do not include spaces.
$$1 tmax1 (tmadm): mrbs -s TOUPPER,TOLOWER svr2_new svr2
-
Changing all services on a server (-S)
The following example shows how to change all services on the target server. In this case, all services on the svr2 server are suspended.
$$1 tmax1 (tmadm): mrbs -S svr2_new svr2
-
5.13. reconnect_clh(rc)
This command attempts to reconnect CLH to other nodes. Depending on the connection status, two modes are supported: reconnecting only disconnected nodes or reconnecting all nodes.
-
Usage
$$1 tmax1 (tmadm): rc nodename [-a]
Option Description nodename
Name of the node to reconnect.
[-a]
Reestablishes all connections.
-
Example
The following is an example of using the command.
$$2 tmaxc1 (tmadm): rc node2 $$2 tmaxc1 (tmadm): rc node3 -a
5.14. reopen_db
This command reestablishes database connection for all TMS and server processes in an XA server group.
-
Usage
$$1 tmax1 (tmadm): reopen_db svgname
Option Description svgname
Name of the server group to reconnect to the database.
-
Example
$$1 tmax1 (tmadm): reopen_db svg_ora DB reopen request sent (svrcnt : 1, tmscnt : 2)
Using this command requires the tmadmin -m option to execute in Master mode. |
5.15. restart(rst)
This 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]]
Option Description [-v [server_name]]
Restarts the specified server. Without using the -g option, it applies to all server groups.
[-g [server_group_name]]
Restarts servers in the specified server group.
-
Example
The following is an example of using the 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.16. restat
This command resets the statistics of the specified server process or all server processes. It can only be used when tmadmin is running in Master mode.
-
Usage
$$1 tmax1 (tmadm): restat [[-v [server_process_name]] | [-a]] [-r]
Option Description [-v [server_process_name]]
Resets statistics of the specified server process.
[-a]
Resets statistics of all server processes.
[-r]
Resets the number of restarts of the specified server process. Used either with the -v or -a option.
5.17. resume(rs)
This command causes the target server processes to resume scheduling. The target server processes will resume processing of the enqueued service requests, and accept any incoming service requests. The resume command is abbreviated as rs.
-
Usage
$$1 tmax1 (tmadm): resume {-s svc_name [-p pid] | -v svr_name [-k num]}
Option Description -s svc_name
Option 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_name
Option 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 at least 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.
Note the following when using resume.
-
How to resume a suspended server
It varies depending on the Tmax version.
-
Tmax 4 SP3 Fix#10, Tmax 4 SP8 Fix#1, Tmax 5 SP1 Fix#1 or later
When a server process is suspended in tmadmin, it remains suspended even if tmboot is executed after tmdown. To run a service on the server process, it must be resumed after being restarted with tmboot.
-
Other versions
When a server process is suspended in tmadmin, the process can be automatically resumed through tmboot after tmdown. A suspended server process cannot be directly restarted with tmboot without tmdown.
$ 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]
-
-
Suspending/resuming servers bound with COUSIN in a node
If two or more server groups are bound in a COUSIN setting on a node, all servers within that COUSIN server groups can be suspended/resumed.
ASQCOUNT must be configured in the SVRGROUP element. To configure server processes in BLK, use the [-v] option. |
5.18. set
This command dynamically modifies the settings in the configuration file.
Execute the cfg command to check which items in the configuration file can be modified. The items with an abbreviation inside brackets can be modified by using the set command.
-
Usage
$$1 tmax1 (tmadm): set [-d [domain]|-g [server_group]|-v [server]|-s [service]] item value
Option Description [-d [domain]]
Modify DOMAIN section. To modify a specific domain, specify the domain name.
[-g [server_group]]
Modify GATEWAY section. To modify a specific server group, specify the server group name.
[-v [server]]
Modify SERVER section. To modify a specific server, specify the server name.
Item
Item to modify.
[-s [service]]
Modify SERVICE element. To modify a specific service, specify the service name.
item
Item to change.
value
Value to change.
-
Example
The following is an example of using the 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.19. setopt
This 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][-gw gwname] item value
Option Description [-tmm]
Used to change a value of an option defined in the TMMOPT setting.
[-gw gwname]
Used to change a value of an option defined in the CLOPT setting of the GATEWAY element.
item
Item to change. An item displayed by executing cfgopt. ( e.g., -F )
value
Value to change.
-
Example
The following is an example of using the command.
$$1 tmax1 (tmadm): setopt -tmm -F 30 new value (30) is set for section = -tmm, name = N/A, fld = -F $$2 tmax1 (tmadm): setopt -tmm -t 15 new value (15) is set for section = -tmm, name = N/A, fld = -t $$3 tmax1 (tmadm): setopt -gw javagw2 -D 7 new value (7) is set for section = -gw, name = javagw2, fld = -D $$4 tmax1 (tmadm): setopt -tmm -R 5 new value (5) is set for section = -tmm, name = N/A, fld = -R $$5 tmax1 (tmadm): setopt -tmm -D 1 new value (1) is set for section = -tmm, name = N/A, fld = -D $$6 node1 (tmadm): setopt -gw gw_name -D 2 new value (2) is set for section = -gw, name = gw_name, fld = -D
5.20. suspend(sp)
This command suspends a running server in order to resolve system failures resulting from application program errors. Once this command has been executed, the target server processes will complete processing current services before being suspended. Services in the queue remain in the queue and any subsequent service requests will be accumulated in the queue. The suspend command is abbreviated as sp.
-
Usage
$$1 tmax1 (tmadm): suspend {-s svc_name [-p pid] | -v svr_name [-k num] [-a]}
Option Description -s svc_name
Option to stop scheduling a service.
The asqcount for a blocked service will no longer increase.
Additionally, this information is preserved even after the server is shutdown and restarted.
[-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.21. 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] [-t] [-y] <upper-global-xid><lower-global-xid>
Option Description [-w]
Used for a domain sub-transaction.
[-t]
Used for a transaction initiated from a remote system.
[-y]
Used to skip checks for txcommit / txrollback.
upper-global-xid
First 4 bytes of gtid of xid to process.
lower-global-xid
Last 4 bytes of gtid of xid to process.
Txcommit and txrollback are used to reprocess a transaction that is queried via txquery. After reprocessing, it is important to check the result through txquery. |
5.22. wsgwreload(wsrld)
This command modifies the configuration of a service or web service gateway at runtime. Once the command is executed, the web service gateway does not respond to new service requests. It only completes processing services that are in progress, and then applies the changed settings and resumes service processing.
-
Usage
$$1 tmax1 (tmadm): wsgwreload [-i svrid[svrid]]
Option Description [-i svrid [ svrid]]
List of svrid to apply the changes.
6. Others
6.1. history(hist)
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