Allows the user to modify the contents of the AIP (Area Inventory
Pages) structure. The AIP structure provides a mapping for
logical areas to physical areas as well describing each of those
logical areas. Information such as the logical area name, length
of the stored record, and storage thresholds can now be modified
using this simple command interface.
1 – Description
This RMU command is used to modify some attributes of an existing
logical area. It cannot be used to add or delete a logical area.
This command can be used to correct the record length, thresholds
and name of a logical area described by an AIP entry. It can also
be used to rebuild the SPAM pages for a logical area stored in
UNIFORM page format areas so that threshold settings for a page
correctly reflect the definition of the table.
See also the RMU Repair Spam command for information on
rebuilding SPAM pages for MIXED areas.
2 – Format
(B)0[mRMU/Set AIP root-file-spec [larea-name]
[4mCommand[m [4mQualifiers[m x [4mDefaults[m
x
/Larea=(n [,...]) x See description
/Length[=n] x See description
/Log x See description
/Rebuild_Spams x See description
/Rename_To=new-name x See description
/Threshold=(p,q,r) x See description
3 – Parameters
3.1 – root-file-spec
The file specification for the database root file to be
processed. The default file extension is .rdb.
3.2 – larea-name
An optional parameter that allows the logical areas to be
selected by name. Only those AIP entries are processed.
Any partitioned index or table will create multiple logical areas
all sharing the same name. This string may contain standard
OpenVMS wildcard characters (% and *) so that different names
can be matched. Therefore, it is possible for many logical areas
to match this name.
The value of larea-name may be delimited so that mixed case
characters, punctuation and various character sets can be used.
4 – Command Qualifiers
4.1 – Larea
Larea=(n [,...])
Specifies a list of logical area identifiers. The LAREA qualifier
and larea-name parameter are mutually exclusive.
4.2 – Length
Length[=value]
Sets the length of the logical area. If no value is provided on
the RMU Set AIP command, then Oracle Rdb will find the matching
table and calculate a revised AIP nominal record length and apply
it to the AIP.
4.3 – Log
Log
Logs the names and identifiers of logical areas modified by this
command.
4.4 – Rebuild Spams
Rebuild_Spams
Locate each logical area with the "rebuild-spam" flag set and
rebuild the SPAM pages.
4.5 – Rename To
Rename_To=new-name
Used to change the logical area name. This qualifier should be
used with caution as some RMU commands assume a strict mapping
between table/index names and names of the logical area. This
command can be used to repair names that were created in older
versions of Oracle Rdb where the rename table command did not
propagate the change to the AIP. The value of new-name may be
delimited so that mixed case, punctuation and various character
sets can be used.
4.6 – Threshold
Threshold=(t1 [,t2 [, t3]])
Changes the threshold on all logical areas specified using
the Larea qualifier or the larea-name parameter. RMU accepts
THRESHOLD=(0,0,0) as a valid setting to disable logical area
thresholds. Values must be in the range 0 through 100. Any
missing values default to 100.
5 – Usage Notes
o The database administrator requires RMU$ALTER privilege to run
the command and the Rdb server also requires SELECT and ALTER
privilege on the database.
o This command supersedes the RMU Repair Initialize=Larea_
Parameters command that can also change the Thresholds and
Length for a logical area. This command can be executed
online, whereas the RMU Repair command must be run offline.
o Wildcard names are not permitted with the following qualifiers
to prevent accidental propagation of values to the wrong
database objects.
- LENGTH qualifier with a value specified,
- RENAME_TO qualifier,
- and THRESHOLDS qualifier.
o RMU Set AIP may be used on a master database configured for
HOT STANDBY. All AIP changes and SPAM rebuild actions are
written to the after image journal and will be applied to the
standby database. This command cannot be applied to a STANDBY
database.
o THRESHOLDS for MIXED format areas are physical area attributes
and are not supported at the logical area (aka AIP) level.
Therefore, THRESHOLDS can not be applied to MIXED areas and
specifying logical areas will cause an exception to be raised.
o The REBUILD_SPAMS qualifier is only applied to logical areas
stored in UNIFORM page format storage areas.
o This command will implicitly commit any changes with no
opportunity to undo them using rollback. Access to the
functionality is controlled by privileges at the RMU and Rdb
database level. We suggest that RMU Show AIP be used prior to
any change so that you can compare the results and repeat the
RMU Set AIP command with corrections if necessary.
Some wildcard operations are restricted to prevent accidental
damage to the database. For instance, a wildcard matching
many objects will be rejected if more than one type of object
is being changed. If a wildcard selects both table and index
types then this command will be rejected.
o This command is an online command. Each logical area will be
processed within a single transaction and interact with other
online users.
o When the AIP entry is changed online, any existing users of
the table or index will start to use the new values if the
logical areas are reloaded.
o Various SQL alter commands will register changes for the AIP
and these are applied at COMMIT time. RMU Verify and RMU Show
AIP Option=REBUILD_SPAMS will report any logical areas that
require SPAM rebuilding. The database administrator can also
examine the output from the RMU Dump Larea=RDB$AIP command.
o How long can the SPAM rebuild be delayed? The fullness of
some page will have been calculated using the old AIP length
or THRESHOLD values. Therefore, it might appear that a page
is full when in fact the revised length will fit on the
page, or the page may appear to have sufficient free space
to store a row but once accessed the space is not available.
By rebuilding SPAM pages, you may reduce I/O during insert
operations. However, delaying the rebuild to a convenient time
will not affect the integrity of the database.
o The amount of I/O required for Rebuild_Spams depends upon
the number of pages allocated to the table or index involved.
Assuming just one logical area is selected then Oracle Rdb
will read the ABM (Area Bitmap) to locate all SPAM pages in
that area that reference this logical area. Rdb will then
read each page in the SPAM interval for that SPAM page and
recalculate the fullness based on the rows stored on each
page.
6 – Examples
Example 1
RMU will call Rdb for each logical area that requires rebuilding.
$ RMU/SET AIP/REBUILD_SPAMS MF_PERSONNEL
%RMU-I-AIPSELMOD, Logical area id 86, name ACCOUNT_AUDIT selected for
modification
%RMU-I-AIPSELMOD, Logical area id 94, name DEPARTMENTS_INDEX selected for
modification
Example 2
RMU will request that the EMPLOYEES table length be updated
in the AIP. Oracle Rdb will use the latest table layout to
calculate the length in the AIP and write this back to the AIP.
The EMPLOYEES table is partitioned across three storage areas and
therefore the Log qualifier shows these three logical areas being
updated.
$ RMU/SET AIP MF_PERSONNEL EMPLOYEES/LENGTH/LOG
%RMU-I-AIPSELMOD, Logical area id 80, name EMPLOYEES selected for modification
%RMU-I-AIPSELMOD, Logical area id 81, name EMPLOYEES selected for modification
%RMU-I-AIPSELMOD, Logical area id 82, name EMPLOYEES selected for modification
Example 3
RMU will request that the EMPLOYEES table length be updated
in the AIP and then the SPAM pages will be rebuilt. This is an
ONLINE operation. Note: there is an implied relationship between
the logical area name and the name of the object. This example
assumes that the EMPLOYEES object is mapped to a UNIFORM page
format area.
$ RMU/SET AIP MF_PERSONNEL EMPLOYEES/LENGTH/REBUILD_SPAMS
Example 4
When Thresholds for an index are modified they will not be
effective until the SPAM pages are updated (rebuilt) to use these
new values. The following example shows that index maintenance
performed by SQL. The SET FLAGS command is used to display
information about the change. Note that the change is applied at
COMMIT time and that the SPAM rebuild is deferred until a later
time. RMU Set AIP is then used to rebuild the SPAM pages.
$ SQL$
SQL> set flags 'index_stats';
SQL> alter index candidates_sorted store in rdb$system (thresholds are (32,56,
77));
~Ai alter index "CANDIDATES_SORTED" (hashed=0, ordered=0)
~Ai larea length is 215
~As locking table "CANDIDATES" (PR -> PU)
~Ai: reads: async 0 synch 58, writes: async 8 synch 0
SQL> commit;
%RDMS-I-LOGMODVAL, modified space management thresholds to (32%, 56%, 77%)
%RDMS-W-REBUILDSPAMS, SPAM pages should be rebuilt for logical area
CANDIDATES_SORTED
$
$ RMU/SET AIP MF_PERSONNEL CANDIDATES_SORTED/REBUILD_SPAMS/LOG
%RMU-I-AIPSELMOD, Logical area id 74, name CANDIDATES_SORTED selected for
modification