Skip to content
CA Panvalet - 14.6
Documentation powered by DocOps

Error Recovery Procedures

Last update December 18, 2017

This section contains information about the following subtopics:

Procedure One

You can use any of the following options whenever the library directory is full or the library capacity has been reached:

Option One

  1. Execute PAN#1 and issue a STATUS...DISABLED or STATUS┬╝INACTIVE command for as many members as feasible.
  2. Execute PAN#2 and issue a DELETE DISABLED and DELETE INACTIVE command to remove the members to a CA Panvalet protection file.

Option Two

  1. Execute PAN#2 and issue a DUMP command.
  2. Execute PAN#4 to allocate a new library that contains more data blocks or more directory blocks than the original library.
  3. Execute PAN#2 and issue a RESTORE command for the new library using the dump file from the original library.

Procedure Two

Use the following procedure whenever a member on the library cannot be accessed due to a DASD error or an invalid data indication:

  1. Locate the most recent protection file that contains the desired member.
  2. Execute PAN#2 and issue a RESTORE xxxxxxxxxx, where xxxxxxxxxx is the desired member name.
  3. If the level number of the newly replaced member is older than the working level of the member prior to the replace, execute PAN#1 and resubmit all updates dating from the replaced level number.

Procedure Three

Use the following procedure whenever the library cannot be normally accessed due to a DASD error condition:

  1. Execute PAN#2 and issue a DUMP command. If this command does not terminate successfully, you must use Error Recovery Procedure Four.
  2. Execute PAN#4 to allocate a new library.
  3. Execute PAN#2 and issue a RESTORE command for the new library using the dump file just created.

Procedure Four

Use the following procedure whenever the library cannot be accessed by any CA Panvalet program due to a DASD error or system error condition:

  1. Locate the most recent protection file for the library.
  2. Execute PAN#4 to allocate a new library.
  3. Execute PAN#2 and issue a RESTORE command for the new library using the protection file.
  4. Execute PAN#1 and resubmit all updates dating from the restored level number

Procedure Five

After you receive and correct a PV033 error, you must check the integrity of the library with a PAN#2 ++DUMP command. If this ++DUMP successfully creates a backup protection file (PANDD2), the library's forward and backward pointers have been checked. (A ++DUMP is performed by blocks, and therefore, may not be able to detect members with bad internal data structure.)

If you are in a time-sensitive situation, and the ++DUMP completes successfully, you can restore the member that received the PV033 error from a previous protection file.

When more time is available, you can perform the integrity check of the library using one (or more) of the following methods, which read and detect any corruption at the member level:

  • Execute PAN#1 ++WRITE WORK,* to identify members with bad internal data structure. PAN#1 terminates when it encounters a corrupted member. You can identify the member name by reviewing the output work file (PANDD2). Continue execution of PAN#1 using multiple ++WRITE WORK,PREFIX= commands to pick up all remaining members that are in the CA Panvalet library.
  • Execute PAN#2 by issuing one of the following commands:

    ++PRINT COMMENT

    or

    ++AUDIT name1<,name2>,AUDIT=COMMENT

  • Execute PAN#8 ++SCAN *,'scan field'

This reads through every member in the library and checks the integrity of the member contents. PAN#8 does not necessarily stop processing if it encounters a corrupted member. This is the least complicated method of checking the integrity of the library.

After the names of the corrupted members have been identified:

  1. Create a new backup protection file using PAN#2 ++TRANSFER name1,name2 to bypass the corrupted members. The number of ++TRANSFER commands required depends on the number of corrupted members. For example, if members B, I, and T are corrupted, code the following ++TRANSFER commands:

    ++TRANSFER A

    ++TRANSFER C,H

    ++TRANSFER J,S

    ++TRANSFER U,9999999999

  2. Rename the existing CA Panvalet library and create a new library using PAN#4 ++CLEAR command.
  3. Execute PAN#2 ++RESTORE (without specifying any member names) to copy the entire backup protection file (created earlier by the ++TRANSFER commands) into a newly created CA Panvalet library.
  4. Members identified as corrupted are not included in the newly created backup protection file. The corrupted members that were not restored to the new protection file must be restored from a previous backup protection file created before the corruption occurred. To test the members, restore them to a PANLIB, and perform one of the above integrity checks at the member level.
  5. After you are confident that the backup of the member was taken before the corruption occurred, transfer the tested members into the newly created library.
  6. Create a new backup protection file of the library with the combined protection file members from the ++TRANSFER commands and the members from the individual restores of the corrupted member names. Perform this process right away to ensure that a composite backup is available if needed.
Was this helpful?

Please log in to post comments.