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