HELPLIB.HLB  —  RMU72  Set  Corrupt Pages
    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)0RMU/Set Corrupt_Pages root-file-spec

  Command Qualifiers              x Defaults
                                  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.
Close Help