Nonstop Database, HiRDB Version 9 System Operation Guide

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

Appendix A.6 HiRDB startup

Organization of this subsection
(1) HiRDB startup is slow
(2) The pdstart command resulted in an error (reason code=TIMEOUT)
(3) The pdstart command resulted in an error (RETURN_CODE=28)
(4) The pdstart command resulted in an error (reason code=SETUP)
(5) The pdstart command was invalidated
(6) A unit cannot be started with the pdstart command
(7) There is no response from the pdstart command
(8) A server in a HiRDB parallel server configuration will not start
(9) A unit other than the system manager unit will not start
(10) The front-end server is in SUSPEND status
(11) Is it possible to start HiRDB automatically?
(12) The pdstart command was specified in /etc/localrc, but it resulted in an error
(13) When I closed the window used to enter the pdstart command, HiRDB terminated abnormally

(1) HiRDB startup is slow

Question
Why does it take so much time (1 to 2 hours) for all units to start?
When the pdstart command was executed, the KFPS05078-I message was issued.

Answer
Check the following:
  1. If the KFPS00608-W message (-314) is output more than once, check that the same host name is specified in the pdunit and pdstart operands for all units and that the specified host name is correct (name of the existing host).
  2. Check that all hosts used by HiRDB and the network have started.

(2) The pdstart command resulted in an error (reason code=TIMEOUT)

Question
The pdstart command resulted in an error with the KFPS01861-E message (reason code=TIMEOUT). Why has this happened?

Answer
Cause
The following are possible reasons:
  1. It took more time to start up a unit than expected.
  2. There is an error in the server common definition or an individual server definition.
Action
Take the following actions:
  1. Increase the value specified in the pd_start_time_out operand, then re-enter the pdstart command.
  2. Check the messages HiRDB has output to syslogfile and correct any incorrect definitions that were detected. Then use the pdsetup -d command (enter y at the KFPS00036-Q prompt message) to delete HiRDB from the operating system and re-execute the pdsetup command.

(3) The pdstart command resulted in an error (RETURN_CODE=28)

Question
The pdstart command resulted in an error, setting RETURN_CODE=28 for a semaphore-related function such as semctl and semop. What causes this error?

Answer
The problem was caused by a resource shortage. Change the OS's operating system parameter to the value required by HiRDB. Note that the default value of the operating system parameter is smaller than the value required by HiRDB.
If the pdstart command ends with a timeout error, there might be a semaphore or shared memory shortage. For details about the operating system value required by HiRDB, see the HiRDB Version 9 Installation and Design Guide.
If the operating system parameter value is appropriate, increase the value of the pd_start_time_out operand, and then re-execute the pdstart command.

(4) The pdstart command resulted in an error (reason code=SETUP)

Question
The pdstart command resulted in an error and the KFPS01801-E message was issued (reason code=SETUP). Why?

Answer
Cause
The following are possible reasons:
  1. The HiRDB directory specified in the PDDIR environment variable was not registered into the OS with the pdsetup command.
  2. The process server process cannot start due to a kernel semaphore shortage.
Action
Take the following actions:
  1. Use the pdsetup command to register the HiRDB directory into the OS.
  2. Increase the number of semaphores used, which is defined by the system. Note that you must reboot the OS in order for the new value to take effect.
    Reference note
    This event might also occur immediately after OS booting or when another program registered in inittab is placed in response wait status.

(5) The pdstart command was invalidated

Question
The pdstart command had no effect. Why?

Answer
Some error might have prevented the HiRDB server process from starting.
Investigate the cause of the error by checking the message log ($PDDIR/spool/pdlog1 or pdlog2) and take appropriate action. If the cause of the error cannot be determined from the message log, check the details in the HiRDB message output to syslogfile, and take appropriate action.

(6) A unit cannot be started with the pdstart command

Question
When I executed pdstart, the KFPS01815-E message (errno=11,13,22) was displayed indicating that semaphore manipulation (semop, semctl) failed. What happened?

Answer
Cause
The following are possible reasons:
  1. HiRDB has not been installed on that machine.
  2. HiRDB was not registered in the OS with the pdsetup command.
  3. The installation directory is linked to a shared disk.
Action
Take the following actions:
  1. Reboot the server machine, then execute the pdsetup -d command to delete HiRDB from the OS. Then re-execute the pdsetup command.
  2. If HiRDB is installed on the server machine, execute the pdsetup command.
  3. Create the installation directory on the local server machine's local disk.

(7) There is no response from the pdstart command

Question
Why is there no response from the pdstart command?

