o To use the RMU Analyze Indexes command for a database, you
must have the RMU$ANALYZE privilege in the root file access
control list (ACL) for the database or the OpenVMS SYSPRV or
BYPASS privilege.
o When the RMU Analyze Indexes command is issued for a closed
database, the command executes without other users being able
to attach to the database.
o The following RMU Analyze Indexes command produces an RMS
record definition file called index.rrd that can be read by
the RMU Load command and the data dictionary:
$ RMU/ANALYZE/INDEX/BINARY_OUTPUT=RECORD_DEFINITION=INDEX.RRD -
_$ MF_PERSONNEL
$!
$! Display the index.rrd file created by the previous command:
$ TYPE INDEX.RRD
DEFINE FIELD RMU$DATE DATATYPE IS DATE.
DEFINE FIELD RMU$INDEX_NAME DATATYPE IS TEXT SIZE IS 32.
DEFINE FIELD RMU$RELATION_NAME DATATYPE IS TEXT SIZE IS 32.
DEFINE FIELD RMU$LEVEL DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$FLAGS DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$USED DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$AVAILABLE DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DUPLICATE_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DUPLICATE_USED DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DUPLICATE_AVAILABLE DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$KEY_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DATA_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DUPLICATE_KEY_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DUPLICATE_DATA_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$TOTAL_COMP_IKEY_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$TOTAL_IKEY_COUNT DATATYPE IS F_FLOATING.
DEFINE RECORD RMU$ANALYZE_INDEX.
o The following list describes each of the fields in the
index.rrd record definition:
- RMU$DATE
Contains the date that the analyze operation was done
- RMU$INDEX_NAME
Contains the name of the index that was analyzed
- RMU$RELATION_NAME
Contains the name of the table for which the index is
defined
- RMU$LEVEL
Contains the maximum number of index levels
- RMU$FLAGS
The eight possible values in this field have the following
meanings:
* 0-Index is sorted and not unique. A full report is not
generated.
* 1-Index is sorted and unique. A full report is not
generated.
* 2-Index is hashed and not unique. A full report is not
generated.
* 3-Index is hashed and unique. A full report is not
generated.
* 4-Index is sorted and not unique. A full report is
generated.
* 5- Index is sorted and unique. A full report is
generated.
* 6- Index is hashed and not unique. A full report is
generated.
* 7-Index is hashed and unique. A full report is
generated.
* 8-Index is sorted ranked and not unique. A full report
is not generated.
* 9-Index is sorted ranked and unique. A full report is
not generated.
* 12-Index is sorted ranked and not unique. A full report
is generated.
* 13-Index is sorted ranked and unique. A full report is
generated.
The RMU Analyze Indexes command uses the RMU$FLAGS bits
shown in RMU$FLAGS Bits Used by the RMU Analyze Indexes
Command for describing specific index information.
Table 2 RMU$FLAGS Bits Used by the RMU Analyze Indexes Command
Bit Offset Meaning
0 Unique index if true
1 Hashed index if true
2 Full report record if true
3 Ranked index if true
When RMU$FLAGS has bit 2 set it means that a full report is
generated. A full report has records for each level of the
index.
- RMU$COUNT
Contains the number of index nodes
- RMU$USED
Contains the amount of available space that is used
- RMU$AVAILABLE
Contains the amount of space available in the index records
initially
- RMU$DUPLICATE_COUNT
Contains the number of duplicate records
- RMU$DUPLICATE_USED
Contains the amount of available space used in the
duplicate records
- RMU$DUPLICATE_AVAILABLE
Contains the amount of space available in the duplicate
records initially
- RMU$KEY_COUNT
Contains the number of keys
- RMU$DATA_COUNT
Contains the number of records
- RMU$DUPLICATE_KEY_COUNT
Contains the number of duplicate keys
- RMU$DUPLICATE_DATA_COUNT
Contains the number of duplicate records
- RMU$TOTAL_COMP_IKEY_COUNT
Contains the number of compressed index key bytes
- RMU$TOTAL_IKEY_COUNT
Contains the number of bytes that would be used by index
keys, had they not been compressed