User status (_UserStatus)

The _UserStatus VST displays the progress of PROUTIL and PROBKUP utilities.

Field name Data type Description
_UserStatus-Counter INTEGER Counts blocks accessed, records moved, tables moved, or indexes compacted, and so on.

Additionally, it reports the error return codes when the AI management daemon encounters an error.

_UserStatus-ObjectId INTEGER

The table, index, or area worked on

_UserStatus-ObjectType INTEGER The type of object worked on:
  • 1—Table
  • 2—Index
  • 3—LOB
  • 9—Area
_UserStatus-Operation CHARACTER Name of the online utility and, for the AI management daemon (AIMD), the utility operation for which the status is being monitored.
  • AIMD startup
  • AIMD archiving
  • AIMD switching
  • AIMD emptying
  • AIMD waiting
  • DB analysis
  • Deallocate
  • Disable encryption
  • Dump
  • Epolicy
  • Index activate
  • Index analysis
  • Index check
  • Index compact
  • Index deactivate
  • Index fix
  • Index move

  • LOB analysis

  • Multi-tenant index build

  • Online backup

  • Partition manage

  • Table analysis

  • Table move

  • Table reorg

_UserStatus-State INTEGER A numeric value indicating the state the utility is in. See _UserStatus-State descriptions for descriptions of utility states)
_UserStatus-Target INTEGER The end value of the counter (if known)
_UserStatus-TenantId INTEGER Tenant ID of the user
_UserStatus-UserId INT64 User number
Table 1. _UserStatus-State descriptions
_UserStatus-State value Utility Description
11 PROUTIL Attempting to get a table lock
12 PROUTIL Attempting to get an administration lock
13 PROUTIL Attempting to lock a storage object
24 PROUTIL TABLEMOVE Copying records from one area to another
25 PROUTIL TABLEMOVE Creating a new, alternate index
26 PROUTIL TABLEMOVE Removing records from the source area after copying from source to target
27 PROUTIL TABLEMOVE Removing old indexes
31 PROUTIL IDXMOVE Creating a new index
32 PROUTIL IDXMOVE Removing old index
40 PROUTIL IDXCOMPACT Counting blocks for the scan
41 PROUTIL IDXCOMPACT Scanning the index delete chain
42 PROUTIL IDXCOMPACT Compacting a non-leaf index block
43 PROUTIL IDXCOMPACT Compacting a leaf index block
Note: The values of the _UserStatus-State field do not change in ascending order. Instead, they may appear out of order, with some appearing multiple times. It is possible to observe a typical state transition as follows: 41, 40, 42, 43, 42, 43.
51 PROUTIL IDXFIX Scanning the record manager blocks in a database
52 PROUTIL IDXFIX Scanning the index blocks
53 PROUTIL IDXFIX Comparing index dbkeys for chosen indexes
54 PROUTIL IDXFIX Building the target indexes from the source index
55 Generic LOB access state. Identifying the creation and fetching of internal LOB by the database for different PROUTIL operations that are usually part of OpenEdge replication maintenance.
60 PROBKUP Initializing area descriptors
61 PROBKUP Backing up active before-image clusters
62 PROBKUP Estimating size of backup files
63 PROBKUP Flushing the buffer pool and before-image buffers
64 PROBKUP Backing up area object blocks
65 PROBKUP Backing up the before-image file
66 PROBKUP Backing up the database blocks per area
70 PROUTIL DBANALYS Examining the record manager chain
71 PROUTIL DBANALYS Examining the index delete chain
72 PROUTIL DBANALYS Examining the free chain
73 PROUTIL DBANALYS Examining each database block
74 PROUTIL DBANALYS Gathering fragmentation statistics
75 PROUTIL LOBANALYS Gathering fragmentation for each LOB in a database
80 PROUTIL DUMP Validating user input
81 PROUTIL DUMP Validating column index
82 PROUTIL DUMP Validating column data type
83 PROUTIL DUMP Dumping records from the specified table using the specified index
84 PROUTIL DUMP Dumping records for encrypted dump file by dump specified
85 PROUTIL DUMP Prompt for and validate pass phrase for encrypted dump file
86 PROUTIL DUMP Preparing information for encrypted dump file header
87 PROUTIL DUMP Reserved for future use.
88 PROUTIL DUMP Validating input
89 PROUTIL DUMP Dumping records by binary dump (non-encrypted dump file)
90 PROUTIL IDXMOVE Validating user input
91 PROUTIL IDXMOVE Validating target area
92 PROUTIL IDXMOVE Attempting to get a table lock
93 PROUTIL IDXMOVE Moving the index blocks from source to target areas
100 PROUTIL IDXFIX Creating new indexes for schema index rebuilds
101 PROUTIL IDXFIX Scanning all blocks with index blocks of interest
102 PROUTIL IDXFIX Scanning all blocks with index or record manager blocks of interest
103 PROUTIL IDXFIX Scanning all blocks to reconstruct the indexes
104 PROUTIL IDXFIX Rebuilding indexes from the sort files
105 PROUTIL IDXFIX Activating every rebuilt index
106 PROUTIL IDXFIX Deleting old schema indexes
110 PROUTIL TABLEMOVE Validating user input
111 PROUTIL TABLEMOVE Validating target area
112 PROUTIL TABLEMOVE Attempting to get a table lock
113 PROUTIL TABLEMOVE Looking for inactive indexes
114 PROUTIL TABLEMOVE Deleting template record from source area
115 PROUTIL TABLEMOVE Moving table from source to target area
116 PROUTIL TABLEMOVE Creating template record in target area
117 PROUTIL IDXACTIVATE Validating command line input
118 PROUTIL IDXACTIVATE Building index entries phase
119 PROUTIL IDXACTIVATE Lock the index records of the index(s) being activated
120 PROUTIL IDXACTIVATE Activating the index in process
121 PROUTIL IDXACTIVATE Locking the _Index record of the index being activated
122 PROUTIL IDXCHECK Locking the database schema to support the check process
123 PROUTIL IDXCHECK Locking the _Index records of indexes being checked from other index utilities
124 PROUTIL IDXCHECK Locking the table of the index being checked so its data will not change during check.
125 PROUTIL IDXCHECK Examining the index blocks of an index for and internal validation pass
126 PROUTIL IDXCHECK Examining an index's key entries for internal consistency
127 PROUTIL EPOLICY Obtaining the encrypted object's internal information for later processing
128 PROUTIL EPOLICY Scanning the encrypted blocks of an object
129 PROUTIL EPOLICY Scanning and raising an encrypted object's blocks to a new policy level
130 PROUTIL EPOLICY Changing an object's encrypted policy's attributes
131 PROUTIL DISABLEENCRYPTION Attempting to disable AI encryption
132 PROUTIL DISABLEENCRYPTION Attempting to disable BI encryption
133 PROUTIL DISABLEENCRYPTION Executing update phase of Disable Encryption
134 PROUTIL DISABLEENCRYPTION Executing decrypt phase of Disable Encryption
135 PROUTIL DISABLEENCRYPTION Disabling feature bit of Disable Encryption
136 PROUTIL IDXDEACTIVATE An attempt to deactivate an index or indexes is in progress
137 PROUTIL IDXDEACTIVATE Validating the command line input
138 PROUTIL IDXDEACTIVATE Acquiring the index locks to block other utilities from operating on the index(s)
139 PROUTIL IDXDEACTIVATE Locking the _Index records of the deactivating index
140 PROUTIL IDXDEACTIVATE Locking the _StorageObject records of the deactivating index
141 PROUTIL IDXDEACTIVATE Reserved for future use.
142 PROUTIL DEALLOCATE Locking the Schema records to support the deallocation process
143 PROUTIL DEALLOCATE Locking the _Tenant records to support the deallocation process
144 PROUTIL DEALLOCATE Locking the table or tables involved in the deallocation process
145 PROUTIL DEALLOCATE Locking the _Index record of the index or indexes involved in the deallocation process
146 PROUTIL DEALLOCATE Locking the LOB object or objects involved in the deallocation process
147 PROUTIL DEALLOCATE Changing internal object block values for objects involved in the deallocaton process
148 PROUTIL DEALLOCATE Wait point encountered because processes are blocking the deallocation process.
149 PROUTIL DEALLOCATE Releasing all locks acquired by the deallocation process
150 PROUTIL MTIDXBUILD Obtaining admin lock for MTIDXBUILD
151 PROUTIL MTIDXBUILD Recreating objects in MTIDXBUILD
152 PROUTIL MTIDXBUILD Building index tree for MTIDXBUILD
153 PROUTIL DATAMOVE Validating input for DATAMOVE
154 PROUTIL DATAMOVE Validating target database for DATAMOVE
155 PROUTIL DATAMOVE Locking table partition for DATAMOVE
156 PROUTIL DATAMOVE Checking for inactive indexes in DATAMOVE
157 PROUTIL DATAMOVE Moving data in DATAMOVE
158 PROUTIL DATAMOVE Moving a sequence in DATAMOVE
159 PROUTIL DATAMOVE The table instance is being deallocated
160 PROUTIL DATAMOVE Comparing schemas in DATAMOVE
161 PROUTIL DATAMOVE Updating the table instance storage object's object state
162 PROUTIL DATAMOVE Unlocking the table partition lock
163 PROUTIL PARTITIONMANAGE MERGE Validating the user input to merge multiple range or list-range table partitions into a single target partition
164 PROUTIL PARTITIONMANAGE MERGE Validating the target partition
165 PROUTIL PARTITIONMANAGE MERGE Locking the partitions
166 PROUTIL PARTITIONMANAGE MERGE Moving the objects to the target partition
167 PROUTIL PARTITIONMANAGE MERGE Attempting to lock the moving objects
168 PROUTIL PARTITIONMANAGE MERGE Attempting to unlock the moved objects
169 PROUTIL PARTITIONMANAGE SPLIT Validates the user input to split a table partition into multiple target partitions
170 PROUTIL PARTITIONMANAGE SPLIT Attempting to lock the partitions
171 PROUTIL PARTITIONMANAGE SPLIT Attempting to unlock the partitions
172 PROUTIL PARTITIONMANAGE SPLIT Moving the objects of a table partition to target partition
173 PROUTIL PARTITIONMANAGE SPLIT Splitting of a table partition completed
174 PROUTIL PARTITIONMANAGE MANAGE Updating the number of records to merge in one transaction
175 PROUTIL PARTITIONMANAGE TRUNCATE Locking schema
176 PROUTIL PARTITIONMANAGE TRUNCATE Validating the user input to truncate a table partition
177 PROUTIL PARTITIONMANAGE TRUNCATE Locking table
178 PROUTIL PARTITIONMANAGE TRUNCATE Locking partition
179 PROUTIL PARTITIONMANAGE TRUNCATE Locking Index
180 PROUTIL PARTITIONMANAGE TRUNCATE Updating objects
181 PROUTIL PARTITIONMANAGE TRUNCATE Waiting for user input
182 PROUTIL PARTITIONMANAGE TRUNCATE Unlocking the table, partition, and index locks
183 PROUTIL PARTITIONMANAGE TRUNCATE Updating global index
184 PROUTIL PARTITIONMANAGE ALTER Validating the input to alter the state a partition of a partitioned table
185 PROUTIL PARTITIONMANAGE ALTER Changing of state for ALTER to change the partition to that state
186 PROUTIL PARTITIONMANAGE VIEW Validating the user input to view information about table partitions
187 PROUTIL PARTITIONMANAGE RENAME Validating the user input to rename a partition of a partitioned table
188 PROUTIL PARTITIONMANAGE RENAME Validating the new name of the partition
190 PROUTIL PARTITIONMANAGE COPY Validating the user input to copy (restore) data into a partitioned table in the destination database from a temporary source database
191 PROUTIL PARTITIONMANAGE COPY Comparing the schema in the source and target databases
192 PROUTIL PARTITIONMANAGE COPY Locking the index
193 PROUTIL PARTITIONMANAGE COPY Locking the partitions
194 PROUTIL PARTITIONMANAGE COPY Deallocating the objects
195 PROUTIL PARTITIONMANAGE COPY Copying the objects from the source to target database
196 PROUTIL PARTITIONMANAGE COPY Updating the number of records copies
197 PROUTIL PARTITIONMANAGE COPY Unlocking the objects
198 PROUTIL IDXCHECK Scanning the tree
199 PROUTIL TABLEREORG Starting up
200 PROUTIL TABLEREORG Reorganizing table
201 PROUTIL TABLEREORG Completion phase
202 PROUTIL TABLEREORG Suspending the session for a given time
203 PROUTIL TABLEREORG Caching schema information
204 PROUTIL TABLEREORG Processing lock conflict
205 PROUTIL ENABLEDDM/

PROUTIL ACTIVATEDDM/

PROUTIL DEACTIVATEDDM/

PROUTIL DISABLEDDM

DDM database administration utility running
206 PROUTIL ENABLEDDM/

PROUTIL ACTIVATEDDM/

PROUTIL DEACTIVATEDDM/

PROUTIL DISABLEDDM

DDM database administration utility in lock conflict on record, table, or schema lock
207 PROSHUT AIMGT The AI management daemon has run successfully
208 PROSHUT AIMGT The AI management daemon encounters an error
Note: To determine the error, see the following:
  • _UserStatus-Counter—Displays the error return code.
  • _UserStatus-ObjectId—Displays the AI area where the error has occurred.
1100 PROSHUT Waiting for user input
1101 The OpenEdge Replication agent on the target is waiting for active users to complete their database access before certain schema change operations can be applied to the target database. This is a side effect of utilities like table move or certain alter schema language actions being run on the replication source database.