o To use the RMU Analyze command for a database, you must
have the RMU$ANALYZE privilege in the root file ACL for the
database or the OpenVMS SYSPRV or BYPASS privilege.
o When the RMU Analyze command is issued for a closed database,
the command executes without other users being able to attach
to the database.
o Detected asynchronous prefetch should be enabled to achieve
the best performance of this command. Beginning with Oracle
Rdb V7.0, by default, detected asynchronous prefetch is
enabled. You can determine the setting for your database by
issuing the RMU Dump command with the Header qualifier.
If detected asynchronous prefetch is disabled, and you do not
want to enable it for the database, you can enable it for your
Oracle RMU operations by defining the following logicals at
the process level:
$ DEFINE RDM$BIND_DAPF_ENABLED 1
$ DEFINE RDM$BIND_DAPF_DEPTH_BUF_CNT P1
P1 is a value between 10 and 20 percent of the user buffer
count.
o The following RMU Analyze command directs the results into a
record definition file called db.rrd. This file is compatible
with the syntax for creating new columns and tables in the
data dictionary.
$ RMU/ANALYZE/BINARY_OUTPUT=RECORD_DEFINITION=DB.RRD MF_PERSONNEL
$! Display the db.rrd file created by the previous command:
$ TYPE DB.RRD
DEFINE FIELD RMU$DATE DATATYPE IS DATE.
DEFINE FIELD RMU$AREA_NAME DATATYPE IS TEXT SIZE IS 32.
DEFINE FIELD RMU$STORAGE_AREA_ID DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$FLAGS DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$TOTAL_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$EXPANDED_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$FRAGMENTED_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$EXPANDED_FRAGMENT_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$TOTAL_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$FRAGMENTED_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$FRAGMENT_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$PAGE_LENGTH DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$MAX_PAGE_NUMBER DATATYPE IS SIGNED LONGWORD.
DEFINE FIELD RMU$FREE_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$OVERHEAD_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$AIP_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$ABM_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$SPAM_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$INDEX_COUNT DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$BTREE_NODE_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$HASH_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$DUPLICATES_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$OVERFLOW_BYTES DATATYPE IS F_FLOATING.
DEFINE FIELD RMU$LOGICAL_AREA_ID DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$RELATION_ID DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$RECORD_ALLOCATION_SIZE DATATYPE IS SIGNED WORD.
DEFINE FIELD RMU$TOTAL_SPACE DATATYPE IS F_FLOATING.
DEFINE RECORD RMU$ANALYZE_AREA.
.
.
.
o The following list describes each of the fields in the db.rrd
record definition:
- RMU$DATE
Contains the date that the Analyze operation was done
- RMU$AREA_NAME
Contains the name of the storage area that was analyzed
- RMU$STORAGE_AREA_ID
Contains the area ID of the storage area that was analyzed
- RMU$FLAGS
The three possible values in this field have the following
meanings:
* 0-Indicates that the record is a storage area record,
not a logical area record
* 1-Indicates that data compression is not enabled for the
logical area
* 3-Indicates that data compression is enabled for the
logical area
- RMU$TOTAL_BYTES
Contains the total size of the data stored in the logical
area
- RMU$EXPANDED_BYTES
Contains the total size of the stored data in the logical
area after decompression
- RMU$FRAGMENTED_BYTES
Contains the number of bytes in the stored fragments
- RMU$EXPANDED_FRAGMENT_BYTES
Contains the number of bytes in the stored fragments after
decompression
- RMU$TOTAL_COUNT
Contains the total number of records stored
- RMU$FRAGMENTED_COUNT
- Contains the number of fragmented records
- RMU$FRAGMENT_COUNT
Contains the number of stored fragments
- RMU$PAGE_LENGTH
Contains the length in bytes of a database page in the
storage area
- RMU$MAX_PAGE_NUMBER
Contains the page number of the last initialized page in
the storage area
- RMU$FREE_BYTES
Contains the number of free bytes in the storage area
- RMU$OVERHEAD_BYTES
Contains the number of bytes used for overhead in the
storage area
- RMU$AIP_COUNT
Contains the number of the area inventory pages (AIPs) in
the storage area
- RMU$ABM_COUNT
Contains the number of area bit map (ABM) pages in the
storage area
- RMU$SPAM_COUNT
Contains the number of space area management (SPAM) pages
in the storage area
- RMU$INDEX_COUNT
Contains the number of index records in the storage area
- RMU$BTREE_NODE_BYTES
Contains the number of bytes for sorted indexes in the
storage area
- RMU$HASH_BYTES
Contains the number of bytes for hashed indexes in the
storage area
- RMU$DUPLICATES_BYTES
Contains the number of bytes for duplicate key values for
sorted indexes in the storage area
- RMU$OVERFLOW_BYTES
Contains the number of bytes for hash bucket overflow
records in the storage area
- RMU$LOGICAL_AREA_ID
Contains the logical area ID of the logical area that was
analyzed
- RMU$RELATION_ID
Contains the record type of the row in the logical area
that was analyzed
- RMU$RECORD_ALLOCATION_SIZE
Contains the size of a row when the table was initially
defined
- RMU$TOTAL_SPACE
Contains the number of bytes available for storing user
data in the logical area (used space + free space +
overhead)