Allows you to set pages, storage areas, and snapshot files
as either corrupt or consistent in the corrupt page table
(CPT). A corrupt page is one that contains meaningless data; an
inconsistent page is one that contains old data (data that is not
at the same transaction level as the database root file). Corrupt
pages are logged to the CPT, which is maintained in the database
root file. When the CPT becomes full (due to a large number of
pages being logged), the area containing the most corrupt pages
is marked as corrupt and the individual corrupt pages for that
area are removed from the corrupt page table. The Oracle RMU Set
Corrupt_Pages operation is an offline operation.
If you reset a page or storage area in the CPT to consistent it
does not remove any true corruption or inconsistencies. However,
if you reset a snapshot file in the CPT to consistent, Oracle
RMU initializes the snapshot file and thus removes any true
corruption or inconsistency.
CAUTION
Use the RMU Set Corrupt_Pages command only after you
fully understand the internal data structure and know the
information the database should contain. Setting a page
in a storage area that is truly corrupt or inconsistent to
consistent does not remove the corruption or inconsistency.
Setting truly corrupt or inconsistent pages in a storage
area to consistent and continuing to access those pages can
result in unrecoverable corruptions to the database.
The RMU Restore and RMU Recover commands should be used
first and should be part of your normal operating procedure.
NOTE
This command replaces two RdbALTER statements: MAKE
CONSISTENT and UNCORRUPT. Both the RdbAlter statements,
MAKE CONSISTENT and UNCORRUPT, are deprecated commands that
may be removed in future versions.
When a storage area is restored from backup files on a by-area
basis, it does not reflect data that has been updated since
the backup operation. The transaction level of the restored
area reflects the transaction level of the backup file, not the
transaction level of the database. Therefore, the transaction
level of the restored area differs from that of the database.
Oracle Rdb marks the area by setting a flag in the storage area
file to inconsistent.
You can perform a recovery by area to upgrade the transaction
level of the restored area to that of the database. (After-
image journaling must be enabled in order to restore by area.)
If you are certain that no updates have been made to the database
since the backup operation, you can use the RMU Set Corrupt_Pages
command to change the setting of the flag from inconsistent to
consistent.
In addition, storage areas are corrupted by attempting an SQL
rollback with one or more storage areas opened in batch-update
transaction mode.
The RMU Set Corrupt_Pages command allows you to access a database
that is in an uncertain condition. Accordingly, the following
message and question are displayed when you enter it to correct a
corrupt or inconsistent storage area or storage area page. (This
message is not displayed if you enter it to correct a corrupt or
inconsistent snapshot file.)
***** WARNING! *****
Marking a storage area or page consistent does not
remove the inconsistencies. Remove any inconsistencies
or corruptions before you proceed with this action.
Do you wish to continue? [N]
1 – Description
The RMU Set Corrupt_Pages command allows you to override the
required RMU Recover command after a by-area restore operation.
Although Oracle RMU cannot determine when the recover operation
is superfluous, you might have that knowledge. If you are certain
of this knowledge, you can abridge the requirement for the
recover operation by using the RMU Set Corrupt_Pages command
to set corrupt pages to consistent.
Similarly, sometimes you might know of a problem that Oracle
RMU does not recognize. For example, you might find that a page
contains an index node that causes a bugcheck dump each time it
is accessed. You can use the RMU Set Corrupt_Pages command to
mark this page as corrupt and then follow your usual procedure
for recovering from database corruption.
Note that the RMU Set Corrupt_Pages command with the Consistent
qualifier does not make truly corrupt storage area pages usable.
Corrupt storage area pages detected during normal operation are
logged in the CPT, and likely have an invalid checksum value.
The RMU Set Corrupt_Pages command with the Consistent qualifier
removes the specified pages from the CPT, but the next time a
user tries to touch that storage area page, it is logged in the
CPT again because it is still physically corrupt. To correct a
storage area page that is truly corrupt, you must restore it from
a backup file.
The RMU Set Corrupt_Pages command with the Consistent qualifier
does make truly corrupt or inconsistent pages in a snapshot file
usable. When you use this command and specify a snapshot file
with the areas qualifier, Oracle RMU initializes the specified
snapshot file.
2 – Format
(B)0[mRMU/Set Corrupt_Pages root-file-spec
[4mCommand[m [4mQualifiers[m x [4mDefaults[m
x
/Area=identity x None
/Consistent x None
/Corrupt x None
/Disk=device x None
/Page=(n,...) x None
3 – Parameters
3.1 – root-file-spec
The file specification of the database root file for which you
want to set pages or areas to corrupt or consistent.
4 – Command Qualifiers
4.1 – Area
Area=identity
Specifies a particular storage area file or snapshot file. The
identity for a storage area can be either the area name (for
example, EMPIDS_OVER), or a storage area ID number (for example,
5). The identity for a snapshot file must be the snapshot file
ID number. Use the RMU Dump command with the Header qualifier to
display the ID numbers associated with a storage area file or a
snapshot file.
When you use the Area qualifier with the Page=(n,...) qualifier,
the command specifies the named pages in the named storage area
or snapshot file. When you specify the Area qualifier without the
Page qualifier, the command specifies all pages of the specified
storage area or snapshot file.
The Area qualifier cannot be used with the Disk qualifier.
4.2 – Consistent
Consistent
Specifies that the pages, areas, or snapshot files specified with
the Page, Area, or Disk qualifier are to be considered consistent
with the remainder of the database.
If you make a storage area or page in a storage area consistent
while it is marked in the database as not corrupt, but
inconsistent, you receive a warning and are required to confirm
your request to carry out this operation before the operation
will complete.
You cannot use the Consistent qualifier with the Corrupt
qualifier.
4.3 – Corrupt
Corrupt
Specifies that the pages, areas, or snapshot files specified with
the Page, Area, or Disk qualifier are to be considered corrupt.
You cannot use the Corrupt qualifier with the Consistent
qualifier.
4.4 – Disk
Disk=device
Specifies all the pages, all the storage areas, and all the
snapshot files on the named device be set as you indicate with
the Corrupt or the Consistent qualifier.
You cannot use the Disk qualifier with the Page or the Area
qualifier.
4.5 – Page
Page=(n,...)
Specifies the listed page numbers.
You must specify the Area qualifier when you use the Page
qualifier.
You cannot use the Page qualifier with the Disk qualifier.
5 – Usage Notes
o You must have the RMU$ALTER, RMU$BACKUP, or RMU$RESTORE
privilege in the root file access control list (ACL) for a
database or the OpenVMS SYSPRV or BYPASS privilege to use the
RMU Set Corrupt_Pages command for the database.
o You can issue the RMU Set Corrupt_Pages command while users
are attached to the database.
o You must specify either the Corrupt or the Consistent
qualifier (but not both) when you use the RMU Set Corrupt_
Pages command.
o When you use the RMU Set Corrupt_Pages command to mark a page
as corrupt or consistent, the database is marked as having
been altered.
6 – Examples
Example 1
The following command sets storage area EMPIDS_MID in the mf_
personnel database as corrupt:
$ RMU/SET CORRUPT_PAGES/AREA=EMPIDS_MID/CORRUPT MF_PERSONNEL
%RMU-I-AREAMARKED, Area 4 was marked corrupt.
Example 2
The following command marks EMPIDS_MID as consistent. This is the
area that was marked as corrupt in Example 1. However, in this
case, instead of using the storage area name in the Oracle RMU
command, the storage area identifier is used.
$ RMU/SET CORRUPT_PAGES/AREA=4/CONSISTENT MF_PERSONNEL
***** WARNING! *****
Marking a storage area or page consistent does not
remove the inconsistencies. Remove any inconsistencies
or corruptions before you proceed with this action.
Do you wish to continue? [N] Y
%RMU-I-AREAMARKED, Area 4 was marked consistent .
Example 3
The following command marks page 1 in area 3 in the mf_personnel
database as corrupt. Using the RMU Show Corrupt_Pages command
confirms that the page has been marked as expected.
$ RMU/SET CORRUPT_PAGES/AREA=3/PAGE=1/CORRUPT MF_PERSONNEL
%RMU-I-PAGEMARKED, Page 1 in area 3 was marked corrupt.
$ RMU/SHOW CORRUPT_PAGES MF_PERSONNEL.RDB
*--------------------------------------------------------------------
* Oracle Rdb V7.0-00 3-JUL-1996 17:01:20.62
*
* Dump of Corrupt Page Table
* Database: USER1:[DB]MF_PERSONNEL.RDB;1
*
*--------------------------------------------------------------------
Entries for storage area EMPIDS_LOW
-----------------------------------
Page 1
- AIJ recovery sequence number is -1
- Live area ID number is 3
- Consistency transaction sequence number is 0:0
- State of page is: corrupt
*--------------------------------------------------------------------
* Oracle Rdb V7.0-00 3-JUL-1996 17:01:20.82
*
* Dump of Storage Area State Information
* Database: USER1:[DB]MF_PERSONNEL.RDB;1
*
*--------------------------------------------------------------------
All storage areas are consistent.
Example 4
The following example sets page 4 of the snapshot file for
EMPIDS_OVER to consistent. Because Oracle RMU initializes
snapshot files specified with the Set Corrupt_Pages command,
the snapshot file is removed from the corrupt page table and is
now usable.
$ RMU/SET CORRUPT_PAGES MF_PERSONNEL.RDB/AREA=14/PAGE=3/CONSISTENT
%RMU-I-PAGEMARKED, Page 3 in area 14 was marked consistent.