Tmax Management
This chapter introduces Tmax management tools provided for efficient management of Tmax.
1. Overview
After the Tmax system has been fully configured and is running, the administrator will need access to the management functions to dynamically modify the configuration of the system or add servers/services. The Tmax management application also enables the administrator to monitor services, including their processing state, processing count, average processing time, queuing count, and expected waiting time. Using this information, the administrator will be able to decide when to load additional server processes or terminate excess processes.
The Tmax management program, tmadmin, is used to dynamically manage the Tmax system while it is running. Administrators can dynamically manage the system by using tmadmin and command interpreter.
2. tmadmin
The Tmax management program, tmadmin, is a command interpreter similar to the UNIX command line. The program waits for an input command and interprets and executes the command. In a system comprised of multiple nodes in a domain, tmadmin enables centralized management of the entire domain from a single node, or localized management from each node.
-
Usage
$ tmadmin [-l] [-s|m] [-h] [-f [Config File]] [-n [Node Name]] [-v] [-V] [-p] [-t]
Option Description [-l]
Option to allow each node to manage its own system in a multi-node system that is managed centrally through racd.
[-s]
Option to use read only mode. This option enables users to load up to 10 tmadmin tools, but users will not be able to dynamically modify the system. (Default mode)
[-m]
Option to dynamically modify the system in master mode. It is recommended that only one administrator use the master mode. If more than one user modifies the system configuration, fatal system errors can occur. Do not modify the configuration file, instead follow the preset manual.
[-h]
Online Help.
[-f [Config File]]
Option to specify the name of the configuration binary file. Only needs to be used when the configuration binary does not use the default name (tmconfig).
[-n [Node Name]]
Option to monitor the specified node. When used in a multi-node environment, tmadmin only monitors the information on the specified node for convenient system management.
[-v]
Option to check the Tmax version number. This option can be used to check the version from any location within the system.
[-V]
Option to check the version of the execution file.
[-p]
Option to print out the result screen when performing st –p, st –s, si, ci, or cfg command. (more function).
[ -t ]
Option to output the start and end times to execute the command. Refer to the following descriptions for detailed information about the option.
Execute tmadmin with the -t option to output the time in the following format.
[TIME][Type ] : hh:MM:ss:millisec
Type Description START
Output the start time when a command is executed on the console.
END
Output the end time when command execution is complete (after executing commands on the remote node).
R_END
When a command is executed on the console and the execution on the remote node ends, the end time (not the time on the remote node but the local time where tmadmin was executed) is output.
RP_START
If the repeat command of tmadmin is executed, time before starting each execution is output.
RP_END
If the repeat command of tmadmin is executed, the end time of each execution is output (after executing commands on the remote node).
Command Execution
In tmadmin, the Tmax system can be started up or shut down through a command, and the administrator can search and modify the configuration of the running system. It can also be used to check the server process state and service processing state.
The tmadmin program is executed with the following command.
$tmadmin
Once executed, a prompt will appear to indicate that tmadmin has been properly started.
--- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmax1 (tmadm):
To terminate tmadmin, use the 'quit' or 'q' command.
$$1 tmax1 (tmadm):quit
The following are commands available in tmadmin.
-
Configuration information commands
Command Description Displays environment configuration information.
Displays current settings that can be modified dynamically among the configured options such as TMMOPT.
Displays command history (commands used previously).
Displays Tmax system information.
-
Status information commands
Command Description Provides statistics on process and service states.
Checks the channel states of the gateways defined in the GATEWAY section.
Displays Tmax gateway information.
Displays Tmax non-transaction gateway information.
Displays JEUS gateway information.
Displays JEUS async gateway information.
Displays Web service gateway information.
Checks the service status using GID.
Checks the connection status between CLHs in a multi node environment.
Checks the connection status between TMMs in a multi node environment.
Repeats the command.
Displays information about clients connected to the system.
Displays server information.
Displays information about transaction processing.
Displays RQ status, or processes services accumulated in the disk queue.
-
Administrative commands
Command Description Suspends a running server process.
Resumes a suspended server process.
Advertises/unadvertises a name of a particular service.
Resets the statistics on a specific server process or all processes.
Restarts a server process.
Dynamically adds a service.
Modifies configuration options dynamically.
Dynamically modifies settings among options defined in the configuration, such as TMMOPT.
Deletes tasks that are waiting in the queue.
All clients currently connected are forcibly disconnected from the system.
Starts/ends logging.
Manages trace activity.
Dynamically changes the log level of TMM, CLH, or a specific server at runtime.
Dynamically changes the log level at runtime.
Reissues Commit or Rollback to terminate the transaction, if a fault occurs during transaction processing.
Applies or modifies service information of the web service gateway.
Restarts the server process.
Connects a specific server process to a specific CLH.
Sends events to TCS, UCS, and RDP servers.
-
Other commands
Command Description !
Executes the previous command.
quit (q)
Ends tmadmin.
help (h)
Displays a list of available options.
nodeset (ns)
Sets to get information only about a specific node.
nodeunset (nus)
Releases the setting of getting information only about a specific node.
tmd
Starts a virtual client emulator used to check service validity without creating a client program.
3. Configuration Information Commands
3.1. tmaxinfo (ti)
Displays Tmax system configuration information.
-
Usage
$$1 tmax1 (tmadm): ti
-
Example
Displays information about the Tmax system, including the system version and the maximum allowed number of concurrent users (maxuser).
$$1 tmax8 (tmadm): ti Tmax System Info: REAL version 6.0: maxuser = UNLIMITED, Supported maximum user per node = 16076, Supported maximum user per handler = 16077, domaincount = 1, nodecount = 1, svgrpcount = 1, svrcount = 1, svccount = 1 rout_groupcount = 0, rout_elemcount = 0 cousin_groupcount = 0, cousin_elemcount = 0 backup_groupcount = 0, backup_elemcount = 0 Tmax All Node Info: nodecount = 1: ------------------------------------------------------------------ no name portno racport shmkey shmsize minclh maxclh ------------------------------------------------------------------ 0 tmax8 7789 3378 87789 755872 1 3
3.2. history (hist)
Displays a list of the previously executed commands.
-
Usage
$$1 tmax1 (tmadm): history
-
Example
The following is an example of using the command.
$$15 tmax1 (tmadm): history 5 : si 4 : txq 3 : ci 2 : st -p 1 : st -s 0 : ci
Enter "!" at the command line to repeat the previous command. Any of the previously entered commands can also be repeated by entering “!” and the number of the command in the history list.
$$1 tmax1 (tmadm): !5 si ---------------------------------------------------------------- clh svri status count qcount qpcount emcount ---------------------------------------------------------------- 0 0 RDY 2 0 0 0 0 1 RDY 0 0 0 0 0 2 RDY 0 0 0 0 0 3 RDY 45 0 0 0
3.3. config (cfg)
Displays system configuration information. It enables users to check the configuration information, including the default value, of the domain, node, server group, server, and service. For details about the information accessed through this command, refer to Environment Configuration.
-
Usage
$$1 tmax1 (tmadm): config (cfg) [-d] [-n] [-g[server_group_name]] [-v[service_name]] [-s [service_name] [-x]] [-w [gateway_name]] [-r] [-b] [-f] [-pr]
Option Description [-d]
Option to display information about domain configuration. Displays all items in the DOMAIN section and all information on the domain.
[-n]
Option to display node settings. Displays all items in the NODE section and node settings defined on the system.
[-g [server_group_name]]
Option to display server group settings. If the server group name is specified, only information about the server group is displayed, otherwise information about all server groups is displayed. All items related to the SVRGROUP section can be displayed for each server group.
[-v [service_name]]
Option to display server settings. If a server name is specified, only information about the server is displayed, otherwise information about all servers is displayed. For each server, all items related to the SERVER section, server numbers(svr_no), and data dependent routing information (DDRI) are displayed.
[-s [service_name] [-x]]
Option to display service settings. If a service name is specified, only information about the service is displayed, otherwise information about all services is displayed. For each service, all items related to the SERVICE section is displayed.
Using the [-x] option displays txtime information.
[-w [gateway_name]]
Option to display gateway settings. If a gateway name is specified, only information about the gateway is displayed, otherwise information about all gateways is displayed.
[-r]
Option to display routing settings.
[-b]
Option to display backup settings.
[-f]
Option to display TopEnd function information.
[-pr]
Option to display TopEnd product information.
-
Example
-
Domain settings (-d)
The following is an example of checking the domain settings.
$$1 tmax8 (tmadm): cfg -d domain_name = tmax1, shmkey = 79190, minclh = 1, maxclh = 3, maxuser = UNLIMITED, portno(portno) = 7789, racport = 3333, cmtret = YES, blocktime(bt) = 30.000, txtime(tt) = 0.000, nliveinq(ni) = 30, security = NONE, cpc = 1, maxfunc = 0, clichkint(clichkint) = 0, idletime(idletime) = 0, node_count = 1, svg_count = 6, svr_count = 14, cousin_count = 0, cousin_gcount = 0, backup_count = 0, backup_gcount = 0, rout_count = 0, rout_gcount = 0, maxsacall = 8, maxcacall = 16, nclhchktime(nclhchktime) = -1, txpendingtime(txpendingtime) = 0, maxconv_node = 16, maxconv_server = 8, maxnode = 32, maxsvg = 32, maxspr = 64, maxsvr = 64, maxsvc = 512, maxcpc = 150, maxtms = 32, maxrout = 16, maxroutsvg = 32, maxrq = 2, maxgw = 2, maxcousin = 16, maxcousinsvg = 32, maxbackup = 16, maxbackupsvg = 32, maxtotalsvg = 64, maxprod = 0, tipsvc = , crypt = NO, maxthread = 128, tmmloglvl = DETAIL, clhloglvl = DETAIL, tlmloglvl = DETAIL, casloglvl = DETAIL, rsloglvl = DETAIL, sqloglvl = DETAIL, tgloglvl = DETAIL, tmsloglvl = DETAIL, hmsloglvl = DETAIL, rqloglvl = DETAIL, gwloglvl = DETAIL, cllloglvl = DETAIL, loglvl = DETAIL, cllblock = NO, tdl = NO, maxconvn = 16, maxconvs = 8, domainid = 0, fdlversion = 1, tgshmsize = 0 tgmax = -1 tgmax_child = -1 tgmax_watcher = -1 tgheartbeat = 0 tgtimeout = 0 tg_mcast_ip = 224.0.0.100, tg_portno = 9999, tghistorycount = 50 tgstandbycount = 50 tgmaxbuffersize = 65000 tgdownwaittime = 30
After the command, cfg -d, is executed, the following items are displayed.
Item Description nodecount
Number of nodes in the domain
svgcount
Number of server groups
cousin_gcount
Number of groups with COUSIN defined (number of replicated server groups for load balancing)
cousin_count
Number of all replicated server groups
rout_count
Number of routing objects defined in the ROUTING section
relem_count
Number of routing units for each range, which is defined in the range item of each routing object
-
All nodes settings (-n)
The following is an example of checking all node settings.
$$1 tmax8 (tmadm): cfg -n node_name = tmax8, hostname = tmax8, node_no = 0 load = 0, shmkey = 79190, minclh = 1, maxclh = 3, maxuser = UNLIMITED, Supported maximum user per node = 15931, Supported maximum user per handler = 15932, clhqtimeout(cqt) = 0, portno(portno) = 7789, racport = 3333, tmaxhome = /data/tmaxha/tmax/, tmaxdir = /data/tmaxha/tmax/, appdir = /data/tmaxha/tmax/appbin/, pathdir = /data/tmaxha/tmax/path/, tlogdir = /data/tmaxha/tmax/log/tlog/, slogdir = /data/tmaxha/tmax/log/slog/, ulogdir = /data/tmaxha/tmax/log/ulog/, envfile = , svgcount = 6, svrcount = 14, svccount = 24, curclh = 1, sprcount = 14, tmscount = 6, cpccount = 10, cmprsize(cmprsize) = -1, ipcperm = 1c0, clichkint(clichkint) = 0, idletime(idletime) = 0, tmmopt = , clhopt = , tlmopt = , realsvr = , rscpc = 4, maxsvg = 32, maxsprs = 64, maxsvr = 64, maxtmss = 32, maxcpc = 150, maxgwsvr = 2, maxrqsvr = 2, maxgwcpc = 8, restart(rs) = YES, maxrstart(mr) = -1, gperiod(gp) = 86400, autobackup(ab) = YES, extport = 0, maxthread = 128, cllblock(cb) = NO, cllconnlb(cllconnlb) = RR, cllbindip = YES, tdl = NO, sqkey = 78550, sqsize = 8388608, sqmax = 1024, sqkeymax = 64, sqtimeout = 30, smsupport = NO, msgsizewarn(msw) = 1073741824, msgsizemax(msx) = 1073741824, tgshmkey = -1, tgid = -1, tgmcast_ttl = 1, tgmcast_if = , crypt_algorithm = "" svclog_format = "" casthread = -1 cas = "" security_lib = "" crypt_lib = ""
After the command, cfg -n, is executed, the following items are displayed.
Item Description node_no
Node number defined in the system
svgcount
Number of server groups on the node
svrcount
Number of servers
svccount
Number of services
curclh
Number of CLH processes active on the node
maxsprs
Maximum allowed number of server processes
maxtms
Maximum allowed number of TMS processes
autobackup
Option to automatically start backup servers included in svg. Set to either Y or N.
When a main node is downed by tmdown -i, set this option to N to prevent that backup servers start. Execute tmdown, and then set to Y.
If a node where tmadmin is executed or a connected node is not a node for which the set command is executed, the modification is not applied and the following error message is displayed.
no such name(nodename) for the section defiend in config.
To change settings of another node, racd must be executed for the node.
-
Server group settings (-g)
The following is an example of checking the server group settings.
$$2 tmax8 (tmadm): cfg -g svg2 svg_name = svg2, svg_no = 3 xaoption = , openinfo = Oracle_XA+Acc=P/scott/tiger+SesTm=60+DbgFl=7+LogDir=/data/tmaxha/tmax/log/xalog, closeinfo = , appdir = , ulogdir = , svgtype = TMAX, envfile = , tmsname = tms_ora, mintms = 2, maxtms = 3, curtms = 2, tmstype = STD, tmsthreads = 0, tmsopt = -o svg2 -e svg2, tmsrecovery = YES, tmsloglvl = DEBUG4, tmsrange = DOMAIN, tmsxatime(tmsxatime) = 0, load(ld) = -9, tms starti = 0, tms endi = 2, restart(rs) = YES, maxrstart(mr) = -1, gperiod(gp) = 86400, autobackup = YES, dummy = NO, dbname = ORACLE rmid = 0 svclog_format = ""
-
Server settings (-v)
The following is an example of checking the server settings.
$$4 tmax8 (tmadm): cfg -v svr2 svr_name = svr2, svr_no = 5 svgno = 2, cursvr = 1, clopt = , seq = -1, minsvr = 1, maxsvr(max) = 1, ulogdir = , maxqcount(mq) = -1, asqcount(aq) = -1, conv = NO, ddri = DDR_NO_ROUT, lifespan(ls) = -1, restart(rs) = YES, maxrstart(mr) = 5, gperiod(gp) = 86400, svrtype = TMAX_STD, schedule(schedule) = FA, cpc = 1, dummy = NO, aus = NO, mac(mac) = NO, roc(roc) = NO, multiclh = YES, ctx_ereply = NO, svrqtimeout(sqt) = -1, inbound_cpc = 1, svclog_format = ""
-
Service settings (-s)
The following is an example of checking the service settings.
$$5 tmax8 (tmadm): cfg -s ------------------------------------------------------------------------------------------- svc_name funcname prio(pr) autotran svctime(st) routno svrname svgno ------------------------------------------------------------------------------------------- _hms01 50 NO 0.000 -1 _hms01 4 TOLOWER 50 NO 0.000 -1 svr2 2 TOUPPER 50 NO 0.000 -1 svr2 2 HMS 50 NO 0.000 -1 svr_hms 2 FDLTOLOWER 50 NO 0.000 -1 svr3 2 FDLTOUPPER 50 NO 0.000 -1 svr3 2 gw1 50 NO 0.000 -1 gw1 0 gw2 50 NO 0.000 -1 gw2 1 SDLTOLOWER 50 NO 0.000 -1 svr1 2 SDLTOUPPER 50 NO 0.000 -1 svr1 2 _rq1 50 NO 0.000 -1 _rqsvg 5 LOGIN 50 NO 0.000 -1 svr_ucs 2 TPDEQ 50 NO 0.000 -1 svr_rq 2 TPENQ 50 NO 0.000 -1 svr_rq 2 FDLDEL 50 NO 0.000 -1 fdltest 3 SDLDEL 50 YES 0.000 -1 sdltest 3 FDLSEL 50 NO 0.000 -1 fdltest 3 FDLINS 50 NO 0.000 -1 fdltest 3 TOUPPER_CONV 50 NO 0.000 -1 svr_conv 2 SDLSEL 50 YES 0.000 -1 sdltest 3 SDLINS 50 YES 0.000 -1 sdltest 3 FDLUPT 50 NO 0.000 -1 fdltest 3 SDLUPT 50 YES 0.000 -1 sdltest 3 GET_SQ 50 NO 0.000 -1 svr_sq 2
-
Gateway settings (-w)
The following is an example of checking the gateway settings.
$$7 tmax8 (tmadm): cfg -w gw1 gw_name = gw1, node_no = 0, gw_no = 0 gw_type = TMAXNONTX, portno = 4021, rgwaddr = 192.168.1.86, rgwportno = 4021, backup_rgwaddr = , backup_rgwportno = -1, backup_rgwaddr2 = , backup_rgwportno2 = 0, backup_rgwaddr3 = , backup_rgwportno3 = 0, cpc = 1, timeout(timeout) = 11000, direction(direction) = BIDIR, maxinrgw = 32, clopt = -i, ptimeout(ptimeout) = -1, ptimeint(ptimeint) = -1 gwchkint(gwchkint) = -1 gwconnect_timeout = -1 nliveinq(nliveinq) = -1
-
3.4. configopt (cfgopt)
Displays current settings that can be modified dynamically among the defined options such as TMMOPT.
-
Usage
$$1 tmax1 (tmadm): configopt (cfgopt) [-tmm]
Option Description [-tmm]
Option to check the current settings that are dynamically configurable among options defined in the TMMOT element.
-
Example
-
TMMOPT setting (-d)
The following is an example of checking the TMMOPT setting.
$$1 tmax1 (tmadm): cfgopt -tmm ------------------------------------------------------------------------ -tmm configurable value ------------------------------------------------------------------------ accept retry count(-A) = 100 max forked threshold(-F) = 765 booting timeout(-t) = 10 ------------------------------------------------------------------------
The following describes items that are displayed when the command is executed.
Item Description accept retry count(-A)
Number of server process access requests that can be accepted immediately. Refer to the -A option of TMMOPT.
max forked threshold(-F)
The maximum number of concurrent requests that can be processed when creating a new process due to TMM starting an additional server process or restarting a process. Refer to the -F option of TMMOPT.
booting timeout(-t)
Access timeout for a server process that was started via ASQCOUNT. Refer to the -t option of TMMOPT.
-
4. Status Information Commands
4.1. stat (st)
Displays the status of various elements in the system, including server processes. Information that can be displayed through this command includes the current state of server processes, the names of services being processed, the number of processed services, the state of services, and the number of service requests in the service queue. The stat command is abbreviated as st.
-
Usage
$$1 tmax1 (tmadm): stat (st) [-p [server_process_name] [-b]] [-s [service_name]] [-t [TMS_name]] [-v [server_process_name] [-pod] [-b]] [-o [sort condition]] [-n [output message line]] [-x] [-X] [-q [destination_name [-c]] ] [-d] [-j] [-tg]
Option Description [-p [server_process_name]]
Option to display information about server processes. Servers registered in the Tmax configuration file can use MIN and MAX to start multiple processes, and this option is used to check the status of each server. If a server process name is specified, only information about the server process is displayed, otherwise information about all server processes is displayed.
The overall system processing state is displayed on the last line of the 'st –p' command execution result. Statistical information including total processing count, average processing time, and the total number of active services are displayed.
[-s [service_name]]
Option to display information about services. If a service name is specified, only information about the service is displayed, otherwise information about all services is displayed.
[ -t [TMS_name] ]
Option to display dynamic information about TMS provided by the system.
-
If a TMS name is specified, only information about the TMS is displayed.
-
If a TMS name is not specified, information about all TMSs is displayed.
[-v [server_process_name] [-pod]]
Option to display information about server processes. (same as si)
If the [-pod] option is used, "(POD)" is always displayed with the POD server status. If this option is not used, RDY or NRDY is displayed when a POD server is running or not running respectively. POD server’s status is not important because it automatically starts when there is a service request even when the status is NRDY. Use this option to avoid mistaken a POD server in the NRDY status as a server error.
[-o [sort condition]]
Option to sort output results by the specified condition. Dynamic information about server processes and services provided by the Tmax system can be sorted by the specified condition. This option must be used with the [–p] or [–s] options.
Use one of the following options to sort either in descending or ascending order.
-
[ -o ca ]: descending order
-
[ -o ca- ]: ascending order
[-n [output message line]]
Option to set the number of lines of sorted messages to display (number of server processes or services). This option must be used with the [–o] option.
[-x]
Option to display the following details when using 'st –p' or 'st –s' command to search for the state of server processes or services. Must be used with either [–s] or [–p] option. For more details, refer to "Detailed Info (-x)".
-
Fail count, Error count, and Process ID(PID) provided by OS
-
Minimum/maximum service processing times (min_time, max_time)
-
xid and xa_status used to search for TMS(-t) information
[-X]
-
When using with the [-s] option
Searches for the local status of COUSIN service in the form of status1(status2). (Example: RDY(NRDY))
(Status2) is the actual local status. This option prevents the problem of a local status always being displayed as RDY in a COUSIN environment. Must be used with the [–s] option.
-
When using with the [-p] option
Searches for suspended server processes. A suspended server process is displayed as follows. (Example: RDY(BLK:Pp))
Only some of the server processes can be suspended. In such a case, the server status is displayed as RDY when using 'stat -v', and each suspended process is displayed with '(BLK:Xx)' appended to the end of the actual status string when using 'stat -p -X'. Xx depends on the -n and -N options used when running the sp command.
-
Pp
sp -n P -N P
-
Tp
sp -n T -N P
-
Tt
sp -n T -N T
-
Pt
sp -n P -N T
-
[-q [destination_name]]
Option to display information about HMS destinations. Displays a list of destinations defined in the configuration file, and the messages and clients being processed at each destination.
[-d]
Option to display the elapsed time when a server process is queried (st -p) and its status is RUN. '-' is displayed for any other statuses. Must be used with 'st -p'.
(Example: st -p -d, st -p -x -d)
[-b]
Option to display last server boot time when retrieving servers (st -v) or server processes (st -p).
[-j]
Option to display items that span in multiple lines as a single line when using st -p -x and st -p -d.
Used along with 'st -p'.
st -p -j st -p -x -j st -p -d -j st -p -d -x -j
[-tg]
Option to display information about TmaxGrid.
-
-
Example
-
Server process information (–p)
The following is an example of checking server process information.
$$24 tmax8 (tmadm): st -p CLH 0: --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc --------------------------------------------------------------------------- gw1 gw1 32 RDY 0 0.000 -1 gw2 gw2 33 RDY 0 0.000 -1 _hms01 hms01 34 RDY 2 0.000 -1 _hms01 hms01 105 RDY 0 0.000 -1 _hms01 hms01 106 RDY 0 0.000 -1 _hms01 hms01 107 RDY 0 0.000 -1 _rqsvg rqsvg 35 RDY 0 0.000 -1 _rqsvg rqsvg 109 RDY 0 0.000 -1 _rqsvg rqsvg 110 RDY 0 0.000 -1 _rqsvg rqsvg 111 RDY 0 0.000 -1 svr1 svg1 36 RDY 0 0.000 -1 svr2 svg1 37 RDY 0 0.000 -1 svr3 svg1 38 RDY 0 0.000 -1 svr_ucs svg1 39 RDY 0 0.000 -1 svr_conv svg1 40 RDY 0 0.000 -1 svr_rq svg1 41 RDY 0 0.000 -1 svr_sq svg1 42 RDY 0 0.000 -1 svr_hms svg1 43 RDY 0 0.000 -1 fdltest svg2 44 RDY 0 0.000 -1 sdltest svg2 45 RDY 0 0.000 -1 --------------------------------------------------------------------------- TOTAL COUNT = 2 TOTAL AVG = 0.000 TOTAL RUNNING COUNT = 0
After the command 'st -p' is executed, the following items are displayed.
Item Description svr_name
Server process name.
svgname
Name of the server group that the server process belongs to.
spr_no
ID of the server process.
status
Current status of the server process.
The following describes each system status.
-
RDY: Ready.
-
NRDY: Not ready. The tpstart has been executed and client is connected to a socket, but data cannot be transmitted from the server. This status may occur due to a network problem.
-
RUN: Running.
-
Unregisted: Unregistered. Shown to the client immediately after tpend execution before the status is changed.
-
BLK: All processes of the service are suspended.
-
PBLK: Only some server processes of the service are suspended.
-
UNADV: All server processes of the service are in the unadvertise status.
-
PUNADV: Only some server processes of the service are in the unadvertise status.
count
Number of services processed.
avg
Average processing time.
svc
Name of the service being processed. If no service is currently being processed, -1 is displayed.
Wild cards can be used. For example, the command 'st –p s*' will display information about all server processes with names that begin with 's'.
$$25 tmax8 (tmadm): st -p s* CLH 0: --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc --------------------------------------------------------------------------- svr1 svg1 36 RDY 0 0.000 -1 svr2 svg1 37 RDY 0 0.000 -1 svr3 svg1 38 RDY 0 0.000 -1 svr_ucs svg1 39 RDY 0 0.000 -1 svr_conv svg1 40 RDY 0 0.000 -1 svr_rq svg1 41 RDY 0 0.000 -1 svr_sq svg1 42 RDY 0 0.000 -1 svr_hms svg1 43 RDY 0 0.000 -1 sdltest svg2 45 RDY 0 0.000 -1 --------------------------------------------------------------------------- TOTAL COUNT = 0 TOTAL RUNNING COUNT = 0
-
-
Service information (–s)
The following is an example of checking the service information.
$$13 tmax8 (tmadm): st -s CLH 0: ------------------------------------------------------------------------------------------------ svc_name svr_name count q_cnt aq_cnt q_avg avg status ------------------------------------------------------------------------------------------------ _hms01 _hms01 2 0 1 0.000 0.000 RDY TOLOWER svr2 0 0 0 0.000 0.000 RDY TOUPPER svr2 0 0 0 0.000 0.000 RDY HMS svr_hms 0 0 0 0.000 0.000 RDY FDLTOLOWER svr3 0 0 0 0.000 0.000 RDY FDLTOUPPER svr3 0 0 0 0.000 0.000 RDY gw1 gw1 0 0 0 0.000 0.000 RDY gw2 gw2 0 0 0 0.000 0.000 RDY SDLTOLOWER svr1 0 0 0 0.000 0.000 RDY SDLTOUPPER svr1 0 0 0 0.000 0.000 RDY _rq1 _rqsvg 0 0 0 0.000 0.000 RDY LOGIN svr_ucs 0 0 0 0.000 0.000 RDY TPDEQ svr_rq 0 0 0 0.000 0.000 RDY TPENQ svr_rq 0 0 0 0.000 0.000 RDY FDLDEL fdltest 0 0 0 0.000 0.000 RDY SDLDEL sdltest 0 0 0 0.000 0.000 RDY FDLSEL fdltest 0 0 0 0.000 0.000 RDY FDLINS fdltest 0 0 0 0.000 0.000 RDY TOUPPER_CONV svr_conv 0 0 0 0.000 0.000 RDY SDLSEL sdltest 0 0 0 0.000 0.000 RDY SDLINS sdltest 0 0 0 0.000 0.000 RDY FDLUPT fdltest 0 0 0 0.000 0.000 RDY SDLUPT sdltest 0 0 0 0.000 0.000 RDY GET_SQ svr_sq 0 0 0 0.000 0.000 RDY
After the command 'st -s' is executed, the following items are displayed.
Item Description svc_name
Service name.
svr_name
The name of the server that the service belongs to.
count
Number of services processed.
avg
Average processing time.
q_count
Number of service requests currently in the queue.
aq_count
Number of service requests that spent time in the queue.
q_avg
Average service waiting time.
status
Current service status. For more information, refer to the previous description of "system status".
It is possible to use a wild card for the service name option. For example, the command 'st -s *W' will display information about all services ending with W.
$$27 tmax8 (tmadm): st -s *R CLH 0: ------------------------------------------------------------------------------------------------ svc_name svr_name count q_cnt aq_cnt q_avg avg status ------------------------------------------------------------------------------------------------ TOLOWER svr2 0 0 0 0.000 0.000 RDY TOUPPER svr2 0 0 0 0.000 0.000 RDY FDLTOLOWER svr3 0 0 0 0.000 0.000 RDY FDLTOUPPER svr3 0 0 0 0.000 0.000 RDY SDLTOLOWER svr1 0 0 0 0.000 0.000 RDY SDLTOUPPER svr1 0 0 0 0.000 0.000 RDY
-
TMS information (-t)
The following is an example of checking the TMS information.
$$29 tmax8 (tmadm): st -t CLH 0: --------------------------------------------------------------------------------- tms_name svgname spr_no status count avg cqcount aqcount qavg --------------------------------------------------------------------------------- tms_ora svg2 0 RDY 0 0.00 0 0 0.00 tms_ora svg2 1 RDY 0 0.00 ( 0) ( 0) (0.00)
After the command, st -t, is executed, the following items are displayed.
Item Description tms_name
Name of the TMS.
svgname
Name of the server group that the TMS belongs to.
spr_no
Process ID of the TMS.
status
Current status of the TMS. For more information, refer to the previous description of "system status".
count
Number of TMS requests processed.
avg
Average TMS processing time.
cqcount
Number of service requests currently in the queue.
aqcount
Number of service requests that spent time in the queue.
qavg
Average service waiting time.
For a multi-threaded TMS, the status of each thread can be displayed.
$$1 tmax1 (tmadm): st -t -x CLH 0: ---------------------------------------------------------------- tms_name svgname spr_no(tid) status count avg cqcount XID xastate ---------------------------------------------------------------- tms_ora_mt svgora1 0 RUN 0 0.00 0 000:000:13505 commit tms_ora_mt svgora1 0( 1) RDY 0% 0.00 ( 0) 000:000:00000 - tms_ora_mt svgora1 0( 2) RDY 0% 0.00 ( 0) 000:000:00000 - ---------------------------------------------------------------- tms_ora_mt svgora1 1 RDY 0 0.00 ( 0) 000:000:00000 - tms_ora_mt svgora1 1( 1) RDY 0% 0.00 ( 0) 000:000:00000 - tms_ora_mt svgora1 1( 2) RDY 0% 0.00 ( 0) 000:000:00000 - ---------------------------------------------------------------- tms_ora_mt svgora2 10 RDY 0 0.00 0 000:000:00000 - tms_ora_mt svgora2 10( 1) RDY 0% 0.00 ( 0) 000:000:00000 - tms_ora_mt svgora2 10( 2) RDY 0% 0.00 ( 0) 000:000:00000 - ---------------------------------------------------------------- tms_ora svgora3 20 RDY 0 0.00 0 000:000:00000 - ---------------------------------------------------------------- tms_ora svgora3 21 RDY 0 0.00 ( 0) 000:000:00000 - ----------------------------------------------------------------
-
When using with the 'st –p' command:
$$1 tmax8 (tmadm): st -p -x CLH 0: --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID RBS_TAG fail_cnt err_cnt min_time max_time utime umin_time umax_time stime smin_time smax_time --------------------------------------------------------------------------- gw1 gw1 32 RDY 0 0.000 -1 10702 00000000 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 svr2 svg1 37 RDY 0 0.000 -1 10700 00000000 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 --------------------------------------------------------------------------- TOTAL COUNT = 0 TOTAL SVCFAIL COUNT = 0 TOTAL ERROR COUNT = 0 TOTAL RUNNING COUNT = 0
When using with the 'st –s' command:
$$2 tmax8 (tmadm): st -s -x CLH 0: ------------------------------------------------------------------------------------------------ svc_name svr_name count q_cnt aq_cnt q_avg avg status fail_cnt err_cnt mintime maxtime utime umintime umaxtime stime smintime smaxtime ------------------------------------------------------------------------------------------------ TOLOWER svr2 0 0 0 0.000 0.000 RDY 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 TOUPPER svr2 0 0 0 0.000 0.000 RDY 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
After the command, st -s -x, is executed, the following items are displayed.
Item Description PID
Server process PID.
fail_cnt
Failure count of the server process/service.
err_cnt
Error count of the server process/service.
mintime
Minimum time used to handle a service.
maxtime
Maximum time used to handle a service.
utime
User time consumed whenever a server process executes a service.
umin_time
Minimum consumed user time.
umax_time
Maximum consumed user time.
stime
System time consumed whenever a server process executes a service.
smin_time
Minimum consumed system time.
smax_time
Maximum consumed system time.
-
Search result; sort(–o))
The following is an example of using the [-o] option with the 'st –p' command.
$$1 tmax1 (tmadm): st –p –o ca CLH 0 : - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - svr_name svgname spr_no status count avg svc - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - svr2 svg1 37 RDY 10 0.000 -1 svr1 svg1 36 RDY 6 0.000 -1 svr3 svg1 38 RDY 2 0.000 -1 TOTAL COUNT = 18 TOTAL AVG = 0.000 TOTAL RUNNING COUNT = 0
The following is an example of using the [-o] option with the 'st –s' command.
$$1 tmax1 (tmadm): st –s –o ca CLH 0: - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - svc_name svr_name count avg cq_count aq_count q_avg status - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - TOUPPER svr2 10 0.000 0 0 0.000 RDY SDLTOUPPER svr1 5 0.000 0 0 0.000 RDY FDLTOUPPER svr3 2 0.000 0 0 0.000 RDY SDLTOLOWER svr1 1 0.000 0 0 0.000 RDY FDLTOLOWER svr3 0 0.000 0 0 0.000 RDY TOLOWER svr2 0 0.000 0 0 0.000 RDY
-
Descending order sort conditions
Condition Description ca
Number of processed requests (count)
aa
Average processing time (avg)
cq
Number of requests currently in the queue (cq_count)
aq
Average number of requests in the queue (aq_count)
qa
Average queuing time (q_avg)
ce
Sorts by server based on the number of requests processed by each server.
ae
Sorts by server based on the average processing time of each server.
-
Ascending order sort conditions
Condition Description ca-
Number of processed requests (count)
aa-
Average processing time (avg)
cq-
Number of requests currently in the queue (cq_count)
aq-
Average number of requests in the queue (aq_count)
qa-
Average queuing time (q_avg)
ce-
Sorts by server based on the number of requests processed by each server.
ae-
Sorts by server based on the average processing time of each server.
-
-
Specifying the number of lines of an output message (-n)
The following is an example of specifying the number of lines of an output message to 2.
$$1 tmax1 (tmadm): st –p –o ca –n 2 CLH 0 : - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - svr_name svgname spr_no status count avg svc - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - svr2 svg1 37 RDY 10 0.000 -1 svr1 svg1 36 RDY 6 0.000 -1 TOTAL COUNT = 18 TOTAL AVG = 0.000 TOTAL RUNNING COUNT = 0
The following is an example of specifying the number of lines of an output message to 3.
$$1 tmax1 (tmadm): st –s –o ca –n 3 CLH 0: - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - svc_name svr_name count avg cq_count aq_count q_avg status - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - TOUPPER svr2 10 0.000 0 0 0.000 RDY SDLTOUPPER svr1 5 0.000 0 0 0.000 RDY FDLTOUPPER svr3 2 0.000 0 0 0.000 RDY
-
HMS destination information (-q)
The following is an example of querying information about HMS Destination.
$$1 tmax1 (tmadm): st -q ------------------------------------------------------------------------------- G dest cqcount type apqcnt acqcnt f_dscrd t_dscrd cons_cnt prod_cnt ------------------------------------------------------------------------------- - queue01 58 QUEUE 169 111 0 0 30 5 - topic01 32 TOPIC 42 283 0 0 28 3
After the command, st -q, is executed, the following items are displayed.
Item Description G
If the destination is set to GLOBAL, this is displayed as 'O', otherwise it is displayed as a hyphen (-).
dest
Destination name defined in the HMS section of the configuration file.
cqcount
Number of messages that have not been processed at the destination.
type
Destination type. Displayed as either QUEUE or TOPIC.
apqcnt
Total number of accumulated messages up to now.
acqcnt
The total number of messages that have been processed by a consumer. Since a Topic message is not considered to be complete until all consumers receive the message, acqcnt may become larger than apqcnt.
f_dscrd
Number of messages that could not be processed.
t_dscrd
Number of messages, with TTL set, that have expired.
cons_cnt
Number of consumers connected to the destination.
prod_cnt
Number of producers connected to the destination.
The following shows the details about the clients of a particular destination.
$$1 tmax1 (tmadm): st -q queue01 -c ------------------------------------------------------------------------------ sesi clid cname clitype qcnt cnt f_dscrd t_dscrd listener ------------------------------------------------------------------------------ 0 0x39d prodasync ARCV 49 0 0 0 ASYNCSVC 0x1 0 prod41 SND 0 32 0 0 0x1 0 prod42 SND 0 11 0 0 0x1 0 cons51 RCV 3 0 0 0 0x1 0 cons52 RCV 9 0 0 0 $$2 tmax1 (tmadm): st -q topic01 -c ------------------------------------------------------------------------------ sesi clid cname clitype qcnt cnt f_dscrd t_dscrd listener ------------------------------------------------------------------------------ 0x1 0 prod11 PUB 0 2 0 0 0x1 0 prod12 PUB 0 1 0 0 0x1 0 cons11 SUB 30 0 0 0 0x2 0x2 prod21 PUB 0 16 0 0 0x2 0x2 prod22 PUB 0 8 0 0 0x2 0x2 cons21 SUB 23 0 0 0 0x3 0 prod31 PUB 0 3 0 0 0x4 0x4 cons41 ADSUB 32 0 0 0 ASYNCSVC2
After the previous commands are executed, the following items are displayed.
Item Description sesi
Number of the session that created the client.
clid
Client ID.
cname
Client name.
clitype
Type of the client connected to the destination
-
SND: Queue type sender (created by hms_create_sender())
-
PUB: Topic type publisher (created by hms_create_publisher())
-
RCV: Queue type receiver (created by hms_create_receiver())
-
SUB: Topic type subscriber (created by hms_create_subscriber())
-
DSUB: Topic type durable subscriber (created by hms_create_durable_subscriber())
-
ARCV: Queue type receiver created in an async session
-
ASUB: Topic type subscriber created in an async session
-
ADSUB: Topic type durable subscriber created in an async session
qcnt
Number of messages that each subscriber actually possesses.
cnt
Number of messages sent or received by each client.
f_dscrd
Number of messages that could not be processed.
t_dscrd
Number of messages, with TTL set, that have expired.
listener
Name of the service that will receive a message for a consumer created by an ASYNC session.
Executing the following command displays TmaxGrid information in detail.
$$1 tmax1 (tmadm): st -tg TG Info: Preferences: shmkey : 38852 (0x97c4) shmsize : 40960 Kbyte max data : 10000 max watcher : 10 id : 1 portno : 9999 (UDP) heartbeat : 1000 ms timeout : 5000 ms historycount : 100 standbycount : 10 gqmaxbuffersize : 1000 byte gqdownwaittime : 30 Status: status : INIT suspend status : NOT SUSPENDED created node count : 0 deleted node count : 0 set data count : 0 get data count : 0 current node count : 0 temporary node count : 0 watcher count : 0 current data count : 0 total data size : 0 byte current shm size : 4460544 byte (10.64%)
-
-
4.2. gwinfo
Displays the connection status of a remote gateway from tmadmin. It also displays detailed information such as if the gateway is currently connected to the main node or the backup node and which nodes are connected to the gateway.
It can be used to check the connection information of all gateways (except for web service gateways).
-
Usage
$$1 tmax1 (tmadm): gwinfo [-w gw_name] [-t gw_type]
Option Description [-w gw_name]
Option to search for a specific gateway’s information. Use a gateway name defined in the GATEWAY section.
[-t gw_type]
Option to search for a specific gateway type.
Use a type defined in the GATEWAY section. (TMAX, TMAXNONTX, JEUS, JEUS_ASYNC, TUXEDO, TUXEDO_ASYNC, or XAGW)
(Example: TMAX)
-
Example
The gwinfo command results vary depending on whether the connected node is the main node or the backup node.
-
If connected to the main node
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxs1 (tmadm): gwinfo ---------------------------------------------------------------- gw_no channel type foreign_address status ---------------------------------------------------------------- 0 OUTCH PRIM tmaxc1(192.168.1.12:9400) RDY 1 OUTCH PRIM tmaxc1(192.168.1.12:9400) RDY 4 INCH - tmaxc1(192.168.1.12:1434) RDY 5 INCH - tmaxc1(192.168.1.12:1436) RDY 6 INCH - tmaxh2(192.168.1.48:58094) RDY 7 INCH - tmaxh2(192.168.1.48:58093) RDY
The following describes the command result.
Item Description gw_no
Gateway number.
channel
Displays whether the channel is INBOUND or OUTBOUND.
type
Displays whether the connected node is the main or the backup node.
foreign_address
IP address of the connected remote gateway.
status
Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".
-
If connected to the backup node
$$1 tmax1 (tmadm): gwinfo ---------------------------------------------------------------- gw_no channel type foreign_address status ---------------------------------------------------------------- 0 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 1 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 6 INCH - tmaxh2(192.168.1.48:58091) RDY 7 INCH - tmaxh2(192.168.1.48:58092) RDY
-
4.3. txgwinfo (txgwi) / nontxgwinfo
These commands display the connection status to a remote gateway. It can also be used to check whether the gateway is currently connected to a main or a backup node and to which specific node it is connected to.
txgwinfo (txgwi) is used to display Tmax Gateway information, while nontxgwinfo (ntxgwi) is used to display Tmax non-transaction (TMAXNONTX) Gateway information.
-
Usage
-
txgwinfo
$$1 tmax1 (tmadm): txgwinfo
-
nontxgwinfo
$$1 tmax1 (tmadm): nontxgwinfo
-
-
Example
The following is an example of using each command.
-
txgwinfo
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxs1 (tmadm): txgwinfo ---------------------------------------------------------------- gw_no channel type foreign_address status ---------------------------------------------------------------- 0 OUTCH PRIM tmaxc1(192.168.1.12:9400) RDY 1 OUTCH PRIM tmaxc1(192.168.1.12:9400) RDY 4 INCH - tmaxc1(192.168.1.12:1434) RDY 5 INCH - tmaxc1(192.168.1.12:1436) RDY 6 INCH - tmaxh2(192.168.1.48:58094) RDY 7 INCH - tmaxh2(192.168.1.48:58093) RDY
After the command, txgwinfo, is executed, the following items are displayed.
Item Description gw_no
Gateway number.
channel
Displays whether the channel is INBOUND or OUTBOUND.
type
Displays whether the connected node is the main or the backup node.
foreign_address
IP address of the connected remote gateway.
status
Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".
-
nontxgwinfo
When connected to a backup node
$$1 tmax1 (tmadm): nontxgwinfo ---------------------------------------------------------------- gw_no channel type foreign_address status ---------------------------------------------------------------- 0 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 1 OUTCH BACK tmaxh2(192.168.1.48:9200) RDY 6 INCH - tmaxh2(192.168.1.48:58091) RDY 7 INCH - tmaxh2(192.168.1.48:58092) RDY
-
4.4. jgwinfo / ajgwinfo
These commands display the connection status to JTmax or WebtAsync. It can also be used to check whether the gateway is currently connected to a main or a backup node. Jgwinfo is used to display Java(JEUS) gateway information, and ajgwinfo is used to display Async Java(ASYNC_JEUS) gateway information.
-
Usage
-
jgwinfo
$$1 tmax1 (tmadm): jgwinfo
-
ajgwinfo
$$1 tmax1 (tmadm): ajgwinfo
-
-
Example
-
jgwinfo
The following is an example of using the command.
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxs1 (tmadm): jgwinfo ------------------------------------------------------------------------------- gw_no name channel type foreign_address status ------------------------------------------------------------------------------- 0 gw1 OUTCH PRIM unknown(192.168.35.47:6555) RDY
After the command, jgwinfo, is executed, the following items are displayed.
Item Description gw_no
Gateway number.
channel
Displays whether the channel is INBOUND or OUTBOUND.
type
Displays whether the connected node is the main or the backup node.
foreign_address
IP address of the connected remote gateway.
status
Connection status to webt, jtmax, and webtasync. For more information about the status, refer to "system status".
-
ajgwinfo
When connected to a backup node
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmax1 (tmadm): ajgwinfo ------------------------------------------------------------------------------- gw_no name channel type foreign_address status ------------------------------------------------------------------------------- 1 gw2 OUTCH BACK unknown(192.168.35.47:6555) RDY
-
4.5. wsgwinfo
Displays web service gateway information.
-
Usage
$$1 tmax1 (tmadm): wsgwinfo [-i svrid[ svrid]]
Option Description [-i svrid [ svrid]]
Svrid list to check.
-
Example
The following is an example of using the command.
10/user2/starbj81>tmadmin --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxs1 (tmadm): wsgwinfo ------------------------------------------------------------------------ svrid load_time current_client max_attach_time ------------------------------------------------------------------------ 2 Wed Jan 13 12:43:39 2010 0 0.0sec ------------------------------------------------------------------------
After the command, wsgwinfo, is executed, the following items are displayed.
Item Description svrid
Gateway’s svr index.
load_time
Startup time of the web service gateway.
current_client
Number of clients that are currently connected.
max_attach_time
Maximum time spent for processing a single service.
4.6. smtrc
When the SMSUPPORT element in the NODE section of the configuration file is set to Y, executing 'st ?p ?x' displays GID of the running services.
-
Usage
$$1 tmax1 (tmadm): smtrc [-a] GID0 GID1
Option Description [-a]
Option to display additional information including server process index(spri), user CPU time, system CPU time, and return information.
GID0
First four bytes of SysMaster GID in hexadecimal.
GID1
Last four bytes of SysMaster GID in hexadecimal.
-
Example
The following is an example of executing smtrc to output the GID after executing 'st ?p ?x'.
$$1 tmax1 (tmadm): st ?p -x CLH 0: -------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID fail_cnt err_cnt min_time max_time SysMaster_GID -------------------------------------------------------------- evtsvr svg1 36 RDY 0 0.000 -1 17980 0 0 0.000 0.000 00000000-00000000-00000000 svr1 svg1 37 RUN 0 0.000 SDLTOUPPER 17981 0 0 0.000 0.000 00000000-00000101-00000000 svr2 svg1 38 RUN 0 0.000 SDLTOUPPER2 17982 0 0 0.000 0.000 00000000-00080101-00000000 svr3 svg1 39 RUN 0 0.000 SDLTOUPPER3 17983 0 0 0.000 0.000 00000000-00100101-00000000 svr_sys svg1 40 RDY 3 0.000 -1 17984 0 0 0.000 0.000 00000000-00000000-00000000 ---------------------------------------------------------------- TOTAL COUNT = 3 TOTAL SVCFAIL COUNT = 0 TOTAL ERROR COUNT = 0 TOTAL AVG = 0.000 TOTAL RUNNING COUNT = 3 $$1 tmax1 (tmadm): smtrc 0 0101 CLH 0: ------------------------------------------------------------- sysmaster_global_id status svc_name ------------------------------------------------------------- 00000000:00000101:00000000 SVC_RUNNING SDLTOUPPER2 45670701 tmaxi1 (tmadm): smtrc -a 0 0101 CLH 0: ---------------------------------------------------------------- sysmaster_global_id status svc_name ctime svctime spri ucpu scpu ---------------------------------------------------------------- 00000000:00000101:00000000 SVC_RUNNING SDLTOUPPER2 14:05:32:159 0.000 38 0.000 0.000 00000000:00000101:00010000 SVC_RUNNING SMTRACE 14:05:32:159 0.000 40 0.000 0.000 00000000:00000101:00010000 SVC_DONE SMTRACE 14:05:32:159 0.000 40 0.000 0.000
After the command, smtrc, is executed, the following items are displayed.
Item Description sysmaster_global_id
SysMaster GID.
status
Status of the service.
svc_name
Service name.
ctime
Log creation time.
svctime
Log service time.
spri
Index of the server processes that executed the service.
ucpu
User CPU time.
scpu
System CPU time.
4.7. clhsinfo
The nodes in a multi node environment must be connected each other. If node connections are unstable due to using a firewall or obsolete equipment, connections between nodes may be lost interrupting service processing. Such connection issues can be checked by using clhsinfo and tmmsinfo to check the connection status between nodes.
-
Usage
$$1 tmax1 (tmadm): clhsinfo
-
Example
The following is an example of using clhsinfo when minclh and maxclh are set to 1 and 2, respectively.
tmaxh4@starbj81:/EMC01/starbj81/tmax/config>tmadmin TMADMIN for rnode (tmaxh2): starting to connect to RAC --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxh4 (tmadm): clhsinfo CLH 0: --------------------------------------- nodename clhno cpc status --------------------------------------- tmaxh2 0 2 RDY tmaxh2 1 0 NRDY --------------------------------------- CLH 1 is not available Msg from rnode(tmaxh2): CLH 0: --------------------------------------- nodename clhno cpc status --------------------------------------- tmaxh4 0 2 RDY tmaxh4 1 0 NRDY --------------------------------------- CLH 1 is not available
After the command, clhsinfo, is executed, the following items are displayed.
Item Description nodename
Node name.
clhno
CLH number.
cpc
CPC number.
status
Node status.
The following describes each node status.
-
NRDY(NOT_READY): Not connected or disconnected with the target CLH.
-
RDY(READY): Connected.
-
REG(REGISTERED): Nodes are currently being connected.
-
UNR(UNREGISTERED): Node has been terminated via tmdown.
-
NSTRT(NCLHSTARTED): Nodes are currently being connected, and CLH of the target node has started.
-
CTNG(TRYINGTOCONNECT): Only TCP/IP socket is connected between nodes, but a connection message has not yet been transmitted to the target node.
-
NPING(ALIVECHECK): Node is connected, and is currently performing alive check.
-
NPING2(ALIVECHECK2): No response has been issued from the node for the alive check request.
-
4.8. tmmsinfo
Displays TMM connection information in a multi node environment.
-
Usage
$$1 tmax1 (tmadm): tmmsinfo
-
Example
The following is an example of using the command.
tmaxh4@starbj81:/EMC01/starbj81/tmax/config>tmadmin TMADMIN for rnode (tmaxh2): starting to connect to RAC --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxh4 (tmadm): tmmsinfo ------------------------------------------ no nodename livectime status ------------------------------------------ 1 tmaxh2 13:53:53 RDY Msg from rnode(tmaxh2): ------------------------------------------ no nodename livectime status ------------------------------------------ 0 tmaxh4 13:53:08 RDY
After the command, tmmsinfo, is executed, the following items are displayed.
Item Description no
TMM number.
nodename
Node name.
livectime
Latest channel use time.
status
Current node status. For more information, refer to "node status".
4.9. repeat (r)
Repeatedly displays status information. It can be used as in the following. Repeating a command is useful for monitoring status information and debugging task processing.
-
Usage
$$1 tmax1 (tmadm): r -k n -i ms command_to_repeat
Item Description -k n
Option to repeat n times.
-i ms
Option to repeat at ms-second intervals.
command_to_repeat
Target command to repeatedly execute.
-
Example
In the following example, st -s is to be executed at 5-second intervals 30 times.
$$1 tmax1 (tmadm): r -k 30 -i 5000 st -s
In the following example, st -p is executed at 5-second intervals for 30 seconds.
$$1 tmax1 (tmadm): r -k 30 -i 5000 st -p
4.10. clientinfo (ci)
Displays information about the clients currently connected to the Tmax system.
-
Usage
$$1 tmax1 (tmadm): ci [–s]
Option Description [-s]
Total number of connected clients.
-
Example
The following is an example of using the command.
$$1 tmax1 (tmadm): ci CLH 0: ---------------------------------------------------------------- cli_id status count lastin_time ipaddr usrname ---------------------------------------------------------------- 0 RDY 0 20 61.77.153.1 1 RDY 2 10 61.77.153.1 tmax 2 RDY 4 123 61.77.153.1 ---------------------------------------------------------------- Total Connected Clients = 1 ----------------------------------------------------------------
After the command, clientinfo, is executed, the following items are displayed.
tem Description cli_id
Client ID.
status
Current status of the client.
The following describes each client status.
-
RDY: Client is normally connected to CLH.
-
NRDY: Only TCP/IP socket is currently connected, but TPSTART message has not yet been sent.
-
QED: Client service requests are accumulated in the server queue.
-
CTING : Client is trying to connect to CLH.
-
UNR : Client is executing tpend(), or NCLH is down.
-
RUN : Service requested by the client is executing.
count
Number of processed requests.
lastin_time
Time the client spent waiting after calling a service.
ipaddr
Client connection IP address.
usrname
User name defined in the usrname field of the TPSTART_T struct.
Too many abnormal client connections to CLH that are hanging can prevent other clients from connecting to CLH. Clients that do not send a TPSTART connection message within 60 seconds after the socket is connected will automatically be disconnected. When they are disconnected, the following error will occur.
(I) CLH0209 internal error : disconnect client because client didn't send tpstart msg for 60 sec.(192.168.1.43) [CLH0058]
-
4.11. svrinfo (si)
Displays information about each currently active server process.
-
Usage
$$1 tmax1 (tmadm): si [-b] [-pod]
Option Description [-b]
Displays boottime, which means that the last boot time of the server.
[-pod]
Displays "(POD)" after the status field of POD servers.
-
Example
The following is an example of using the command.
$$5 tmaxs1 (tmadm): si - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - clh svrname (svri) status count qcount qpcount emcount - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 scoresdl ( 0) NRDY 0 0 0 0 0 bank2 ( 1) RDY 0 0 0 0 0 svr1 ( 2) RDY 0 0 0 0 0 svr2 ( 2) RDY 0 0 0 0 0 svr3 ( 2) NRDY 0 0 0 0 0 api ( 2) RDY 0 0 0 0 0 syncrtn ( 2) RDY 0 0 0 0 0 ucs ( 2) NRDY 0 0 0 0 0 ucssvr ( 2) RDY 0 0 0 0 0 broad ( 2) NRDY 0 0 0 0 0 selins ( 2) NRDY 0 0 0 0
After the command, svrinfo, is executed, the following items are displayed.
Item Description clh
CLH number.
svrname
Server name.
(svri)
Server ID.
status
Current status of the server. For more information, refer to "system status".
count
Number of processed requests.
qcount
Amount of enqueued requests.
qpcount
Number of requests deleted from the queue.
emcount
Number of requests returned due to exceeding the maximum number of enqueued requests.
boottime
Last boot time of the server. Displayed if the -b option is used.
4.12. txquery (txq)
Displays information about transactions currently being processed.
-
Usage
$$1 tmax1 (tmadm): txquery(txq) [-x] [-g svgname] [-w [-r] [-G gwname]] [<upper-global-xid><lower-global-xid>]
Option Description [ -x ]
Option to search for information about each transaction branch.
[ -g svgname ]
Option to search for transaction branch of the group with the svgname.
[ -w ]
Option to search for a domain subtransaction tree.
[ -r ]
Option to search with the XID of the remote domain.
[ -G gwname]
Option to search for the domain gateway of gwname.
upper-global-xid
First 4 bytes of gtid of the xid to search for.
lower-global-xid
Last 4 bytes of gtid of the xid to search for.
-
Example
-
Transaction search
The following is an example of querying for transactions.
$$14 tmax1 (tmadm): txq CLH0: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cli_id txstime txqcount txrcount XID txstate xastate - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - c0023 8:33:34 1 0 000:000:00022 TXBEGIN TX_OK c0024 18:33:34 1 0 000:000:00023 TXBEGIN TX_OK c0025 18:33:34 1 0 000:000:00024 TXBEGIN TX_OK c0026 18:33:34 1 0 000:000:00025 TXBEGIN TX_OK c0027 18:33:34 1 0 000:000:00026 TXBEGIN TX_OK c0028 18:33:34 1 0 000:000:00027 TXBEGIN TX_OK c0029 18:33:34 1 0 000:000:00028 TXBEGIN TX_OK c0030 18:33:34 1 0 000:000:00029 TXBEGIN TX_OK c0031 18:33:34 1 0 000:000:00030 TXBEGIN TX_OK
After the command, txquery, is executed, the following items are displayed.
Item Description cli_id
ID of the currently connected client.
txstime
Time when the transaction was executed.
txqcount
Number of transactions waiting in the queue.
txrcount
Number of transactions already processed.
XID
Transaction ID.
txstate
Current transaction status. (TXBEGIN, TXCOMMIT, TXROLLBACK)
xastate
XA status.
-
Transaction information search (-x)
The following is an example of querying for transaction information.
$$6 tmaxh4 (tmadm): txquery -x CLH 0: ---------------------------------------------------------------- cli_id clid txstime txqcount txrcount XID txstate xastate bqualno nodename svgname txbstate xabstate ---------------------------------------------------------------- c1526 0x000005f6 15:13:35 4 0 34800000:0008c087 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK (B)00000001 tmaxh4 gw2301X BEGIN XA_OK (B)00000002 tmaxh4 gw2302X BEGIN XA_OK (B)00000003 tmaxh4 svg12302X BEGIN XA_OK c1527 0x000005f7 15:13:35 4 0 34800000:0008c089 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK (B)00000001 tmaxh4 gw2301X BEGIN XA_OK (B)00000002 tmaxh4 gw2302X BEGIN XA_OK (B)00000003 tmaxh4 svg12302X BEGIN XA_OK
-
Searching for transactions of a group (-g)
The following is an example of querying for transactions of a group.
$$7 tmaxh4 (tmadm): txq -g svg12301X CLH 1: ---------------------------------------------------------------- cli_id clid txstime txqcount txrcount XID txstate xastate bqualno nodename svgname txbstate xabstate ---------------------------------------------------------------- c1595 0x0000463b 15:14:10 1 0 34800001:0008e953 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK c1596 0x0000463c 15:14:10 1 0 34800001:0008e956 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK c1597 0x0000463d 15:14:10 1 0 34800001:0008e957 TXBEGIN TX_OK (B)00000000 tmaxh4 svg12301X BEGIN XA_OK
-
Transaction tree search (-w)
The following is an example of querying a transaction tree.
$$9 tmaxh4 (tmadm): txquery -w CLH 0: ---------------------------------------------------------------- gw_no txstime txqcount txrcount XID RXID txstate xastate ---------------------------------------------------------------- g0004 17:00:00 2 0 34800000:0008c38e 39800000:0003bcf7 PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008c38f 39800000:0003bcf8 PHASE1 TX_OK g0004 17:00:00 2 0 34800000:0008c391 39800000:0003bcf9 PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008c39a 39800000:0003bd00 PHASE1 TX_OK g0004 17:00:00 2 0 34800000:0008c3a1 39800000:0003bd08 PHASE1 TX_OK g0004 17:00:00 1 0 34800000:0008c3a3 39800000:0003bd09 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008c38b 3e800100:000177f6 PHASE2 TX_OK g0005 17:00:00 2 0 34800000:0008c38d 3e800101:00014ff7 PENDING TX_OK g0005 17:00:00 2 0 34800000:0008c390 3e800101:00014ff8 PENDING TX_OK g0005 17:00:00 2 0 34800000:0008c392 3e800000:0006e050 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c396 3e800000:0006e052 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c397 3e800100:000177f8 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c398 3e800000:0006e055 PHASE1 TX_OK g0005 17:00:00 2 0 34800000:0008c399 3e800101:00014ff9 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008c39c 3e800100:000177f9 PENDING TX_OK g0005 17:00:00 2 0 34800000:0008c39d 3e800000:0006e05a sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008c39e 3e800101:00014ffa PHASE1 TX_OK g0005 17:00:00 1 0 34800000:0008c39f 3e800000:0006e05b sTXBEGIN TX_OK g0005 17:00:00 1 0 34800000:0008c3a2 3e800100:000177fa sTXBEGIN TX_OK g0004 17:00:00 2 0 34800000:0008eb51 39800001:0003e50d PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008eb53 39800001:0003e510 PHASE2 TX_OK g0004 17:00:00 2 0 34800000:0008eb58 39800001:0003e516 PHASE1 TX_OK g0004 17:00:00 2 0 34800000:0008eb5b 39800001:0003e519 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800000:0008eb4d 3e800001:0007084f PHASE2 TX_OK g0005 17:00:00 2 0 34800000:0008eb50 3e800001:00070852 PHASE2 TX_OK g0005 17:00:00 2 0 34800000:0008eb52 3e800001:00070854 PHASE2 TX_OK g0005 17:00:00 1 0 34800000:0008eb56 3e800001:00070858 sTXBEGIN TX_OK g0005 17:00:00 1 0 34800000:0008eb5a 3e800101:00014ffb sTXBEGIN TX_OK g0005 17:00:00 1 0 34800000:0008eb5c 3e800001:0007085b sTXBEGIN TX_OK
The following is an example of using the [-w] and [-r] options.
### txquery -w -r ### $$11 tmaxh4 (tmadm): txquery -w -r CLH 1: ---------------------------------------------------------------- gw_no txstime txqcount txrcount XID RXID txstate xastate ---------------------------------------------------------------- g0004 17:00:00 2 0 34800001:0008ed0a 39800001:0003e6bc PENDING TX_OK g0004 17:00:00 2 0 34800001:0008ed0b 39800001:0003e6bd PENDING TX_OK g0004 17:00:00 2 0 34800001:0008ed0c 39800001:0003e6be PHASE1 TX_OK g0004 17:00:00 2 0 34800001:0008ed0f 39800001:0003e6c1 PHASE1 TX_OK g0005 17:00:00 2 0 34800001:0008ed00 3e800001:000709aa PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008ed03 3e800101:00015046 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008ed04 3e800100:00017846 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008ed05 3e800001:000709b1 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008ed06 3e800100:00017847 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008ed07 3e800001:000709b2 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800001:0008ed08 3e800100:00017848 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008ed09 3e800100:00017849 PHASE2 TX_OK g0004 17:00:00 2 0 34800001:0008c53f 39800000:0003bea9 PHASE2 TX_OK g0004 17:00:00 2 0 34800001:0008c540 39800000:0003beab PHASE2 TX_OK g0004 17:00:00 2 0 34800001:0008c545 39800000:0003beaf PHASE1 TX_OK g0004 17:00:00 2 0 34800001:0008c546 39800000:0003beb0 PHASE1 TX_OK g0004 17:00:00 2 0 34800001:0008c548 39800000:0003beb2 sTXBEGIN TX_OK g0005 17:00:00 2 0 34800001:0008c51c 3e800000:0006e192 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c536 3e800000:0006e1a5 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c537 3e800100:00017845 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c539 3e800000:0006e1a7 PHASE2 TX_OK g0005 17:00:00 2 0 34800001:0008c53e 3e800000:0006e1ad PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c541 3e800101:00015047 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c542 3e800000:0006e1af PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c543 3e800101:00015048 PENDING TX_OK g0005 17:00:00 2 0 34800001:0008c544 3e800101:00015049 PHASE1 TX_OK
-
4.13. rqstat (rqs)
Displays the status of the currently active RQs. It can also be used by an administrator to manipulate the disk queue.
-
Usage
$$1 tmax1 (tmadm): rqstat (rqs) [-l] [-s rqname] [-f rqname] [-c rqname] [-a]
Option Description [-l]
Option to display a list of available RQs.
[-s rqname]
Current RQ status.
[-f rqname]
Option to process services accumulated on the RQ.
[-c rqname]
Option to delete the RQ backlog.
[-a]
Option to display a status list of all RQs.
To process RQ with the [-f] and [-c] options, it must be executed in the master mode by using the tmadmin -m option.
-
Example
-
RQ status search (-a)
Each record represents the following items.
$$1 tmaxi9 (tmadm): rqs -a rq1 RDY 0 0 0 0 0 5 5 total count : 1
Data is displayed in the following format.
RQ_name Status Requests Replies Failures Requests_enqueued Requests_dequeued Replies_enqueued Replies_dequeued
The last record displays a total count.
-
RQ search (-I)
The following is an example of querying for available RQs.
$$1 tmax1 (tmadm): rqs -l list of available RQs: rq1 rq2
-
RQ status search (-s)
The following is an example of querying for RQ status.
$$1 tmax1 (tmadm): rqs -s rq1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Number of queue entries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - request 0 reply 0 fail 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Accumulated queue activities - - - - - - - - - - - - - - - - - - - - - - - - - - - - - request enqueued 0 request dequeued 0 reply enqueued 10 reply dequeued 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
RQ service processing (-f)
The following is an example of handling services accumulated in RQ.
$$1 tmax1 (tmadm): rqs -f rq2 RQ(rq2) flushed
-
RQ backlog deletion (-c)
The following is an example of clearing a stagnant RQ.
$$1 tmax1 (tmadm): rqs -c rq2 RQ(rq2) statics cleared
-
5. Administrative Commands
5.1. suspend (sp)
Suspends a running server in order to resolve system failures resulting from application program errors. Once this command has been executed, the target server processes will complete processing current services before being suspended. Services in the queue remain in the queue and any subsequent service requests will be accumulated in the queue. The suspend command is abbreviated as sp.
-
Usage
$$1 tmax1 (tmadm): Usage: suspend {-s svc_name [-p pid | -i spri] [-a] [-n T|P] [-N T|P] | -v svr_name [-k num] [-a] [-q] [-n T|P] [-N T|P]}
Option Description -s svc_name
Service name.
[-p pid]
Option to suspend services for the specified server process. Used with the [-s] option.
[-i spri]
Option to suspend services for specified spri. Used with the [-s] option.
[-n T|P]
Server process status when it restarts after ended normally.
-
T: RDY.
-
P: Status just before the server process ended.
[ -N T|P ]
Server process status when it restarts after ended abnormally.
-
T: RDY.
-
P: Status just before the server process ended.
-v svr_name
Option to suspend the scheduling of the server process. A requested service will wait in the queue until the process is resumed, or can be removed from the queue according to the MAXQCOUNT and CLHQTIMEOUT settings.
[-k num]
Option to suspend the specified number of processes on the target server.
Used with the [-v] option. As many server processes, including the already suspended processes, as the specified number are suspended. The specified number must not exceed the MAX value of the server.
To check for suspended server processes, execute the [stat -p -X] command.
suspend(sp) -v svr_name [-k 5]
If as many server processes as MAX are all suspended when using the [-k] option, the server will be blocked (BLK). This is same as executing 'sp -v svr_name' without the [-k] option.
[-q]
asqcount starts additional servers. Used with the [-v] option.
[-a]
If a running server receives a suspend request, the service is not suspended until it completes processing current requests. This option is used to suspend a running server immediately without delay. It is used with the -v option.
-
5.2. resume (rs)
Causes the target server processes to resume scheduling. The target server processes will resume processing of the enqueued service requests, and accept any incoming service requests. The resume command is abbreviated as rs.
-
Usage
$$1 tmax1 (tmadm): resume {-s svc_name [-p pid | -i spri] | -v svr_name [-k count ] }
Option Description -s svc_name
Option to resume service scheduling.
[-p pid]
Option to resume services for the specified server process. Suspending/resuming the service for a specific server process may take a long time to wait for the processing to complete if the service is running. In this case, the service will be resumed if the tmadmin is forcibly terminated.
Any service requests after suspend will be accumulated in the queue. This option is used with the [-s] option.
resume(rs) -s svc_name [-p pid]
[-i spri]
Option to resume services for the specified spri. Suspending/resuming the service for a specific spri may take a long time to wait for the processing to complete if the service is running. In this case, the service will be resumed if the tmadmin is forcibly terminated.
Any service requests after suspend will be accumulated in the queue. This option is used with the [-s] option.
resume(rs) -s svc_name [-i spri]
-v svr_name
Option to resume scheduling of the server process.
[-k count]
Option to resume the specified number of processes on the target server.
Used with the [-v] option. As many suspended server processes as the specified number are resumed. If there are no suspended server processes, the command will be cancelled. The specified value must not exceed the MAX value of the server.
To check for suspended server processes, execute the [stat -p -X] command.
resume(rs) -v svr_name [-k 5]
If even one server process is resumed by the -k option, the server status will be changed to RDY. If there are no active processes, the status will be NRDY.
The following describes information related to resume.
-
Suspend/resume a server in the COUSIN group of a Node
If multiple server groups are set as COUSIN of a node, suspend/resume will be executed for all servers in the COUSIN group.
ASQCOUNT can be set in the SVRGROUP section. The [-v] option must be used to set a server process to BLK. |
5.3. advertise/unadvertise
Advertises/unadvertises a specific service name.
When a service is advertised, the name of the service will be registered in the Service Name Table, which CLH manages for each server. When the service is unadvertised, it will be deleted from the Service Name Table.
In other words, advertise allows the server process to advertise its new service, and unadvertise allows the server process to unadvertise its service. When an unadvertised service is called, a TPENOENT error will occur. However, even though a certain service is unadvertised in one server process, the service routine can be executed if another server process is providing the service.
-
Usage
-
Advertise
$$1 tmax1 (tmadm): advertise {-s svc_name [-p pid]}
Option Description -s svc_name
Option to advertise the specified service name.
[-p pid]
Option to advertise the specified server process PID.
-
Unadvertise
$$1 tmax1 (tmadm): unadvertise {-s svc_name [-p pid]}
Option Description -s svc_name
Option to unadvertises the specified service name.
[-p pid]
Option to unadvertises the specified server process PID.
-
-
Example
-
Unadvertising a service (unadvertise -s)
The following is an example of unadvertising a service whose name is TOUPPER and server process ID is 15287. Before executing advertise or unadvertise, check the service status using the st command.
$$1 tmax1 (tmadm): st -p -x CLH 0: ---------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID fail_cnt err_cnt min_time max_time utime umin_time umax_time stime smin_time smax_time ---------------------------------------------------------------- svr2 svg1 36 RDY 0 0.000 -1 15285 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 svr2 svg1 37 RDY 0 0.000 -1 15286 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 svr2 svg1 38 RDY 0 0.000 -1 15287 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ---------------------------------------------------------------- TOTAL COUNT = 0 TOTAL SVCFAIL COUNT = 0 TOTAL ERROR COUNT = 0 TOTAL RUNNING COUNT = 0 $$1 tmax1 (tmadm): unadvertise -s TOUPPER –p 15287 TOUPPER is unadvertise $$8 tmaxh4 (tmadm): st -s CLH 0: ---------------------------------------------------------------- svc_name svr_name count cq_cnt aq_cnt q_avg avg status ---------------------------------------------------------------- TOUPPER svr2 0 0 0 0.000 0.000 PUNADV
-
Advertising a service (advertise -s)
The following is an example of advertising an unadvertised service. Before executing advertise or unadvertise, check the service status using the st command.
$$1 tmax1 (tmadm): st -p -x CLH 0: ---------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID fail_cnt err_cnt min_time max_time utime umin_time umax_time stime smin_time smax_time ---------------------------------------------------------------- svr2 svg1 36 RDY 0 0.000 -1 15285 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 svr2 svg1 37 RDY 0 0.000 -1 15286 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 svr2 svg1 38 RDY 0 0.000 -1 15287 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ---------------------------------------------------------------- TOTAL COUNT = 0 TOTAL SVCFAIL COUNT = 0 TOTAL ERROR COUNT = 0 TOTAL RUNNING COUNT = 0 $$1 tmax1 (tmadm): advertise -s TOUPPER –p 15287 TOUPPER is advertise $$11 tmaxh4 (tmadm): st -s CLH 0: ---------------------------------------------------------------- svc_name svr_name count cq_cnt aq_cnt q_avg avg status ---------------------------------------------------------------- TOUPPER svr2 0 0 0 0.000 0.000 RDY
-
5.4. restat
Resets the statistics of the specified server process or all server processes. This command can only be used when tmadmin is running in the master mode.
-
Usage
$$1 tmax1 (tmadm): restat [ -v [server_process_name] ] [ -a ]
Option Description [-v [server_process_name]]
Resets statistics of the specified server process.
[-a]
Resets statistics of all server processes.
5.5. rebootsvr (rbs)
Replaces the specified currently running server processes with new ones.
The directory TMAX_BKAPPDIR must be defined in .profile and the executable file of the new program must be placed under this directory. For example, move the file to $TMAXDIR/bk_appbin, and execute the following command.
-
Usage
$$1 tmax1 (tmadm): rbs new_file old_file
Item Description new_file
Name of the new file.
old_file
Name of the existing file.
The following are the steps for executing rbs.
-
Add the following variable to .profile.
export TMAX_BKAPPDIR=/data2/starbj81/tmax64/bk_appbin
-
Create the directory (bk_appbin) in the location specified in step 1.
$mkdir bk_appbin
-
Copy the execution file from appbin to bk_appbin.
$cp appbin/svr2 bk_appbin/
-
Execute tmadmin -m, and then run the rbs command.
-
If a server does not start or MIN is set to 1 and MAX is set to 1, suspending and resuming are performed when replacing the server.
The following example starts the svr2 server process for which MIN is set to 1 and MAX is set to 1.
$$1 tmax1 (tmadm): rbs svr2 svr2 >> suspend ok >> down ok >> cp ok >> boot ok >> resume ok >> reboot svr /data2/starbj81/tmax64/appbin/svr2 finished
-
Unless, server processes are ended and started sequentially for the replacement.
The following example starts the svr2 server process for which MIN is set to 3.
$$1 tmax1 (tmadm): rbs svr2 svr2 TMBOOT for node(tmaxh2) is starting: TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting: Fri Dec 19 11:21:06 2003 TMBOOT for node(tmaxh2) is starting: TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting: Fri Dec 19 11:21:06 2003 TMBOOT for node(tmaxh2) is starting: TMBOOT: SVR(svrname: svr2, execname: _rbs00_svr2) is starting: Fri Dec 19 11:21:06 2003 >> 3 servers booted using tmp execfile _rbs01_svr2 >> reboot svr /data2/starbj81/tmax64/appbin/svr2 finished
-
-
Use the 'ps' command to verify that the server processes have been started successfully.
-
When three svr2 server processes are running
$ps –ef | grep svr2 starbj81 21710 1 0 11:46:32 pts/ts 0:00 _rbs00_svr2 -b -21709 -S svr2 -s svr2 -d -1 -v 21689 starbj81 21713 1 0 11:46:32 pts/ts 0:00 _rbs00_svr2 -b -21712 -S svr2 -s svr2 -d -1 -v 21689 starbj81 21716 1 0 11:46:32 pts/ts 0:00 _rbs00_svr2 -b -21715 -S svr2 -s svr2 -d -1 -v 21689
-
When one svr2 server process is running
$ps –ef | grep svr2 starbj81 21607 1 0 11:43:46 pts/ts 0:00 svr2 -s svr2 -g 2
-
If there are two or more server processes with the same name, the new server processes will be started after shutting down the current server processes one by one.
For instance, if the rbs is executed for svr1 whose MIN is set to 2, it will execute in the following order.
-
Terminate the first svr1.
-
Copy the temporary file (_rbs00_svr1) to the bk_appbin directory.
-
Start _rbs00_svr1.
-
Terminate the second svr1.
-
Copy the temporary file (_rbs00_svr1) to the bk_appbin directory.
-
Start _rbs00_svr1.
Version concurrency control is preventing processes of different versions from concurrently executing services. Executing rbs allows for concurrency control and dynamic server process update for services that have not been updated.
-
Usage
$$1 tmax1 (tmadm): rbs [-S | -s svc_name,...] newfile svr_name [svg_name]
Item Description [-S]
Suspends all services of the server.
[-s svc_name,…]
Suspends only one service of the server.
newfile
New file name.
svr_name
Name of the server to suspend.
[svg_name]
Server group that the server to be suspended belongs to.
-
Example
-
When updating a specific service of the server (-s)
In the following example, the TOUPPER service of svr2 is temporarily suspended while other services continue to run.
$$1 tmax1 (tmadm): rbs -s TOUPPER svr2_new svr2
In the following example, TOLOWER and TOUPPER services of svr2 are temporarily suspended while other services continue to run. To specify multiple service names, use a comma(,) without blank spaces as a delimiter.
$$1 tmax1 (tmadm): rbs -s TOUPPER,TOLOWER svr2_new svr2
-
When updating all services of the server (-S)
In the following example, all services of svr2 are suspended temporarily.
$$1 tmax1 (tmadm): rbs -S svr2_new svr2
In the following example, all services of svr2 of the svg1 server group are suspended temporarily.
$$1 tmax1 (tmadm): rbs -S svr2_new svr2 svg1
-
If the option(-s or -S option) for rbs is not specified, version concurrency is not guaranteed.
-
If the COUSIN group is set for only one Node, the rbs command cannot be executed for a svgname.
-
-
Controlling version concurrency in a multi node environment means preventing processes of different versions from concurrently executing services in a multi-node environment. Executing rbs in a multi node environment where load balancing option is enabled allows for concurrency control and dynamic server process update for unmodified services.
-
Usage
$$1 tmax1 (tmadm): mrbs [-S | -s svc_name,...] newfile svr_name
Item Description [-S]
Suspends all services of the server.
[-s svc_name]
Suspends only one service of the server.
newfile
New file name.
svr_name
Name of the server to suspend.
-
Example
-
When updating a specific service of the server (-s)
In the following example, the TOUPPER service of svr2 is temporarily suspended while other services continue to run.
$$1 tmax1 (tmadm): mrbs -s TOUPPER svr2_new svr2
In the following example, TOLOWER and TOUPPER services of svr2 are temporarily suspended while other services continue to run. To specify multiple service names, use a comma(,) without blank spaces as a delimiter.
$$1 tmax1 (tmadm): mrbs -s TOUPPER,TOLOWER svr2_new svr2
-
When updating all services of the server (-S)
In the following example, all services of svr2 are suspended temporarily.
$$1 tmax1 (tmadm): mrbs -S svr2_new svr2
-
If two or more server groups are set as COUSIN in a node, rbs (server exchange) can be executed for all servers that belong to the COUSIN server groups.
5.6. cfgadd (ca)
Dynamically adds a service to a specific server program while Tmax is running by only shutting down the related server. A server, server group, or node can also be added dynamically during operation. In Tmax 5 and later, a binary configuration file cannot be added dynamically without using the -a option of CFL. Therefore, a configuration file must be compiled with the -a option.
For restrictions on dynamically adding a service by using cfgadd(ca), refer to Restrictions on dynamic addition using cfgadd(ca).
-
Usage
$$1 tmax1 (tmadm) : cfgadd (ca) - i cfgfile
Item Description - i cfgfile
Configuration file name of the service to add.
The following is the process of executing cfgadd(ca) to dynamically add a service.
-
Modify the configuration file.
$vi modify.m
-
Execute cfl with the -a option to compile the modified file and the -o option to create a binary configuration file with a different name.
$cfl -a modify.m -o tmchg
-
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
The following is the process of executing cfgadd(ca) to dynamically add a server.
-
Add a new server to a configuration file.
<modify.m>
*SERVER Existing items ........ hello SVGNAME = svg1 *SERVICE Existing items ........ HELLO SVRNAME = hello
-
Compile the modified configuration file (modify.m).
cfl -a modify.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 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
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
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.
-
Modify the configuration file.
<tmconfig_add.m>
*DOMAIN tmax1 SHMKEY = @SHMEMKY@, MINCLH = 1, MAXCLH = 3, TPORTNO = @TPORTNO@, BLOCKTIME = 300, MAXCPC = 100, RACPORT = @TRACPORT@ *NODE @HOSTNAME@ TMAXDIR = "@TMAXDIR@", APPDIR = "@TMAXDIR@/appbin", @RMTNAME@ TMAXDIR = "@RMTDIR@", APPDIR = "@RMTDIR@/appbin", *SVRGROUP #svg1 NODENAME = "@HOSTNAME@",COUSIN = "svg2",LOAD = 2 <- Existing item svg1 NODENAME = "@HOSTNAME@",COUSIN = "svg2,svg3",LOAD = 2 # <- Modified item svg2 NODENAME = "@RMTNAME@",LOAD = 1 *SERVER svr2 SVGNAME = svg1 *SERVICE TOUPPER SVRNAME = svr2 TOLOWER SVRNAME = svr2 #Added items *NODE @RMTNAME2@ TMAXDIR = "@RMTDIR2@", APPDIR = "@RMTDIR2@/appbin", *SVRGROUP svg3 NODENAME = "@RMTNAME2@",LOAD = 1
-
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 -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 node (node3).
Node3>tmboot -n tmaxh4 -f tmchg TMBOOT for node(tmaxh4) is starting: Welcome to Tmax demo system: it will expire 2008/11/23 Today: 2008/9/24 TMBOOT: TMM is starting: Wed Sep 24 11:11:59 2008 TMBOOT: CLL is starting: Wed Sep 24 11:11:59 2008 (I) TMM0211 General Infomation : node register (nodeno = 0(0)) success [TMM0404] (I) TMM0211 General Infomation : node register (nodeno = 1(1)) success [TMM0404] TMBOOT: CLH is starting: Wed Sep 24 11:11:59 2008 (I) CLH9991 Current Tmax Configuration: Number of client handler(MINCLH) = 1 Supported maximum user per node = 7966 Supported maximum user per handler = 7966 [CLH0125] TMBOOT: TLM(tlm) is starting: Wed Sep 24 11:11:59 2008 TMBOOT: SVR(svr2) is starting: Wed Sep 24 11:11:59 2008
-
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
Dynamically adding a service, server, server group or node by using cfgadd(ca) has the following restrictions:
-
An item can only be added, not removed. To remove an item, remove it from the existing environment file and execute cfl before restarting Tmax.
-
An item name that exists in the configuration file cannot be duplicated in the newly added configuration file.
-
When the contents of a newly added configuration file are applied to the existing configuration file, they must be added to the end of each section. If items are inserted in the middle of the existing configuration or the order is changed, the operating environment information can be modified incorrectly. Attention is required.
-
Items can be added to the MAXNODE, MAXSVG, MAXSVR, MAXSPR, MAXSVC, MAXTMS, and MAXCPC settings. Do not modify the items' values.
-
When adding an XA server group, specify TMS and check that the program has been created.
-
RQ cannot be added dynamically.
-
A server group that has a COUSIN/BACKUP cannot be added or removed.
-
A gateway that has a COUSIN/BACKUP cannot be added or removed.
-
A service that is dynamically added to the server group, which has a COUSIN/BACKUP, cannot be removed.
-
When adding the service, server, and server group, cfl must be used to create a binary configuration file for the dynamic addition.
If a binary configuration file, which is created using cfl without the -a option, is added dynamically, the following error message will be displayed.
(E) ADM2048 Engine type mismatch (0): 'a' option must be used [ADM0417]
5.7. set
Dynamically modifies the settings in the configuration file.
Execute the cfg command to check which items in the configuration file can be modified. The items with an abbreviation inside brackets can be modified by using the set command.
-
Usage
$$1 tmax1(tmadm): set [-d [domain]| -g [server_group]| -v [service]| -s [server]] Item Value
Item Description [-d [domain]]
Modify DOMAIN section. To modify a specific domain, specify the domain name.
[-g [server_group]]
Modify GATEWAY section. To modify a specific server group, specify the server group name.
[-v [service]]
Modify SERVICE section. To modify a specific service, specify the service name.
[-s [server]]
Modify SERVER section. To modify a specific server, specify the server name.
Item
Item to modify.
Value
New value.
-
Example
The following is an example of using each command.
$$1 tmax1 (tmadm): set -d res1 bt 100 $$1 tmax1 (tmadm): set -g svg1 ld 5 $$1 tmax1 (tmadm): set -v kfdl1 mq 1000 $$1 tmax1 (tmadm): set -s SYNC pr 100 $$1 tmax1 (tmadm): set -n tmaxh4 cb n $$1 tmax1 (tmadm): set -s svc_name pr 99 $$1 tmax1 (tmadm): set -v svr2 maxsvr 10 (If changing, max(svr2) must be smaller than the previous value) $$1 tmax1 (tmadm): set -d dom1 portno 9999 $$1 tmax1 (tmadm): set -g svg2 maxrstart 10 $$1 tmax1 (tmadm): set -v svr140_A restart N $$1 tmax1 (tmadm): set -v gw1 schedule FA $$1 tmax1 (tmadm): set -d dom nclhchktime 10
5.8. setopt
Dynamically changes an environment configuration value among options configured for TMMOPT. Configurable items can be checked using the cfgopt command in tmadmin. The items displayed by executing cfgopt can be modified dynamically.
-
Usage
$$1 tmax1 (tmadm): setopt [-tmm][-gw] Item Value
Item Description [-tmm]
Used to change the option value defined in TMMOPT.
[-gw]
Used to change the option value defined in CLOPT under the GATEWAY section.
Item
Item to change. An item displayed by executing cfgopt. (example, -F)
Value
New value.
-
Example
The following is an example of executing the command.
$$1 tmax1 (tmadm): setopt -tmm -F 30 new value (30) is set for section = -tmm, name = N/A, fld = -F $$1 tmax1 (tmadm): setopt -tmm -t 15 new value (15) is set for section = -tmm, name = N/A, fld = -t
5.9. qpurge (qp)
Deletes the service requests that are waiting in the queue. This is usually used to remove abnormal number of accumulated requests. This command is most useful for banks, government offices and other such institutions that handle hundreds of thousands of tasks per day.
Deleted requests can be processed later when clients reissue the request. Since Tmax manages a queue for each server process, the administrator can empty a queue for a specific server process to enhance the system efficiency.
The queue purge command is abbreviated as qp. When a service request is deleted from the queue, a TPEQPURGE message (tperrno = 27) will be sent to the client that issued the request. Thus, the client will be able to reissue the request at a later time. When this command is used, information about the deleted requests and client IDs will be recorded in the slog.
-
Usage
$$1 tmax1 (tmadm): qpurge {-v svr_name [ -k number ] | -s svc_name}
Item Description -v svr_name
Delete requests accumulated in the queue of the specified server.
[-k number]
Can purge some of the requests accumulated in the server Queue. Must be used with the –v option.
If N is a number greater than 0, keep the first N number of service requests and purge any subsequent incoming requests.
-
-1: Keep as many as MAXQCOUNT requests in the queue, and purge any subsequent incoming requests.
-
0: Purge all service requests currently in the queue.
-s svc_name
Delete requests accumulated in the queue for the specified service.
-
5.10. discon (ds)
Forcibly disconnects inactive clients that are connected but are idle. Before the administrator issues this command, it is recommended to use the ci command to check the client information. The discon command is abbreviated as ds with the following options.
-
Usage
$$1 tmax1 (tmadm): ds [-h clhno] [-f] {-a | -n | -i idle_time | -c clid | -A}
Option Description [-h clhno]
Disconnect clients connected to the CLH.
[-f]
Immediately disconnect clients.
{-a}
Disconnect all clients connected to the CLH. If the [-h] option is not used, the client connected to CLH 0 is disconnected by default.
{-n}
Disconnect clients with inaccurate information. Buffer allocated by tpalloc() is not used.
{-i idle time}
Disconnect clients from sessions that exceed the set amount of time (second).
{-c cliid}
Disconnect the client with the specified ID number. ID number must be specified.
{-A}
Disconnect clients connected to all CLHs.
5.11. logstart/logend
The administrator can use these two commands to create a log which will allow them to access various information in real time to take immediate and appropriate actions for each situation. The tmadmin tool logs administrative data for statistics analysis. The log file will be created in the current directory. By viewing the log data, the administrator will be able to analyze the system performance to determine the peak times, unnecessary server processes, and queue status.
Logging will begin when the logstart command is executed, and terminate when the logend command is executed.
-
Usage
-
Start logging (logstart)
$$1 tmax1 (tmadm): logstart filename
Item Description filename
Log file name.
-
End logging (logend)
$$1 tmax1 (tmadm): logend
-
5.12. chtrc
TMAX_TRACE enables runtime tracing in a Tmax system. To use this function, TMAX_TRACE must be defined in the Tmax configuration file, and the chtrc command can be used in tmadmin to dynamically modify the configurations.
-
Usage
chtrc [-g svgname | -v svrname | -g svgname -v svrname | -i spri | -g svgname -i spri | -e gqs] -s spec
Option Description [-g svgname]
Modifies specifications of the server group.
[-v server]
Modifies specifications of the server.
[-g svgname -v server]
Modifies specifications of the server in the server group.
[-i spri]
Modifies specifications of the server process.
[-g svgname -i spri]
Modifies specifications of the server process in the server group.
[-e gqs]
Modifies specifications of gqs.
-s newspec
New specifications.
-
Example
-
Modifying the spec of all servers on a node (-s)
The following is an example of modifying the spec of all servers on a specific node in a single node environment.
$$1 tmaxs1 (tmadm): chtrc -s newspec
The following is an example of applying a new TRACE spec to a specific node in a multi node environment.
$$1 tmaxh3 (tmadm): nodeset $HOSTNAME node is set to $HOSTNAME $$2 tmaxh3 (tmadm): chtrc –s newspec
-
Modifying server group spec (-g)
The following is an example of modifying the spec of all servers of a specific server group.
$$1 tmaxs1 (tmadm): chtrc -g svgname -s newspec
-
Modifying server spec (-v)
The following is an example of modifying the spec of all servers of a specific server group.
$$3 tmaxs1 (tmadm): chtrc -v server -s newspec
The following is an example of modifying the spec of a specific server of a server group.
$$3 tmaxs1 (tmadm): chtrc -g svgname -v server -s newspec
-
Modifying the spec of a specific server process (-i)
The following is an example of modifying the spec of a particular server process.
$$4 tmaxs1 (tmadm): chtrc -g svgname -i sprno -s newspec
-
5.13. chlog
Dynamically changes the log level in order to rapidly handle specific error conditions. The module must be in debug mode to check the log using chlog. The cfg command can be used to confirm that the change to the log level has been applied successfully.
-
Usage
$$1 tmaxs1 (tmadm) : chlog [-t | -c | -v [server_name] | -g [server_group_name]| -m] -l [loglvl]
Option Description [-t]
TMM log level.
[-c]
CLH log level.
[-v [server_name]]
Log level of the specified server.
[-g [server_group_name]]
Log level of the specified server group.
[-m]
TMS log level.
-l [loglvl]
Actual log level. Select one of the following options.
-
COMPACT, BASIC, DETAIL, DEBUG1, DEBUG2, DEBUG3, DEBUG4
COMPACT logs least details, and DEBUG4 logs most details.
-
-
Example
-
Dynamically modifying the TMM log level (-t)
The following is an example of dynamically changing the log level of TMM.
tmaxh2:/data1/starbj81/tmax/config> tmadmin -l -m --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxh2 (tmadm): chlog -t -l DEBUG4 log level is updated $3 tmaxh2 (tmadm): cfg -n node_name = tmaxh2, hostname = tmaxh2, node_no = 1 ... tmmloglvl = DEBUG4, ...
-
Dynamically modifying the CLH log level (-c)
The following is an example of dynamically changing the log level of CLH.
tmaxh2:/data1/starbj81/tmax/config> tmadmin -m -l --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxh2 (tmadm): chlog -c -l COMPACT log level is updated $$2 tmaxh2 (tmadm): cfg -n node_name = tmaxh2, hostname = tmaxh2, node_no = 1 tmmloglvl = DEBUG4, clhloglvl = COMPACT, ...
-
Dynamically modifying the TMS log level (-m, -g)
The following is an example of dynamically changing the log level of TMS.
$$3 tmaxh4 (tmadm): chlog -m -g svg32306X -l debug3 log level is updated $$4 tmaxh4 (tmadm): cfg –g svg_name = svg32306X, svg_no = d tmsloglvl = DEBUG3, ...
-
Dynamically modifying the log level of a server group (-g)
The following is an example of dynamically changing the log level of a specific server group.
$$4 tmaxh2 (tmadm): chlog -g svg3 -l DETAIL log level is updated $$5 tmaxh2 (tmadm): cfg -g svg_name = svg3, svg_no = 10002 loglvl = DETAIL ...
-
5.14. chlog2
Dynamically changes the log level in order to rapidly handle specific error conditions. This command includes all functions of chlog and can also change log levels for TLM, CAS, CLL, RS, SQ, HMS, RQS, and gateways. The cfg command can be used to confirm that the change to the log level has been applied successfully.
-
Usage
$$1 tmaxs1 (tmadm) : chlog2 -t [type_name] [-n name] -l [loglvl]
Option Description -t [type_name]
Module whose log level is changed.
-
TMM: TMM
-
CLH: CLH
-
TLM: TLM
-
CAS: CAS
-
RS: Real server
-
SQ: Session queue server
-
TG: TmaxGrid server
-
TMS: TMS
-
HMS: HMS
-
RQ: Reliable queue server
-
GW: Gateway
-
SVG: Server group
-
SVR: Server
-
CLL: CLL
-n [name]
Configured server group name for TMS, HMS, and RQ, gateway name for GW, and server group name for SVG. No name is necessary for other modules.
-
TMM: TMM
-
CLH: CLH
-
TLM: TLM
-
CAS: CAS
-
RS: Real server
-
SQ: Session queue server
-
TG: TmaxGrid server
-
TMS: TMS
-
HMS: HMS
-
RQ: Reliable queue server
-
GW: Gateway
-
SVG: Server group
-
SVR: Server
-
CLL: CLL
-l [loglvl]
Actual log level. Select one of the following options.
-
COMPACT, BASIC, DETAIL, DEBUG1, DEBUG2, DEBUG3, DEBUG4
COMPACT logs least details, and DEBUG4 logs most details.
-
-
Example
-
Dynamically modifying the TMM log level
The following is an example of dynamically changing the log level of TMM.
tmaxh2:/data1/starbj81/tmax/config> tmadmin -l -m --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxh2 (tmadm): chlog2 -t TMM -l DEBUG4 log level is updated $3 tmaxh2 (tmadm): cfg -n node_name = tmaxh2, hostname = tmaxh2, node_no = 1 ... tmmloglvl = DEBUG4, ...
-
Dynamically modifying the CLH log level
The following is an example of dynamically changing the log level of CLH.
tmaxh2:/data1/starbj81/tmax/config> tmadmin -m -l --- Welcome to Tmax Admin (Type "quit" to leave) --- $$1 tmaxh2 (tmadm): chlog2 -t CLH -l COMPACT log level is updated $$2 tmaxh2 (tmadm): cfg -n node_name = tmaxh2, hostname = tmaxh2, node_no = 1 tmmloglvl = DEBUG4, clhloglvl = COMPACT, ...
-
5.15. txcommit/txrollback
If a transaction processing does not complete for a certain amount of time due to a network or TMS failure, the administrator can reissue the commit / rollback and complete the transaction. Txcommit can only be used when the Decision is COMMIT in the PHASE2 stage. Txrollback can only be used when the Decision is ROLLBACK in the PHASE1 or PHASE stage.
-
Usage
$$1 tmax1 (tmadm): txrollback(txr) | txcommit(txc) [-w] [-y] <upper-global-xid><lower-global-xid>
Item Description [-w]
Used for a domain sub-transaction.
[-y]
Does not go through the checking process for txcommit / txrollback.
upper-global-xid
First 4 bytes of gtid of xid to process.
lower-global-xid
Last 4 bytes of gtid of xid to process.
txcommit and txrollback are used to reprocess a transaction that is queried via txquery. After reprocessing, it is important to check the result through txquery. |
5.16. wsgwreload
Modifies the configuration of service or web service gateway at runtime. Once the command is executed, the web service gateway does not respond to new service requests. It only completes processing services that are in progress, and then applies the changed settings and resumes service processing.
-
Usage
$$1 tmax1 (tmadm): wsgwreload [-i svrid[svrid]]
Option Description [-i svrid [ svrid]]
List of svrid’s to apply the changes.
5.17. restart
Terminates the currently running server processes and restarts as many as MIN number of server processes.
-
Usage
$$1 tmax1 (tmadm): restart [-v[server_name]] [-g[server_group_name]]
Option Description [-v[server_name]]
Restarts the specified server.
[-g[server_group_name]]
Restarts the servers of the specified server group.
-
Example
-
The following is an example of using the restart command.
$$2 tmaxc1 (tmadm): restart -v svr01021 >> suspend ok >> down ok >> boot ok >> resume ok >> reboot svr svr01021 finished $$2 tmaxc1 (tmadm): restart -g svg1 >> suspend ok >> down ok >> boot ok >> resume ok >> reboot svr svr01021 finished >> suspend ok >> down ok >> boot ok >> resume ok >> reboot svr svr01022 finished
-
5.18. notify_reconnect_clh (nrc)
Manually establishes a connection to CLH for a server process that cannot automatically make a connection to the CLH during Tmax operation.
-
Usage
$$1 tmax1 (tmadm): notify_reconnect_clh clh_index spr_index
Option Description clh_index
CLH number to connect to.
spr_index
spr number to establish a connection.
spr number (spr_no) can be checked by using st -p in tmadim.
5.19. admnoti (an)
Sends events to TCS, UCS, and RDP servers. A server that receives an event calls a user-specified callback function to handle the event. If a callback function is not specified, the event is ignored. This command can be used only in master mode (tmadmin -m).
The tpregancb API can be used in TCS, UCS, and RDP to write event handling code.
-
Usage
$$1 tmax1 (tmadm): admnoti [-a | -g svgname | -p spri| -P pid] [notification message]
Option Description -a
Sends an event to all server processes.
-g svgname
Sends an event to all server processes included in svgname.
-v svrname
Sends an event to all server processes with the svrname.
-p spri
Sends an event to server process with the spri.
-P pid
Sends an event to server process with the pid.
notification message
Message to send to the callback function.