Nonstop Database, HiRDB Version 9 Command Reference
(1) Function
Checks the contents of system definitions that are required in order to start HiRDB.
If there is an error in the system definitions, the command displays the erroneous definition along with the details.
(2) Executor
(3) Format
pdconfchk [-d subdirectory-name] [-n] [-l] [-u unit-identifier]
|
(4) Option
(a) -d subdirectory-name ~<path name>
Specifies the subdirectory that contains the HiRDB system definition file to be checked, expressed as a path name relative to $PDDIR/conf or $PDCONFPATH. $PDDIR/conf is the directory that contains unit control information definition files. $PDCONFPATH is the directory that contains other HiRDB system definition files.
The following table shows the locations of the HiRDB system definition files that can be checked:
Type of HiRDB system definition file |
-d option specified |
-d option omitted |
Unit control information definition file |
$PDDIR/conf/subdirectory/ |
$PDDIR/conf/ |
Other file |
$PDCONFPATH/subdirectory/ |
$PDCONFPATH/ |
- Criteria
- Before changing the HiRDB system definitions for the current environment, you should save the new HiRDB system definitions in a subdirectory and check them. This enables you to check the modified HiRDB system definitions before proceeding.
- Rules
- Create in advance the subdirectory that will be specified.
- Store in the subdirectory not only the modified HiRDB system definition file but all HiRDB system definition files.
- For a HiRDB single server configuration, the same path name is set in $PDDIR/conf and $PDCONFPATH.
- For a HiRDB parallel server configuration, the path name pointed to by $PDDIR/conf and $PDCONFPATH may be different (for example, when the HiRDB system definition file is shared). In this case, create a subdirectory with the same name on both paths.
If the $PDDIR/conf and $PDCONFPATH settings are different for each unit, create the subdirectory under $PDDIR/conf and $PDCONFPATH and then store the HiRDB system definition files in the subdirectories.
- The maximum lengths of $PDDIR/conf/subdirectory and $PDCONFPATH/subdirectory are 220 bytes. Make sure that the name does not exceed 220 bytes.
- To check the system definitions that are to be changed by the pdchgconf command, store the new system definition files in $PDDIR/conf/chgconf and then specify -d chgconf when you execute the pdconfchk command.
- Because definitions are checked in the primary system when the system switchover facility is used, subdirectories that you create must be in the primary system. Note also that you must switch all running units to the primary units before you execute the pdconfchk command. If the unit containing the system manager is offline, execute the pdconfchk -d command on the unit that contains the system manager for the primary system.
- For a HiRDB single server configuration, the following operand values in the HiRDB system definition file under subdirectories must match the operand values under $PDDIR/conf or $PDCONFPATH:
Host name specified in the -x option of the pdunit operand
Host name specified in the pd_hostname operand
- For a HiRDB parallel server configuration, the following operand values in the HiRDB system definition file under subdirectories must match the operand values under $PDDIR/conf or $PDCONFPATH:
Host name specified in the -x option of the pdunit operand on the unit that contains the system manager
Host name specified in the pd_hostname operand on the unit that contains the system manager
Specifies that checking of the system files and access permissions is to be skipped. Use this option when the system files have not been created by the pdfmkfs or pdloginit command.
When Real Time SAN Replication based on the log-only synchronous method is used, this option specifies that the status file for log application processing and the synchronization point dump file for log application processing, which are required for log application processing, are to be included as targets for system file checking as well as for access privilege checking.
The -l option can be specified only when all of the conditions listed below are satisfied; if any of these conditions is not satisfied, the pdconfchk command terminates with an error:
- Y is specified in the pd_rise_use operand in the system definition.
- syssync is specified in the pd_rise_pairvolume_combination operand in the system definition.
- data or never is specified in the pd_rise_fence_level operand in the system definition.
(d) -u unit-identifier ~<identifier> ((4 characters))
This option is applicable to a HiRDB parallel server configuration only.
Specifies a specific unit that is to be checked. When this option is specified, the command checks the definitions for the unit specified in this option and for the unit where the system manager is located.
- Rules
- This option can be executed at the server machine where the system manager is located.
- If the unit containing the system manager is specified in this option, checking between server machines is not performed.
(5) Information subject to checking
- Syntax checking
The command outputs the result of syntax checking to the standard output and standard error output.
- Checking for system files
The command checks for any system log file, synchronization point dump file, or status file.
- Checking for access privilege
The command checks the following:
- Whether the HiRDB administrator can access HiRDB files
- Whether the HiRDB administrator can access the hosts file
- Whether there is a directory specified in the pd_tmp_directory operand in the system definition and whether the HiRDB administrator can access that directory
If the pd_tmp_directory operand is omitted, this checking is not performed.
- Checking for duplicated system files
The command checks the system log files, synchronization point dump files, and status files for any duplication.
The command checks to see if the host names are specified in the HOSTS file.
- Checking between server machines (applicable to a HiRDB parallel server configuration)
The command checks between server machines based on the system manager's server machine.
For details about the operands in the system definition that can be checked by the pdconfchk command, see Operands Checked by the pdconfchk Command in the manual HiRDB Version 9 System Definition.
- You can execute the pdconfchk command whether or not HiRDB is active.
- You can execute the pdconfchk command on the server machine containing the single server or the server machine where the system manager is located.
- When the command terminates normally, it displays KFPS05007-I return code=0 and then terminates. When the command does not terminate normally, it displays a message indicating the cause of the error before it displays termination message KFPS05007-I return code=4 (warning) or KFPS05007-I return code=8 (error).
- During checking between server machines, the command ignores any comment section (any text following *) or any comment line.
- If the command detects an error during checking between server machines, check the contents of the system definitions in the server machine where the system manager is located. There may be an error in the system definitions in this server machine.
- During checking between server machines, the command ignores any tab or space that follows a definition statement. Tabs and spaces preceding a definition statement are subject to checking.
- During checking between server machines, if the order of definitions does not match between system manager definitions and other definitions, the command treats some of the definitions with a wrong sequence as errors.
- Example:
- System manager definitions Other definitions
- A B
- B A
The command treats system manager definition B and other definition B as different definitions.
- If the pdconfchk command displays the KFPY01012-E message, the command may terminate with KFPS05007-I return code=0. In this case, eliminate the cause of the error.
- When execution of the pdconfchk command results in the KFPS05062-W message, the pdconfchk command terminates with KFPS05007-I (return code 0).
- Even when the pdconfchk command's execution was successful, the KFPO00107-E message may be displayed. To determine the result of definition checking by the pdconfchk command, check the KFPS05007-I message.
- When the system switchover facility is being used, the system to be checked by the pdconfchk command depends on specification of the -d option.
- When an option other than -d is specified:
- The running system is checked. However, if the HiRDB system is stopped or the running system cannot be identified because of an error (including a definition error), the primary system is checked.
- When the -d option is specified:
- The primary system is checked.
<Checking for system files or access privilege>
[aa...a]
bbbb cc...c dd...d ee...e
<Checking for duplicate system files>
[aa...a]
bbbb cc...c dd...d ee...e
bbbb cc...c dd...d ee...e
<Checking for hosts>
[aa...a]
bbbb cc...c dd...d ff...f
<Checking between server machines (applicable to a HiRDB parallel server configuration)>
[aa...a]
<gggg:hhhh>
gggg; cc...c; line = iii <- hhhh; cc...c; nothing
gggg; cc...c; nothing -> hhhh; cc...c; line = iii
|
- Explanation
- aa...a
- Type of error detected in the checked item:
- File not found
- File was not found. Possible reasons:
- The specified path name contains invalid characters.
- The HiRDB file name is too long (more than 30 characters).
- Directory not found:
- Directory was not found. Possible reasons:
- The specified path name contains invalid characters.
- The directory specified in the pd_tmp_directory operand in the system definition was not found.
- File invalid
- File is invalid.
- Directory invalid:
- Directory is invalid. If you have specified the root directory (/), specify another directory.
- No Permission
- There is no permission. For the directory specified in the pd_tmp_directory operand in the system definition, the command checks for 777.
- Duplicate filename
- File name is duplicated.
- Hosts name not matched
- Host name does not match.
- Different definition
- Definitions do not match between the system manager unit and non-system manager unit.
- bbbb
- Unit identifier
- cc...c
- Name of the system definition file
- dd...d
- Operand specification
- ee...e
- File name specified in the operand shown as dd...d (absolute pathname)
- ff...f
- Defined host name if dd...d is pdstart, pdunit, or pd_hostname
- gggg
- Identifier of the unit that contains the system manager
- hhhh
- Identifier of the unit that contains other than the system manager
- iii
- Line number in the system definition file
- Output example
[File not found]
unt1 pdutsys pd_syssts_file_name_1
/dev/rdsys011/ut1sts1a ...1
[File invalid]
unt1 pdutsys pd_syssts_file_name_3
/users/yyy/pddir ...2
[No permission]
unt1 bes1 pd_sts_file_name_1
/dev/rdsys011/bes1sts1a ...3
[Duplicate filename]
unt1 fes1 pdlogadpf -d sys -g fes1log1 -a
/dev/rdsys011/fes1log1 ...4
unt1 fes1 pdlogadpf -d sys -g fes1log1 -b
/dev/rdsys011/fes1log1 ...4
unt1 bes1 pdlogadpf -d spd -g bes1spd1 -a
/dev/rdsys011/fes1log1 ...4
[Hosts name not matched]
unt1 pdsys pdstart -x
dcm3500 ...5
[Different definition]
<unt1:unt2>
unt1 pdsys line = 2 -> unt2 pdsys
nothing ...6
unt1 pdsys nothing <- unt2 pdsys
line = 5 ...7
|
- Explanation
- The file that was specified in the pd_syssts_file_name_1 operand for pdutsys on unt1 was not found.
- The file specified in the pd_syssts_file_name_3 operand for pdutsys on unt1 is invalid.
- There is no access privilege for the file specified in the pd_sts_file_name_1 operand for bes1 on unt1.
- The file name specified in the pdlogadpf -d sys -g fes1log1 -a operand for fes1 on unt1 is the same as the following file names:
- File name specified in the pdlogadpf -d sys -g fes1log1 -b operand for fes1 on unt1
- File name specified in the pdlogadpf -d spd -g bes1spd1 -a operand for bes1 on unt1
- Host name for unt1 does not match the host name specified in the pdstart -x dcm3500 operand for pdsys on unt1.
- Definition in line 2 for pdsys on unt1 is not found in pdsys on unt2.
- Definition in line 5 for pdsys on unt1 is not found in pdsys on unt1.
This example changes system definitions of the current HiRDB parallel server configuration (consisting of units 1 and 2). The HiRDB system definition file to be changed is pdsvrc on unit 1.
- Creates the subdirectory chk under $PDDIR/conf and $PDCONFPATH on units 1 and 2.
- Copies pdutsys from $PDDIR/conf to $PDDIR/conf/chk/ on each unit.
- Copies the HiRDB system definition files from $PDCONFPATH to $PDCONFPATH/chk/ on each unit.
- Changes the definitions in $PDCONFPATH/chk/pdsvrc on unit 1.
- Executes pdconfchk -d chk.#
- Assuming there are no problems with the definitions, this example uses the pdstop command to execute normal termination or planned termination of HiRDB. Note that in the case of planned termination, some definitions cannot be changed.
- Uses the pdlogunld command to unload the system log file in unload wait status.
- Copies the HiRDB system definition file changed in step 4 to $PDCONFPATH.
- Uses the pdstart command to start HiRDB normally.
- #: During execution of pdconfchk -d chk, the HiRDB system definition files are checked at the following locations:
All Rights Reserved. Copyright (C) 2011, 2015, Hitachi, Ltd.