onstat -x Transactions

The onstat -x command lists the transactions currently active in the system.

Transactions                                                                   
address   flags userthread  locks  begin    current   isol   est.     retrys coord
                                    logpos   logpos           rb_time
14102018 A---- 140d3018   0         -        -         COMMIT   -     0
141021dc A---- 140d35d8   0         -        -         COMMIT   -     0
141023a0 A---- 140d3b98   0         -        -         COMMIT   -     0
14102564 A---- 140d4158   0         -        -         COMMIT   -     0
14102728 A---- 140d4718   0         -        -         COMMIT   -     0
.....
141028ec A---- 140d4cd8   0         -        -         COMMIT   -     0
14a878ec A---- 14a58b98   0         -        -         NOTRANS  -     0
14a87ab0 A---- 14a59cd8   1         -        -         DIRTY    -     0         
14a87c74 A---- 14a5a298   502   33:0x25018  34:0x486fc COMMIT   0:07  0
14a87e38 A---- 14a5a858   1         -        -         DIRTY    -     0       hobbit921shm
 137 active, 256 total, 138 maximum concurrent            

Output Description

Not all fields are avaialable in all versions

Heading Description Format See Also
address The in-memory address of the transaction structure Hex  
flags Describes the status of the transaction using the following coded flags:
Position 1:
 A Userthread attached to transaction
 C TP/XA waiting for rollback
 S TP/XA suspended transaction
Position 2:
 L Loosely-coupled mode (default mode)
 T Tightly-coupled mode (MTS)
Position 3:
 B Begin work
 C Committing or committed
 H Heuristically rolling back or rolled back
 P Informix-Star prepare for commit
 R Rolling back or rolled back
 X TP/XA prepare for commit
Position 5:
 B Both distibuted Star coordinator and subordinate
 C Informix-Star coordinator
 G Global transaction
 M Redirected Global transaction
 S Informix-Star subordinate
Str  
userthread The address of the userthread that owns this transaction. Hex onstat -u
locks The number of locks held by the transaction. Dec onstat -k
begin logpos The number of the Logical Log in which this transaction was begun. Dec onstat -l
current logpos The current log position of the most recent record that the transaction is wrote to Dec onstat -l
log begin The number of the Logical Log in which this transaction was begun. Dec onstat -l
isolation The isolation level of the transaction. Str  
est. rb time The estimated time the server needs to rollback the transaction. As a transaction goes forward, this time increases. If a transaction rolls back, the time decreases as the transaction unwinds. Time  
retrys The number of times the transaction attempted to complete. Dec  
coordinator The name of the coordinator system if this is a two-phase commit (distributed) transaction. Str  

Summary Definitions

Heading Description
active The number of currently active transactions.
total The current number of transactions that the engine has been dynamically allocated to handle.
maximum concurrent The maximum number of transactions that have been running at the same time.

Notes

  • The onstat -x command is not included with onstat -a
    The transaction information is required only in the following situations:
  • X/Open environment
  • Database server participation in distributed queries
  • Database server uses the Microsoft Transaction Server (MTS) transaction manager
  • As a transaction rolls back, the current log position will actually wind back until it gets to the beginning log position. When the beginning log position is reached, the rollback is complete

Monitoring and Tuning

    If a long transaction is in the process of being rolled back, it can be identified by examining the transaction with the lowest log begin value.