8.2.13 Operands related to system log files

31) pd_log_dual = Y | N
Specifies whether dual system log files are to be used.
Y: Use dual system log files.
N: Do not use dual system log files.
Advantages
When dual system log files are used, HiRDB collects the same system log information in both files, which are called File A and File B. If a failure occurs in one of the files while the collected system log file is being loaded, the file can be loaded from the other file, resulting in higher system reliability.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is N.
Relationship to other operands
When use of dual system log files is specified, the name of the File B system log file must be specified with the pdlogadpf operand.
32) pd_log_remain_space_check = warn | safe
Specifies the processing to be performed by HiRDB when the available space in the system log file falls below the warning level. This is called the facility for monitoring the free area for the system log file. For details about this facility, see the HiRDB Version 9 System Operation Guide.
warn:
When the available space in the system log file falls below the warning level, the KFPS01162-W message is output.
safe:
When the available space in the system log file falls below the warning level, scheduling of new transactions is suppressed, all transactions inside the server are forcibly terminated, and the KFPS01160-E message is output.
Specification guideline
We recommend that you specify safe because it can reduce the probability of abnormal termination of units due to system log file space shortage. However, when safe is specified, all transactions inside the server are forcibly terminated when a shortage occurs in the available space in the system log file. Therefore, the design of the system log file requires more accuracy. For details about system log file design, see the HiRDB Version 9 Installation and Design Guide.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is warn.
33) pd_log_auto_unload_path = "unload-log-file-output-directory"[,"unload-log-file-output-directory"]...
~<path name>((1-136 characters))
Specifies as absolute path names the unload file output directories when the automatic log unloading facility is to be used for the system log. A HiRDB file system area name must be specified to create the unload log file in a HiRDB file system area. The directories or HiRDB file system areas specified for this operand must be created before HiRDB is started.
Additionally, in this operand, specify a different directory or HiRDB file system area for each server.
For details about the automatic log unloading facility, see the HiRDB Version 9 System Operation Guide.
Specification guidelines
It is important to check the available disk space before specifying a directory, so as to ensure that the created unload log file does not cause a disk space shortage.
If an unload log file cannot be created in the specified directory because of a disk space shortage, the automatic log unloading facility stops. If this is a possibility, creation of multiple directories is recommended.
Note, however, that the database recovery operation of selecting the unload files needed for recovery is simplified somewhat when only one directory is used.
Also keep in mind the following when multiple directories are created:
  • It is recommended that directories be specified in different partitions to protect against disk errors.
  • If the unload log file cannot be created in a single directory because of a full disk or disk error, create an unload log file under a different directory. HiRDB uses the directories specified by this operand in the order of their specification.
Operand rules
  • Up to 128 directories can be specified.
  • When multiple directories are specified, the same path name cannot be specified.
Notes
  • The automatic log unloading facility cannot be used in the following cases:
    [Figure]N is specified in the pd_log_unload_check operand.
  • If two or more directories are created for unload log files and there is no empty directory when HiRDB starts normally, the automatic log unloading facility stops.
  • When a multi-HiRDB is being used, you must create a different directory for each HiRDB. Specifying the same directory for more than one HiRDB will make it impossible to determine which unload log file applies to which HiRDB.
34) pd_log_auto_unload_restart = Y | N
Specifies whether the automatic log unloading facility is to be restarted when the system log files are swapped following the issuance of a message indicating that the automatic log unloading facility stopped due to an error (message KFPS01150-E).
Y: Restart the automatic log unloading facility.
N: Do not restart the automatic log unloading facility.
Condition
The following two conditions must be satisfied:
  • Y is specified in the pd_log_unload_check operand or this operand is omitted.
  • The pd_log_auto_unload_path operand is specified.
Advantages
  • If Y is specified in this operand and a shortage of disk capacity occurs due to an increase the number of work files, or because the unload processing fails due to a temporary error such as a process creation error, HiRDB automatically restarts the unloading of system logs the next time the system log files are swapped.
  • If N is specified in this operand and the unload log files are set to be saved while the automatic log unloading facility is stopped due to an error, you can prevent the unload log files from being saved before the pdlogatul -t command is executed.
