Kbase P42702: How to run an unattended online idxfix for all indexes
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  02/07/2009 |
|
Status: Verified
GOAL:
How to run an unattended online idxfix for all indexes
GOAL:
Is it possible to fix indexes online?
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Versions
FIX:
As long as the index is not de-activated, then the online idxfix utility can be run to build all indexes defined, but will not activate disabled indexes. Completing index activation will require an idxfix offline of the same index, which will then activate the index if no corruption is found. Idxbuild on the other hand, will activate all indexes. The time that it will take to build the index entries is directly related to how complex the index is and how many records are involved. It may take a large amount of time if there are a lot of records.
The performance of idxfix online is affected by other online users or transactions. The process of an online idxfix operation runs SHARE-LOCK, it will constantly wait, grab, and release locks. If there are other transactions requiring same locks, idxfix would have to compete against these and this would cause a performance hit. Progress advises to run this utility during times of low load.
The command line is:
proutil dbname -C idxfix < input.file > output.file
# input.file:
3
ALL
y
y
ALL
y
#end input.file
and output.file will write the screen content of the index fix operation.
The input.file can be customised for the rationale behind the operation, if for example, All indexes need to be scanned, but NOT fixed, the file would look like this:
# input.file:
3
ALL
y
n
ALL
y
To only scan some indexes as opposed to ALL indexes, 4GL may be useful to build this list for you, please refer to P6424, "How to build an index list (for idxbuild or idxfix)" for more detail.
3
some
table_name
index_name
table_name
index_name
!
y
y
y
ALL
The idxfix operation will report it's findings