onstat -x Transactions
onstat -H Clean Up Transactionsi [Undoc'd]
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
.....
14102564 -LH-G 0 0 22:0x0 28:0x276e5e0 COMMIT 0:00 0
14102728 -LH-G 0 0 22:0x0 28:0x26e9524 COMMIT 0:00 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
</div>
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 </div>Position 2: L Loosely-coupled mode (default mode) T Tightly-coupled mode (MTS) </div>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 </div>Position 5: B Both distibuted Star coordinator and subordinate C Informix-Star coordinator G Global transaction M Redirected Global transaction S Informix-Star subordinate </div> |
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
- An upgrade can fail due to 'open transactions'. These can be found via onstat -x and then killed via onmode -Z <addr> or onmode -H <addr>
Note: the onmode -H is an undocumented option and takes the Hex TransID
- 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
If the onmode -H and onstat -Z fail then the download and compile xa_tool.ec
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.