Specification guidelines
Normally, specify Y or omit this operand.
Specify N if you have already set HiRDB to monitor the automatic log unloading facility termination message (KFPS01150-E message) and restart the facility with the pdlogatul -b command.
Operand default value
If this operand is omitted, the value specified for the same operand in the server common definition takes effect. If the same operand is also omitted from the server common definition, Y is assumed.
35) pd_log_singleoperation = Y | N
This operand is applicable when dual system log files are used; it need not be specified when dual system log files are not used.
Specifies whether the single-operation mode is to be used for the system log files. Even if an error occurs in a system log file, making no dual system log files available, HiRDB (or a unit for a HiRDB/Parallel Server) can continue processing using the remaining single normal system log file without being abnormally terminated. This is called single operation of the system log files.
The mode in which continuation of processing is permitted only with both system log files available (normal operation mode) is called double operation of the system log files.
Y: Use single operation of the system log files.
N: Do not use single operation of the system log files. Both system log files must always be used.
Condition
This operand is valid only when pd_log_dual = Y is specified.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is N.
36) pd_log_rerun_reserved_file_open = Y | N
Specifies whether a system log file is to be opened automatically.
If no system log file that can be overwritten is available during a unit restart, HiRDB opens a reserved file (if one is available), makes it overwritable, and continues processing. This is called automatic opening of system log file.
A reserved file is used in the following cases:
  • Between the time of a restart and the time when the first synchronization point dump is collected
  • When none of the opened file groups can be overwritten
Y: Open a system log file automatically (open and use a reserved file).
N: Do not open a system log file automatically (do not use a reserved file).
Advantages
When Y is specified, the unit can be restarted as long as a reserved file is available, even though no file that can be swapped in is available during the unit restart.
However, if a file that is in unload wait status is available, the unit is stopped; once that file has been unloaded, the unit can be restarted.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is N.
37) pd_log_rerun_swap = Y | N
Specifies whether the system log files are to be swapped during a unit restart.
Y: Swap the system log files.
N: Do not swap the system log files.
Advantage
When Y is specified, there can be a physical separation between the system log files used before and after a restart. Therefore, the system log file that was being used before the restart can be reused during server operation.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is N.
38) pd_log_swap_timeout = wait-time-for-completion-of-system-log-file-swapping
~<unsigned integer>((1-32580)) (seconds)
Specifies in seconds the wait time during which swapping of system log files must be completed. If a swap of system log files is not completed within the specified amount of time, the unit terminates abnormally.
Specification guidelines
Normally, there is no need to specify this operand. If it takes a long time to swap system log files for a reason such as poor machine performance, you can specify this operand with a value that is greater than the default value. To detect errors or delays quickly during system log file swapping so that the unit can be terminated (such as because of a disk failure), reduce the value of this operand.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is 180.
39) pd_log_unload_check = Y | N
Specifies whether HiRDB is to check the unload status of system log files.
Y:
Check the unload status (normal operation).
N:
Do not check the unload status. A system log file is placed in swappable status, regardless of its unload status, when both of the following conditions are satisfied:
  • It is in overwritable status
  • It is in extraction completed status (HiRDB Datareplicator)
In such a case, the system log file operation method is to release checking of unload status. For details about this operation method, see the HiRDB Version 9 System Operation Guide.
Advantages
Specifying N provides the following advantages:
  • Operations are simplified because the system log file unload operation is eliminated.
  • It is not necessary to provide files for storing unload files.
Specification guideline
Specify N if the system log file will not be needed for database recovery (in other words, if recovery from a backup collection point will be sufficient).
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is Y.
Notes
The following points apply when N is specified:
  • Database can be recovered only if backups have been made.
  • If this option is specified when the system log file is required for database recovery, it will not be possible to recover the database.
