Displays information about threads running in the Replication Server.
admin who [, {dist | dsi | rsi | sqm | sqt}[, no_trunc | ,connection identifier1 [, connection identifier2] ...]]
db_id – database identifier, which is a number
db_name – database name
ds_name – data server name
q_number – stable queue number
q_type – stable queue type, where 0 is for an outbound queue and 1 is for an inbound queue
rs_id – Replication Server identifier, which is a number
rs_name – Replication Server name
Thread |
Connection Identifier |
Example |
---|---|---|
DIST |
Display distributor (DIST) thread information for one or more specific connections by providing any of: If you specify only the data server name as the connection identifier, admin who lists the distributor information for all the databases that belong to the data server. |
Display DIST information on dataserver “ASE_01” and
database “DB01”:
admin who, dist, ASE_01, DB01 |
DSI |
Display Data Server Interface (DSI) thread information for one or more specific connections by providing any of: If you specify only the data server name as the connection identifier, admin who lists the DSI connection information for all the databases that belong to the data server. |
Display DSI information for db_id = 101:
admin who, dsi, 101 |
RSI |
Display Replication Server Interface (RSI) thread information for a specific connection by providing one of: You can either specify the connection by replication server name or replication server identifier. |
Display the RSI information for rs_id = 16777318:
admin who, rsi, 16777318 |
SQM |
Display Stable Queue Manager (SQM) thread information forone or more specific connections by providing any of: If you do not specify q_type, the command lists both the inbound and outbound queue types of all the admin who, sqm entries of the specified data server. |
Display SQM information on data server “ASE_01” for q_type=1,
which are inbound queues:
admin who, sqm, ASE_01, 1 |
SQT |
Display Stable Queue Transaction (SQT) thread information for one or more specific connections by providing any of: If you do not specify q_type, the command lists both the inbound and outbound queue types of all the admin who, sqt entries of the specified data server. |
Display SQT information on dataserver “ASE_01”,
database “DB01” for inbound queues:
admin who, sqt, ASE01, DB01, 1 |
admin who
Spid Name State Info ---- ---------- ------------------ -------------------------- 97 DIST Active 103 LDS.pubs2 98 SQT Awaiting Wakeup 103:1 DIST LDS.pubs2 68 SQM Awaiting Message 103:0 LDS.pubs2 89 DSI EXEC Awaiting Message 106(1) SYDNEY_DS.pubs2sb 91 DSI Awaiting Command 106 SYDNEY_DS.pubs2sb 21 DSI EXEC Awaiting Message 101(1) TOKYO_DS.TOKYO_RSSD 10 DSI Awaiting Command 101 TOKYO_DS.TOKYO_RSSD 16 DIST Active 101 TOKYO_DS.TOKYO_RSSD 17 SQT Awaiting Wakeup 101:1 DIST TOKYO_DS.TOKYO_RSSD 15 SQM Awaiting Message 101:1 TOKYO_DS.TOKYO_RSSD 14 SQM Awaiting Message 101:0 TOKYO_DS.TOKYO_RSSD 30 REP AGENT Awaiting Command TOKYO_DS.TOKYO_RSS USER 4 DSI EXEC Awaiting Message 104(1) TOKYO_DS.pubs2 0 DSI Awaiting Command 104 TOKYO_DS.pubs2 8 REP AGENT Awaiting Command TOKYO_DS.pubs2 USER 53 RSI Awaiting Wakeup SYDNEY_RS 52 SQM Awaiting Message 16777318:0 SYDNEY_RS RSI USER Inactive TOKYO_RS 11 dSUB Active 6 dCM Awaiting Message 9 dAIO Awaiting Message 12 dREC Active dREC 71 USER Active sa 47 GATEWAY Awaiting Command SYDNEY_RS 5 dALARM Awaiting Wakeup 13 dSYSAM Sleeping
admin who, dist
Spid State Info ----- ---------------- --------------------- 21 Active 102 SYDNEY_DS.SYDNEY_RSSD 22 Active 106 SYDNEY_DS.pubs2 PrimarySite Type Status PendingCmds SqtBlocked ----------- ---- ------ ----------- ---------- 102 P Normal 0 1 106 P Normal 0 1 Duplicates TransProcessed CmdsProcessed MaintUserCmds ---------- -------------- ------------- ------------- 0 715 1430 0 290 1 293 0 NoRepdefCmds CmdsIgnored CmdMarkers RSTicket SqtMaxCache ------------ ----------- ---------- -------- ----------- 0 0 0 0 0 0 0 1 0 0
admin who, dsi
Spid State Info ----- ---------------- ---------------------- 8 Awaiting Message 101 TOKYO_DS.TOKYO_RSSD 79 Awaiting Message 104 TOKYO_DS.pubs2 145 Awaiting Message 105 SYDNEY_DS.pubs2sb Maintenance User Xact_retry_times Batch Cmd_batch_size ---------------- ---------------- ----- -------------- TOKYO_RSSD_maint 3 on 8192 pubs2_maint 3 on 8192 pubs2_maint 3 on 8192 Xact_group_size Dump_load Max_cmds_to_log --------------- --------- --------------- 65536 off -1 65536 off -1 65536 off -1 Xacts_read Xacts_ignored Xacts_skipped ---------- ------------- ------------- 39 0 0 0 0 0 1294 2 0
Xacts_succeeded Xacts_failed Xacts_retried Current Origin DB --------------- ------------ ------------- ----------------- 0 28 0 102 0 0 0 0 0 93 0 104 Current Origin QID Subscription Name Sub Command ------------------ ----------------- ----------- 0x000000000... NULL NULL 0x000000000... NULL NULL 0x000000000... NULL NULL Current Secondary QID Cmds_read Cmds_parsed_by_sqt --------------------- --------- ------------------ NULL 129 0 NULL 0 0 NULL 6740 0 IgnoringStatus Xacts_Sec_Ignored GroupingStatus TriggerStatus -------------- ----------------- -------------- ------------- Applying 0 on on Applying 0 on on Applying 0 off off ReplStatus NumThreads NumLargeThreads LargeThreshold ---------- ---------- --------------- -------------- on 1 0 100 on 1 0 100 off 3 1 20 CacheSize Serialization Max_Xacts_in_group Xacts_retried_blk --------- --------------- ------------------ ----------------- 0 wait_for_commit 20 0 0 wait_for_commit 200 0 0 wait_for_start 20 0 CommitControl CommitMaxChecks CommitLogChecks ------------------------------ --------------- --------------- on 400 200 on 400 200 on 400 200 CommitCheckIntvl IsolationLevel dsi_rs_ticket_report RSTicket ---------------- -------------- -------------------- -------- 1000 default on 0 1000 default on 0 1000 default on 0
admin who, rsi
Spid State Info ---- --------------- ---------------- 53 Awaiting Wakeup SYDNEY_RS Packets Sent Bytes Sent Blocking Reads ------------ ------------- -------------- 3008.000000 624678.000000 269 Locater Sent Locater Deleted ------------ --------------- 0x000000... 0x000000...
admin who, sqm
Spid State Info ---- ---------------- ------------------------- 14 Awaiting Message 101:0 TOKYO_DS.TOKO_RSSD 15 Awaiting Message 101:1 TOKYO_DS.TOKYO_RSSD 52 Awaiting Message 16777318:0 SYDNEY_RS 68 Awaiting Message 103:0 LDS.pubs2 Duplicates Writes Reads Bytes ---------- ------ ----- ----- 0 0 0 0 8867 9058 0 0.1 2037 2037 0 0.1.0 0 0 B Writes B Filled B Reads B Cache Save_Int:Seg -------- ------- ------- ------- ------------ 0 0 0 0:0 0 34 44 2132 0:33 0 3 54 268 0:4 0 0 23 0 strict:O First Seg.Block Last Seg.Block Next Read --------------- -------------- --------- 0.1 0.0 0.1.0 33.10 33.10 33.11.0 4.12 4.12 4.13.0 0.1 0.0 0.1.0 Readers Truncs ------- ------ 1 1 1 1 1 1 1 1
admin who, sqt
Spid State Info ---- --------------- ------------------------- 17 Awaiting Wakeup 101:1 TOKYO_DS.TOKYO_RSSD 98 Awaiting Wakeup 103:1 DIST LDS.pubs2 10 Awaiting Wakeup 101 TOKYO_DS.TOKYO_RSSD 0 Awaiting Wakeup 106 SYDNEY_DSpubs2sb Closed Read Open Trunc ------ ---- ---- ----- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Removed Full SQM Blocked First Trans Parsed ------- ---- ----------- ----------- ------- 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 SQM Reader Change Oqids Detect Orphans ---------- ------------ -------------- 0 0 0 0 0 0 0 0 1 0 0 1
admin who
Spid Name State Info 45 SQT Awaiting Wakeup 103:1 DIST NY_DS.pdb1 13 SQM Awaiting Message 103:1 NY_DS.pdb1 32 REP AGENT Awaiting Command NY_DS.pdb1 16 RSI Awaiting Wakeup RS_LON 11 SQM Awaiting Message 16777318:0 RS_LON 55 RSI Awaiting Wakeup RS_LON(103) /* Dedicated RSI thread */ 53 SQM Awaiting Message 16777318:103 RS_LON(103) /*Dedicated RSI outbound queue */
admin who
Spid Name State Info 37 RSI USER Awaiting Command RS_NY(103) /*Dedicated RSI user */ 32 RSI USER Awaiting Command RS_NY
If you use admin who with an option, you must include a comma before the option.
If you specify connection identifiers and Replication Server cannot find information that fulfills the criteria, the output does not display any record.
To display information about all threads in the Replication Server, execute admin who with no options.
Output column descriptions for admin who
The spid, Name, State, and Info columns display when admin who is executed without options.The spid, State, and Info columns also display when any option is chosen.
spid column
This is a unique identifier for a thread running in the Replication Server. If a thread is suspended or down, this field is blank.
Name and Info column
Name is the type of Replication Server thread. The contents of Info varies, depending upon the type of thread.
State column
The State column contains the thread execution status. This table describes the valid states for Replication Server threads. The states for DSI threads are defined differently, depending on whether they are scheduler threads or executor threads. For the definitions, see the Replication Server Troubleshooting Guide.
State |
Description |
---|---|
Active |
Actively processing a command. |
Active, DSI timer |
Actively processing a command. dsi_timer is on. |
Awaiting Batch Order |
A DSI thread is waiting to submit a command batch to the replicate data server. |
Awaiting Command |
The thread is waiting for a client to send a command. |
Awaiting Command, DSI timer |
The thread is waiting for a client to send a command. dsi_timer is on. |
Awaiting Commit Order |
Thread is waiting for its turn to commit a completed transaction. |
Awaiting I/O |
The thread is waiting for an I/O operation to finish. |
Awaiting Message |
The thread is waiting for a message from an Open Server™ message queue. |
Awaiting Message, DSI timer |
The thread is waiting for a message from an Open Server™ message queue. dsi_timer is on. |
Awaiting Wakeup |
The thread has posted a sleep and is waiting to be awakened. |
Checking Condition |
The thread is waiting for an event to occur. |
Connecting |
The thread is connecting. |
Controlling Mem |
The thread is executing memory control. |
Disconnecting |
The thread is disconnecting. |
Down |
The thread has not started or has terminated. |
Getting Lock |
The thread is waiting on a mutual exclusion lock. |
Inactive |
The status of an RSI User thread at the destination of a route when the source Replication Server is not connected to the destination Replication Server. |
Initializing |
The thread is being initialized. |
Invalid |
The thread is in an unknown status. |
Locking Resource |
The thread is attempting to lock a shared resource. |
Not Running |
Thread is cleaning up in preparation for shutdown. |
Reading Disk |
The thread is preparing for a disk read. |
SkipUntil Dump |
Thread has received a resync database marker, and this state remains until the DSI has processed a subsequent dump database marker. |
Setting Condition |
The thread is setting the condition for another thread to wake up. |
SkipUntil Resync |
Thread is resuming after you execute skip to resync, and this state remains until the thread receives a resync database marker. |
Sleeping |
Thread is yielding processor time for a finite period. |
Sleeping For Mem |
The thread is sleeping until memory is available. |
Suspended |
The thread has been suspended by the user. |
Unlocking Resource |
The thread is releasing a shared resource. |
Output column descriptions for admin who, dist
This command returns a table with a row for each DIST thread in the Replication Server.
Column |
Description |
---|---|
PrimarySite |
The ID of the primary database for the SQT thread. |
Type |
The thread is a physical or logical connection. |
Status |
The thread has a status of “normal” or “ignoring.” |
PendingCmds |
The number of commands that are pending for the thread. |
SqtBlocked |
Whether or not the thread is waiting for the SQT. |
Duplicates |
The number of duplicate commands the thread has seen and dropped. |
TransProcessed |
The number of transactions that have been processed by the thread. |
CmdsProcessed |
The number of commands that have been processed by the thread. |
MaintUserCmds |
The number of commands belonging to the maintenance user. |
NoRepdefCmds |
The number of commands dropped because no corresponding table replication definitions were defined. In the case of Warm Standby, it is possible to have Rep Server create the replication definition. In multi-site availability (MSA), one defines database replication definitions. In either of these cases, if the replicated data originates from a source without a table replication definition, the counter is increased and replicated data proceeds to the target. |
CmdsIgnored |
The number of commands dropped before the status became “normal.” |
CmdMarkers |
The number of special markers that have been processed. |
RSTicket |
The number of rs_ticket subcommands that have been processed by a DIST thread, if the Replication Server stats_sampling parameter is on. Minimum: 0Maximum: 263-1Default: 0 |
SqtMaxCache |
Maximum SQT (Stable Queue Transaction interface) cache memory for the database connection, in bytes. The default, 0, means that the current setting of sqt_max_cache_size is used as the maximum cache size for the connection. |
Output column descriptions for admin who, dsi
This command returns a table with a row for each running DSI scheduler thread in the Replication Server. If a DSI scheduler thread exists for a database but does not appear in the output of admin who, dsi, use resume connection to restart the data server interface for the database.
Column |
Description |
---|---|
Maintenance User |
The login name of the maintenance user applying the transactions. |
Xact_retry_times |
The number of times a failed transaction is retried if the error action is RETRY_LOG or RETRY_STOP. |
Batch |
Indicates if the batch option is on. If it is on, you can submit multiple commands as a batch to the data server. |
Cmd_batch_size |
The maximum size, in bytes, of a batch of output commands that you can send to the data server. |
Xact_group_size |
The maximum size, in bytes, of a transaction group consisting of source commands. |
Dump_load |
Indicates if the dump/load option is on. This configuration option coordinates dumps between primary and replicate databases. |
Max_cmds_to_log |
Maximum number of commands that can be logged into the exceptions log for a transaction. A value of -1 indicates an unlimited number of commands. |
Xacts_read |
The number of transactions read by the DSI from the outbound stable queue. This number should increase as the DSI applies transactions. You can use the information to monitor the rate of activity. |
Xacts_ignored |
The number of transactions determined to be duplicates. Typically, some transactions are ignored at start-up time because they were applied previously. Deletes from the DSI queue are delayed, so at start-up time, duplicates are detected and ignored. If you see a large number of ignored transactions, there is a chance that the rs_lastcommit table is corrupted. For more information, refer to the Replication Server Troubleshooting Guide. |
Xacts_skipped |
The number of transactions skipped by resuming the connection with skip first transaction. |
Xacts_succeeded |
The number of transactions applied successfully against the database. |
Xacts_failed |
The number of transactions that failed. Depending on the error mapping, some transactions may be written into the exceptions log. You should inspect the exceptions log. |
Xacts_retried |
The number of transactions that were retried. |
Current Origin DB |
The origin database ID for the current transaction. |
Current Origin QID |
If the state is Active, it is the Origin Queue ID of the begin log record of the transaction being processed. Otherwise, it is the Origin Queue ID of the begin log record of the last transaction processed. |
Subscription Name |
If the thread is processing a subscription, this is the name of the subscription. |
Sub Command |
If the thread is processing a subscription, this is the subscription command: activate, validate, drop, or unknown. |
Current Secondary QID |
If the thread is processing an atomic subscription applied incrementally, this column holds the queue ID of the current transaction. |
Cmds_read |
The number of commands read from the DSI queue. |
Cmds_parsed_by_sqt |
The number of commands parsed by SQT before being read by the DSI queue. |
IgnoringStatus |
Contains “Ignoring” if the DSI is ignoring transactions while waiting for a marker. Contains “Applying” if the DSI is executing transactions in the database. |
Xacts_Sec_ignored |
In a warm standby application, the number of transactions that were ignored after the switchover. |
GroupingStatus |
Contains “on” if the DSI is executing transactions in groups. Contains “off” if the DSI is executing transactions one at a time. |
TriggerStatus |
Contains “on” if set triggers is on. Contains “off” if set triggers is off. |
ReplStatus |
Indicates whether the Replication Server replicates transactions in the database. The default is “off” for standby databases. The default is “on” for all other databases. |
NumThreads |
The number of parallel DSI threads in use. |
NumLargeThreads |
The number of parallel DSI threads reserved for use with large transactions. |
LargeThreshold |
In a parallel DSI configuration, the number of commands allowed in a transaction before it is considered large. |
CacheSize |
The maximum SQT cache memory for the database connection, in bytes. The default, 0, means that the current setting of the sqt_max_cache_size parameter is used as the maximum SQT cache memory. |
Serialization |
The method used to maintain serial consistency when parallel DSI threads are used. |
Max_Xacts_in_group |
The maximum number of transactions in a group. The default is 20. You can configure this number using the alter connection command. |
Xacts_retried_blk |
The number of times the DSI rolled back a transaction due to exceeding maximum number of checks for lock contention. |
CommitControl |
Indicates if commit control is internal or external. Set to true if internal. |
CommitMaxChecks |
Indicates the maximum number of lock contention attempts before rolling back transaction and retrying. |
CommitLogChecks |
Indicates the maximum number of lock contention attempts before logging a message. |
CommitCheckIntvl |
Amount of time, in milliseconds, a transaction waits before issuing a check for lock contention. |
IsolationLevel |
Database isolation level for DSI connection. |
RSTicket |
The number of rs_ticket subcommands that have been processed by a DSI queue manager, if the Replication Server stats_sampling parameter is “on”. The default, 0, means that the current setting of sqt_max_cache_size is used as the maximum cache size for the connection. |
dsi_rs_ticket_report |
Determines whether to call function string rs_ticket_report. rs_ticket_report function string is invoked when dsi_rs_ticket_report is set to on. Default: off |
Output column descriptions for admin who, rsi
This command displays information about RSI threads that send messages to other Replication Servers.
Column |
Description |
---|---|
Packets Sent |
The number of network packets sent. |
Bytes Sent |
The total number of bytes sent. |
Blocking Reads |
The number of times the stable queue was read with a blocking read. |
Locater Sent |
The locator of the last message sent (contains the queue segment, block and row). |
Locater Deleted |
The last locator that the recipient acknowledged and that has been deleted by Replication Server. |
Output column descriptions for admin who, sqm
This command displays information about SQM threads that manage Replication Server stable queues.
Column |
Description |
---|---|
Duplicates |
The number of duplicate messages detected and ignored. There are usually some duplicate messages at start-up. |
Writes |
The number of messages written into the queue. |
Read |
The number of messages read from the queue. This usually exceeds the number of writes because the last segment is read at start-up to determine where writing is to begin. Also, long transactions may cause messages to be reread. |
Bytes |
The number of bytes written. |
B Writes |
The number of 16K blocks written. It may be greater than Bytes/16K because not every 16K block written is full. You can determine the density of blocks by dividing Bytes by B Writes. |
B Filled |
The number of 16K blocks written to disk because they are filled. |
B Reads |
The number of 16K blocks read. |
B Cache |
The number of 16K blocks read that are in cache. |
Save_Int:Seg |
The Save_Int interval and the oldest segment in the Save_Int list. The Save_Int interval is the number of minutes the Replication Server maintains an SQM segment after all messages in the segment have been acknowledged by targets. For example, a value of 5:88 indicates a Save_Int interval of 5 minutes, where segment 88 is the oldest segment in the Save_Int list. This feature provides redundancy in the event of replication system failure. For example, a Replication Server could lose its disk partitions while receiving data from another Replication Server. The Save_Int feature lets the sending Replication Server re-create all messages saved during the Save_Int interval. A Save_Int value of “strict” may be used when a queue is read by more than one reader thread. Replication Server maintains the SQM segment until all threads reading the queue have read the messages on the segment and applied them to their destination. |
First Seg.Block |
The first undeleted segment and block number in the queue. If the figures for First Seg.Block and Last Seg.Block do not match, data remains in the queue for processing. This information is useful when dumping queues. For more information, refer to the Replication Server Troubleshooting Guide. |
Last Seg.Block |
The last segment and block written to the queue. If the figures for First Seg.Block and Last Seg.Block do not match, data remains in the queue for processing. This information is useful when dumping queues. For more information, refer to the Replication Server Troubleshooting Guide. |
Next Read |
The next segment, block, and row to be read from the queue. |
Readers |
The number of threads that are reading the queue. |
Truncs |
The number of truncation points for the queue. |
Output column descriptions for admin who, sqt
SQT threads read transactions from a stable queue and pass them to the SQT reader in commit order. The reader can be a DIST or a DSI thread.
SQT stores the transactions it is processing in a memory cache. The Closed, Read, Open, Trunc, and Removed columns shown in this table apply to transactions in the SQT cache.
Column |
Description |
---|---|
Closed |
The number of committed transactions in the SQT cache. The transactions have been read from the stable queue and await processing. |
Read |
The number of transactions processed, but not yet deleted from the queue. |
Open |
The number of uncommitted or unaborted transactions in the SQT cache. |
Trunc |
The number of transactions in the transaction cache. Trunc is the sum of the Closed, Read, and Open columns. |
Removed |
The number of transactions whose constituent messages have been removed from memory. This happens when the SQT processes large transactions. The messages are reread from the stable queue. |
Full |
Indicates that the SQT has exhausted the memory in its cache. This is not a problem as long as there are closed or read transactions still awaiting processing. If the SQT cache is often full, consider raising its configured size. To do this, see "alter connection." |
SQM Blocked |
1 if the SQT is waiting on SQM to read a message. This state should be transitory unless there are no closed transactions. |
First Trans |
|
Parsed |
The number of transactions that have been parsed. |
SQM Reader |
The index of the SQM reader handle. |
Change Oqids |
Indicates that the origin queue ID has changed. |
Detect Orphans |
Indicates that it is doing orphan detection. |