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.