1 – Abm
Abm Noabm Causes the reconstruction of the logical area bit map (ABM) pages for areas specified with the Areas qualifier. After-image journaling is disabled when you specify the Abm qualifier. You must explicitly enable after-image journaling after the RMU Repair command completes if you want journaling enabled. The NoAbm qualifier specifies that ABM pages are not to be reconstructed; this is the default.
2 – All Segments
All_Segments Noall_Segments The All_Segments qualifier specifies that RMU Repair should retrieve all segments of a segmented string; the Noall_Segments qualifier specifies that RMU Repair should only retrieve the first segment of a segmented string. Specify the Noall_Segments qualifier if you know that the list storage map for any segmented strings stored on the specified areas might have contained multiple areas. For example, if the storage map was created using the following SQL command, Oracle Rdb would store all the segmented strings on AREA1 until AREA1 became full. If AREA1 became full, Oracle Rdb would continue to write the rest of the segments into AREA2. Suppose AREA2 becomes corrupt. In this case, retrieving the first segment from AREA1 is not sufficient; all segments must be retrieved to determine if part of the segmented string is missing. CREATE STORAGE MAP FOR LIST STORE IN (AREA1, AREA2) FOR (TABLE1) IN RDB$SYSTEM; Specifying the Areas qualifier and the All_Segments qualifier is unnecessary and redundant because specifying the All_Segments qualifier causes RMU Repair to check all storage areas regardless of where the segmented string was stored initially.
3 – Areas
Areas[={storage-area-list or *}] Specifies the storage areas in the database you want to repair. You can specify storage areas by name or by the area's ID number. By default, all the storage areas in the database are repaired. If you specify more than one storage area, separate the storage area names or ID numbers in the storage-area-list with a comma, and enclose the list within parentheses.
4 – Checksum
Checksum Reads every page in the database storage areas to verify that the checksum on each page is correct. If the checksum on the page is incorrect, it is replaced with the correct checksum. Use the Areas qualifier to specify which storage areas RMU Repair should check. If you do not specify the Areas qualifier, all pages in all storage areas are checked and updated (if incorrect). This qualifier can be used whether or not users are attached to the database. This qualifier is not valid for use with any other qualifiers except the Areas qualifier.
5 – Initialize
Initialize=initialize-options Noinitialize Allows you to specify initialization options. If more than one option is specified, separate the options with a comma, and enclose the list of options within parentheses. The following options are available for the Initialize qualifier: o Free_Pages The Initialize=Free_Pages qualifier initializes database pages that do not contain data in the selected storage areas (that have a uniform page format). You can use the Initialize=Free_ Pages qualifier to correct BADPTLARE errors found by the RMU Verify command and also to free pages from a table that has many deleted rows. If you specify the default, the Noinitialize qualifier, no database pages are initialized. Frequently, you will receive one or more RMU-W-ABMBITTERR error messages after you issue the RMU Repair command with the Initialize=Free_Pages qualifier. This occurs because the initialization of pages can create new ABM errors. Correct these errors by issuing the RMU Repair command with the Abm qualifier. (However, note that you cannot specify the Initialize=Free_Pages qualifier and the Abm qualifier on the same command line.) If you ignore the RMU-W-ABMBITTERR error messages, extra I/O operations will be performed (one for each RMU-W-ABMBITTERR error you received) when a database query causes a sequential scan of an entire table. If a table residing in a storage area that has a uniform page format is frequently accessed sequentially, the cost of the sequential access is determined by the number of allocated pages. If the maximum size allocated for the table is much larger than the table's average size, the cost of the sequential access can be excessive. By using the RMU Repair command with the Initialize=Free_Pages qualifier, you can purge the allocated but unused database pages from the table. In some cases, there may be a decrease in performance when you insert new data into the table after using this option. As with all Repair options, you should test the performance of the database after executing the command and be prepared to restore the backup made before executing the Repair command if you find that the command results in decreased performance. The initialization of free pages requires access to the Oracle Rdb system tables. You should not initialize free pages until you know that the RDB$SYSTEM storage area (where the system tables are stored) is not corrupted. o Larea_Parameters=options-file This option specifies an options file (default file extension .opt) that contains a list of logical areas and parameter values that RMU Repair uses to update the area inventory page (AIP) before it builds the space area management (SPAM) pages. The Larea_Parameters options file contains lines in the following format: name [/Areas=name][/Delete][/[No]Thresholds=(n[,n[,n]])[/Length=n][/Type=option] A comment can be appended to the line (an exclamation point (!) is the comment character), and a line can be continued (as in DCL) by ending it with a hyphen (-). The logical area can be specified by name or identification number (ID). The logical area named must be present in the AIP, or an error is generated. The Larea_Parameters options are further described as follows: - Areas=name Restricts this line to the logical area that resides in the specified storage area. The storage area can be specified by name or ID. By default, all logical areas with a matching name are altered independently of the storage area in which they reside. You can specify storage area ID numbers with the Areas qualifier. - Delete Specifies that the logical area should be marked as deleted. You will corrupt your database if you delete a logical area that is referenced by Oracle Rdb metadata. - Length=n The Initialize=Length option specifies the record length to store in the logical area inventory entry. RMU Repair uses this value to calculate SPAM thresholds. When columns are deleted from or added to a table, the record length stored in the logical area inventory entry is not updated. Therefore the search for space needed to store a new record may be inefficient, and the SPAM thresholds will not be set properly. You can solve this problem by first correcting the length in the logical area inventory entry, then generating corrected SPAM pages using the RMU Repair command. See Example 2 in the Examples help entry under this command. - Thresholds=(n [,n [,n]]) NoThresholds This option specifies the logical area SPAM thresholds. This is useful only for logical areas that reside in a storage area with a uniform page format. If thresholds are set, they are ignored in a storage area with a mixed page format. See the Oracle Rdb7 Guide to Database Performance and Tuning for information on setting SPAM thresholds. The Nothresholds option specifies that logical area thresholds be disabled. - Type=keyword By specifying a Type, you can update the on-disk logical area type in the AIP. For databases created prior to Oracle Rdb release 7.0.1, the logical area type information in the AIP is unknown. However, the RMU Show Statistics utility depends on this information to display information on a per-logical-area basis. A logical area is a table, B-tree index, hash index, or any partition of one of these. In order to update the on-disk logical area type in the AIP, specify the type as follows: Type=Table Specifies that the logical area is a data table, such as is created with the SQL CREATE TABLE statement. Type=Btree Specifies that the logical area is a B-tree index, such as is created with the SQL CREATE INDEX TYPE IS SORTED statement. Type=Hash Specifies that the logical area is a hash index, such as is created with the SQL CREATE INDEX TYPE IS HASHED statement. Type=System Specifies that the logical area is a system record that is used to identify hash buckets. Users cannot explicitly create this type of logical area. This type should not be used for the RDB$SYSTEM logical areas. It does not identify system relations. Type=Blob Specifies that the logical area is a BLOB (LIST OF BYTE VARYING) repository. There is no error checking of the type specified for a logical area. The specified type does not affect the collection of statistics, nor does it affect the readying of the affected logical areas. However, an incorrect type will cause incorrect statistics to be reported by the RMU Show Statistics utility. o Only_Larea_Type The Initialize=Only_Larea_Type option specifies that only the logical area type field is to be updated in the area inventory page (AIP). o Snapshots The Snapshots option allows you to create and initialize new snapshot files. In addition, it removes corrupt snapshot area pages from the Corrupt Page Table (CPT). This is much faster than using the RMU Restore command to do the same thing, especially when just one snapshot file is lost and needs to be created again. The default is not to create new files. When you specify the Confirm option with the Initialize=Snapshots option (Initialize=Snapshots=Confirm), you can use the RMU Repair command not only to initialize, but also to optionally rename, move, or change the allocation of snapshot files. These operations might be necessary when a disk with a snapshot file has a hardware problem or is removed in a hardware upgrade, or when a snapshot file has grown too large and you want to truncate it. The Confirm option causes RMU Repair to prompt you for a name and allocation for one or more snapshot files. If you use the Areas qualifier, you can select the snapshot files in the database that you want to modify. If you omit the Areas qualifier, all the snapshot files for the database are initialized and RMU Repair prompts you interactively for an alternative file name and allocation for each snapshot file. By specifying a new file name for a snapshot file, you can change the location of the snapshot file. By specifying a new allocation for a snapshot file, you can truncate a snapshot file or make it larger. o Tsns The Initialize=Tsns option resets the database transaction state. The default is to not alter the transaction state. After-image journaling is disabled when you specify the Initialize=Tsns option. You must explicitly enable after-image journaling after the RMU Repair command completes if you want journaling enabled. This operation is useful when the database transaction sequence number (TSN) approaches the maximum allowable value and the TSN values must be initialized to zero. The TSN value is contained in a quadword with the following decimal format: high longword : low longword The high longword can hold a maximum user value of 32768 (215) and the low longword can hold a maximum user value of 4,294,967,295 (232). A portion of the high-longword is used by Oracle Rdb for overhead. Initialization of the TSN values requires reading and writing to each page of the database, so the Areas qualifier is not meaningful. It also requires initialization of the snapshot areas even if the Snapshots option has not been specified. The Tsns initialization option carries the following restrictions: - It cannot be performed if the Replication Option for Rdb is being used unless all transfers have been completed. RMU Repair will ask for confirmation if an RDB$TRANSFERS table is defined. - Old journal files will not be applicable to this repaired database. After TSNs have been initialized, you must reenable after-image journaling if you want journaling enabled. After the RMU Repair command completes, a full and complete backup operation should be performed on the database as soon as is practical. This operation ensures that new journaled changes can be applied to the restored database in the event that a restore operation should become necessary.
6 – Spams
Spams Nospams Reconstructs the SPAM pages for the areas you specify with the Areas qualifier. If you specify the Nospams qualifier, the SPAM pages are not reconstructed. The default is the Spam qualifier if you do not specify any of the following qualifiers for the RMU Repair command: o ABM o Initialize=Free_Pages o Initialize=Snapshots o Initialize=Snapshots=Confirm If you use any of these qualifiers, the NoSpam qualifier is the default. When columns are deleted from or added to a table, the record length stored in the logical area inventory entry is not updated. Therefore the search for space needed to store a new record may be inefficient, and the SPAM thresholds will not be set properly. You can solve this problem by first correcting the length in the logical area inventory entry, then generating corrected SPAM pages using the RMU Repair command. See Example 2 in the Examples help entry under this command.
7 – Tables
Tables[=table-list] Specifies the list of tables that you want RMU Repair to check for complete segmented strings. If no tables are listed, then all nonsystem tables are examined. (System tables do not store their segmented strings in write-once areas.) Note that RMU Repair has no knowledge of which storage areas contain segmented strings from a particular table; thus, the default is to search all tables.