40) pd_log_max_data_size = log-input/output-buffer-size
~<unsigned integer>((32000-523000)) (bytes)
Specifies in bytes the size of the buffer to be used for system log input/output operations.
Specification guideline
Specify a value that satisfies conditional expression 1 below. If uap is specified in the pd_rpl_reflect_mode operand or a recovery-unnecessary front-end server is used, specify a value that satisfies both conditional expressions below (1 and 2). To optimize the value, use the tuning method for the specification value.
Conditional expression 1: log input/output buffer length [Figure] a
a: 72 [Figure] (maximum number of back-end and dictionary servers that are targets for reference or update processing by a single transaction) + 1,344
Conditional expression 2: log input/output buffer length [Figure] b
b: (maximum number of back-end and dictionary servers that are targets for reference or update processing by a single transaction + 1) [Figure] 128 + 64
Tuning the specified value
A value (other than the default value) might need to be specified for this operand after the following types of statistics analysis utility statistical information related to system operation have been checked:
  • Number of buffer sectors waiting for input/output (# OF BUFFER FOR WAIT I/O)
    If the average number of buffer sectors waiting for input/output significantly exceeds 100, increase the value for this operand so that the average approaches 100.
  • Number of waits caused by lack of a current buffer (# OF WAIT THREAD)
    If the number of waits caused by lack of a current buffer is not 0, increase the value for this operand.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is 400000. (However, if v6compatible or v7compatible has been specified in the pd_sysdef_default_option operand, the default is 32000.)
Notes
The specification of this operand affects the response and throughput of SQL code executed by a transaction. When a small value is specified, writing to system log files occurs frequently, which might result in deterioration of performance.
Relationship to other operands
Use this operand and the pd_log_write_buff_count operand to determine the log I/O buffer size.
41) pd_log_write_buff_count = log-output-buffer-sectors-count
~<unsigned integer>((3-65000))
Specifies the number of buffer sectors to be used for system log output.
Tuning the specified value
Specify 10 (the default) for this operand initially. Thereafter, use a statistics analysis utility to obtain statistical information related to system operation to check the number of waits caused by a shortage of current buffer space (# OF WAIT THREAD). If the number of waits is high, specify a larger value in order to improve throughput.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is 10. (However, if v6compatible or v7compatible has been specified in the pd_sysdef_default_option operand, the default is 3.)
Notes
If a small value is specified in this operand and the number of transactions is high, multiple transactions might be waiting for system log output, lowering system performance.
Relationship to other operands
Use this operand and the pd_log_max_data_size operand to determine the log output buffer sector count.
42) pd_log_rec_leng = system-log-file-record-length
~<unsigned integer>((1024, 2048, 4096)) (bytes)
Specifies the record length for the system log files; the specifiable values are 1024, 2048, and 4096.
Specify the record length specified in the -l option of the pdloginit command for this operand.
Specification guidelines
Specify the record length based on the guidelines for designing the record length of system log files. For details about the guidelines for designing the record length of system log files, see Record length of a system log file in the HiRDB Version 9 Installation and Design Guide.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is 4096.
Notes
  • If a value that is different from the record length specified by the -l option of the pdloginit command is specified for this operand, system log files cannot be opened.
  • For details about how to modify the system log file record length, see the HiRDB Version 9 System Operation Guide.
43) pd_log_rollback_buff_count = rollback-log-input-buffer-sector-count
~<unsigned integer>((0-256))
Specifies the number of buffer sectors to be used for system log input during rollback processing. When 0 is specified in this operand, HiRDB determines the number of rollback log input buffer sectors.
Specification guidelines
  • We recommend that you specify 0 in this operand, in which case HiRDB will calculate an appropriate value automatically.
  • If the specified value is too small, concurrent execution of rollbacks might be slowed. If the specified value is too large, the unit controller might use more shared memory than is necessary.
Tuning the specified value
Specify 0 in this operand. If specifying 0 leads to memory shortages, do not specify this operand.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed. When the same operand is also omitted in the server common definition, the default is the appropriate value shown below:
  • Standby-less system switchover (1:1) facility is used in the unit
    Number of alternate back-end servers[Figure] 2
  • Standby-less system switchover (effects distributed) facility is used in the unit
    (Number of host back-end servers + value of pd_ha_max_act_guest_servers) [Figure] 2
  • All other cases
    Number of servers in the unit[Figure] 2
Effects on individual estimation formulas
If the value of the pd_log_rollback_buff_count operand is changed, the following estimation formula is affected:
HiRDB Version 9 Installation and Design Guide:
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
44) pd_log_auto_expand_size = extension-amount-per-system-log-file-extension-trigger[,extension-limit]
~<unsigned integer>((0-104857600))<<0,0>>(records)
Specify this operand when the system log file automatic extension facility is used.
Specifies the number of records to be added to the system log file for each extension trigger and an upper limit for extending file size.
For details about the system log file automatic extension facility, see the HiRDB Version 9 System Operation Guide.
Condition
Y must be specified in the pd_large_file_use operand or specification of this operand must be omitted.
Specification guidelines
  • Specify in this operand the amount to be added per trigger based on the number of records specified when the system log file was created with the -n option of the pdloginit command. Determine 10 percent of the average number of records for all system log files and specify that value.
    [Figure]In the case of a BES that uses the standby-less system switchover (1:1) facility, determine 10 percent of the average value including the system log files of the alternate BES and specify that value.
    [Figure]In the case of a BES that uses the standby-less system switchover (effects distributed) facility, determine 10 percent of the average value including the system log files of the guest BES and specify that value.
  • Normally, an extension limit is omitted.
Tuning the specified value
If the system log output volume exceeds the expanded size after automatic extension, the system log file could become full, resulting in a unitdown. In such a case, increase the specified value (number of records to be added per trigger). If extension processing requires so much time that it affects transaction performance, specify a smaller value.
Operand default
When this operand is omitted, the specification of the same operand in the server common definition is assumed.