Try OpenEdge Now
skip to main content
Database Administration
Reference : PROUTIL Utility : PROUTIL IDXACTIVATE qualifier
 

PROUTIL IDXACTIVATE qualifier

Activates an inactive index.

Syntax

proutil db-name -C idxactivate [owner-name.]table-name.index-name
          [useindex index-name][recs n][refresh t]
          [ tenant tenant-name | group group-name |
partition partition-name | composite initial ]

Parameters

db-name
Specifies the database containing the index being activated.
[ owner-name. ] table-name.index-name
Specifies the index being activated. You must specify the table and index names. Specify the owner name if tables in your database have more than one owner.
useindex index-name
Specifies an index to use while accessing the records in your table to build the index being activated. This index must be active and cannot be a word index. If you omit this parameter or specify a word index, the primary index is used.
If the index you specify is not unique, a stricter locking protocol must be used when activating the index, causing an increase in time to execute IDXACTIVATE.
If you select a non-unique index, you are warned and asked to confirm your choice as follows:
A non-unique index has been selected as the useindex index.
Additional locking is required with the use of this index
<index-name>.
Do you want to continue (y/n)?
recs n
Specifies the number of records to process in one transaction. If you omit this parameter, IDXACTIVATE will process 100 records per transaction by default.
refresh t
Specifies the frequency in seconds to update the display of clients that are blocking the index activation. The default refresh rate is 60 seconds. You can set it as high as 300 seconds. Connected clients with a schema timestamp earlier than the index's schema timestamp will prevent activation of the index.
tenant tenant-name
Specifies that the IDXACTIVATE operation is to be performed only on the index partitions of tenant-name. If tenant-name does not own any partition of the specified indexes, IDXACTIVATE exits with an error. Specifying tenant is only allowed on databases enabled for multi-tenancy.
group group-name
Specifies that the IDXACTIVATE operation is to be performed only on the index partitions of group-name. If group-name does not own any partition of the specified indexes, IDXACTIVATE exits with an error. Specifying group is only allowed on databases enabled for multi-tenancy.
partition partition-name
Specifies that the IDXACTIVATE operation is to be performed only on the index partition of partition-name. If index-name is not a local index, or the partition cannot be found for the specified table, IDXACTIVATE exits with an error. Specifying partition is only allowed on databases enabled for table partitioning.
composite initial
Specifies that the IDXACTIVATE operation is to be performed only on the index partition of the composite initial partition. If index-name is not a local index, or the partition cannot be found for the specified table, IDXACTIVATE exits with an error. Specifying composite initial is only allowed on databases enabled for table partitioning.

Notes

*IDXACTIVATE works for both online and offline databases.
*If IDXACTIVATE detects clients with an earlier schema timestamp than the index, there are two possible outcomes:
*For OpenEdge Release 11.7 and later, if you have enabled Database Client Notification (-usernotifytime), IDXACTIVATE waits until all connected clients respond to the notification, and then proceeds.
*For releases prior to Release 11.7, or if you have not enabled Database Client Notification (-usernotifytime 0), you may wait for those clients to disconnect, SQL clients to start a new transaction, or forcibly disconnect them with PROSHUT. IDXACTIVATE can not complete and activate the index until the clients with an earlier schema timestamp are disconnected from the database.
*For partitioned tables, IDXACTIVATE only activates a local index partition of one table partition at a time. You can run multiple IDXACTIVATE processes in parallel to activate indexes for multiple partitions of the same local index.
*For global indexes of a partitioned table, you can not specify partition partition-name or composite initial. The entire index must be activated.
*If db-name is a UTF-8 database, you must specify -cpinternal UTF-8 on the command line. If not specified, an error message is generated and IDXACTIVATE exits.
*You cannot activate indexes on schema or auditing tables with IDXACTIVATE.