Answer
  1. Is the front-end server in SUSPEND status?
    If it is not in SUSPEND status, check for another cause. If it is in SUSPEND status, execute ps -ef or grep fesact at the host where the front-end server is started. for multiple front-end servers, execute it at all those hosts.
  2. Is there more than one fesact process?
    If not, check for another cause. If there is, an error might have occurred in the network. Use the pdstop -f command to forcibly terminate HiRDB.
    Contact the network administrator for error recovery.

(8) A server in a HiRDB parallel server configuration will not start

Question
The system manager unit terminated abnormally, and only that unit was restarted. Now, HiRDB startup cannot be completed.

Answer
Abnormal termination of the system manager unit might have caused abnormal termination of another unit. Use the pdls command to determine the units that are not active.

(9) A unit other than the system manager unit will not start

Question
The pdstart command was entered, but a unit other than the system manager unit will not start. Why?
When ps -ef was checked on the unit other than the system manager unit, there was only pdprcd. HiRDB's other processes have not started.

Answer
Check the system common definition for the unit that would not start. The value specified for the pdunit or pdstart operand might not match the information in the system common definition for the server machine where the system manager is located.
Correct the system common definition for the unit resulting in the startup error, then start the unit again with pdstart -u.

(10) The front-end server is in SUSPEND status

Question
When the front-end server unit or the front-end server was started independently, the front-end server was placed in SUSPEND status. How can I place it in ACTIVE status?

Answer
If the front-end server unit or the front-end server is started while the dictionary server is shut down, the status is set to SUSPEND. In such a case, start the dictionary server, then execute pdstart -a -s front-end-server-identifier.

(11) Is it possible to start HiRDB automatically?

Question
  1. Is it possible for HiRDB to be started and terminated automatically when the OS is started and terminated?
  2. pdstart was specified in /etc/localrc in order to start HiRDB when the OS was started, but this did not work. Why?
  3. pdstop was specified in /etc/localshutrc in the same manner. Why didn't this work?

Answer
  1. To start HiRDB when the OS starts, specify AUTO in the pd_mode_conf operand.
  2. Currently, there is no way to terminate HiRDB automatically when the OS terminates. Execute the pdstop command and check that HiRDB has terminated normally, then terminate the OS.
  3. Neither the pdstart nor the pdstop command can be specified in the OS's /etc/localrc or /etc/localshutrc environment file. When the OS starts, /etc/localrc is started in the /etc/rc phase. However, since HiRDB's process server process (_prc) has not started at that time, the pdstart command cannot yet be accepted. If the pdstart command is specified in /etc/localrc, the command terminates abnormally. To start HiRDB when the OS is started, specify AUTO in the pd_mode_conf operand. Furthermore, /etc/localshutrc is started in the extension of the shutdown command when the OS's execution level is 0 and HiRDB's process server process has already disappeared. If the pdstop command is specified in /etc/localshutrc, the command results in an error and HiRDB has to be restarted.

(12) The pdstart command was specified in /etc/localrc, but it resulted in an error

Question
  • The pdstart command was specified in /etc/localrc, but it resulted in an error.
  • The pdstart command was executed using the HA monitor's interface, but it resulted in an error.
  • The pdstart command resulted in an error when it was executed after OS bootup followed by remote login.

Answer
HiRDB operation becomes available near the end of OS bootup processing. Therefore, HiRDB cannot be started by specifying the pdstart command in /etc/localrc. The pdstart command must be executed after the process server process has started.
Action 1
Do not execute the pdstart command immediately after OS bootup. For example, use the following procedure to execute the pdstart command:
Procedure:
  1. Ensure that pdprcd is active:
    ps -ef | grep $PDDIR/lib/servers/pdprcd
  2. Wait a few seconds (wait for the process server process startup to be completed).
  3. Execute the pdstart command.
Action 2
Automatic startup of HiRDB should be employed. To start HiRDB automatically, specify pd_mode_conf=AUTO. When this is specified, HiRDB starts automatically at the completion of OS bootup (there is no need to enter the pdstart command).

(13) When I closed the window used to enter the pdstart command, HiRDB terminated abnormally

Question
I entered the pdstart command but there was no response from the command. Therefore, I closed the window used to enter the pdstart command. HiRDB terminated abnormally immediately after this. Why?

Answer
If the pdstart command is stopped forcibly, conformity cannot be maintained in the shared resources, resulting in abnormal termination of HiRDB. Similarly, if the window is closed while waiting for a response from the pdstart command, HiRDB terminates abnormally.
Do not close the window used to enter the pdstart command until the command has terminated. This also applies to all other operation commands and utilities; do not close the corresponding window during execution or while waiting for a response.