Nonstop Database, HiRDB Version 9 System Operation Guide

[Contents][Index][Back][Next]

20.6.1 Actions to be taken in the event of an error in the current file

Organization of this subsection
(1) Error during HiRDB operation
(2) Error during HiRDB restart processing
(3) Placing an erroneous file in swappable target status
(4) Actions to be taken in the event of a disk error

(1) Error during HiRDB operation

The following table shows the actions to be taken in the event of an error in the current file during HiRDB operation.

Table 20-12 Actions to be taken in the event of an error in the current file during HiRDB operation

Condition at the time of an error HiRDB processing HiRDB administrator's action
Write operation There are files in swappable target status. Swaps the system log files.
Places the erroneous system log file in reserved status, and places in current status one of the files in swappable target status, then resumes processing.

  • If application history is required, unload the reserved system log file with the pdlogunld command.
  • Place the erroneous file in swappable target status with the method shown in (3).
There are no files in swappable target status. Terminates abnormally the unit containing the erroneous system log file. See 20.17 When a HiRDB (unit) terminates abnormally due to a system log file shortage.
  • Create a file that can be placed in swappable target status, then restart HiRDB.
  • Place the erroneous file in swappable target status with the method shown in (3).
Read operation Dual system log files are used. Switches to the normal file version and resumes processing. Place the erroneous file in swappable target status with the method shown in (3).
Dual system log files are not used. Places the erroneous system log file in reserved status and cancels processing.
  • If the erroneous system log file has not been unloaded, unload it with the pdlogunld command.#
  • Recover the database from a backup copy of the unload log file and the created unload log file using the database recovery utility. For details on the database recovery utility, see 21. Database Recovery Procedures.
  • Place the erroneous file in swappable target status with the method shown in (3).

#: When checking of the unload operation has been released (pd_log_unload_check=N is specified), this action is not required.

(2) Error during HiRDB restart processing

The following table shows the actions to be taken in the event of an error in the current file during HiRDB restart processing.

Table 20-13 Actions to be taken in the event of an error in the current file during HiRDB restart processing

Condition at the time of an error HiRDB processing HiRDB administrator's action
Dual system log files are used Switches to the normal file version and resumes processing. After restarting HiRDB, place the erroneous file in swappable target status with the method shown in (3).
Dual system log files are not used Places the erroneous system log file in reserved status and terminates restart processing of the unit containing the erroneous system log file.
  • If the erroneous system log file has not been unloaded, unload it with the pdlogunld command, then start the unit forcibly.
  • Recover the database from a backup copy of the unload log file and created unload log file using the database recovery utility. For details on the database recovery utility, see 21. Database Recovery Procedures.
  • Place the erroneous system log file in swappable target status with the method shown in (3).

(3) Placing an erroneous file in swappable target status

Procedure
To place an erroneous file in swappable target status:
  1. Use the pdlogls command to determine the system log file that was placed in reserved status due to an error:
    pdlogls -d sys -s b001
  2. Use the pdlogrm command to delete the system log files in reserved status:
    pdlogrm -d sys -s b001 -f /sysfile/syslog1a
    pdlogrm -d sys -s b001 -f /sysfile/syslog1b
  3. Use the pdloginit command to re-create the system log files that were deleted in step 2:
    pdloginit -d sys -s b001 -f /sysfile/syslog1a -n 5000
    pdloginit -d sys -s b001 -f /sysfile/syslog1b -n 5000
  4. Use the pdlogopen command to place in swappable target status the system log files that were re-created in step 3:
    pdlogopen -d sys -s b001 -g syslog01
We recommend that after the command has executed you check whether the execution results are correct. For details on how to check command execution results, see the manual HiRDB Version 9 Command Reference.

(4) Actions to be taken in the event of a disk error

The actions to be taken in the event of a disk error are explained below by way of an example.

Example
An error occurred in one of the current file versions due to a disk error. Because a swappable target file was available, HiRDB swapped the system log files and continued operation.

Action
If online operation is continued as is and there is not enough space in the system log file, the unit might terminate abnormally due to a shortage of space in the system log file. In this case, immediately swap disks and take the action shown in Procedure 1 below.
If disks cannot be swapped immediately, take the action shown in Procedure 2. If neither Procedure 1 nor Procedure 2 can be executed immediately, take the action shown in Procedure 3 below.

Procedure 1: When disks can be swapped immediately
To continue the operation:
  1. Enter the pdstop command to terminate HiRDB normally.
  2. Swap disks and use the pdfmkfs command to create a HiRDB file system area.
  3. Use the pdloginit command to create a system log file.
  4. Enter the pdstart command to start HiRDB normally.

Procedure 2: When disks cannot be swapped immediately
To correct the shortage of disk space:
  1. Enter the pdstop command to terminate HiRDB normally.
  2. Use the pdloginit command to create a system log file in a HiRDB file system area that has sufficient space.
  3. Modify the following server definition operands (that is, add operands for the system log file that was added):
    [Figure] pdlogadfg
    [Figure] pdlogadpf
  4. Enter the pdstart command to HiRDB start normally.

Procedure 3: Neither Procedure 1 nor Procedure 2 can be executed immediately
To continue the operation temporarily:
  1. Enter the pdstop command to terminate HiRDB normally.
  2. Specify pd_log_singleoperation=Y (to implement the single operation mode for the system log file) in the server definition for the erroneous system log file.
  3. Enter the pdstart command to start HiRDB normally.
    Note
    If Procedure 3 is used and an error occurs in the system log file during single operation, the database cannot be recovered from the unload log (system log). Therefore, Procedure 1 or Procedure 2 should be used as an immediate measure when possible and Procedure 3 should be used as a temporary measure only.