D.2 Embedded database processes
- Organization of this subsection
(1) Types of embedded database processes
The following explains the types of embedded database processes.
(a) Process that manages embedded database processes (pdprcd process)
In Windows, the pdprcd process is generated when the embedded database service is started, and disappears when the service is stopped. If the ajsembdbstop command is used to stop the embedded database system, the pdprcd process remains resident on the OS. It does not disappear.
In UNIX, the pdprcd process is generated when the embedded database is started by the ajsembdbstart command, and disappears when the embedded database system is stopped by the ajsembdbstop command.
(b) Processes existing on the OS while the embedded database system is operating
When the embedded database system is started, the pdprcd process generates child processes. These processes reside on the OS to control database access while the embedded database system is operating. When the embedded database is stopped, these processes disappear from the OS.
(c) Processes for the embedded database operation commands
Every time an embedded database operation command is executed, processes for executing necessary processing are generated. These processes disappear immediately after the processing terminates.
Some embedded database operation commands can only be executed while the embedded database system is operating, and the other embedded database operation commands can be executed anytime, regardless of the operating status of the embedded database system.
(2) Status transitions of the embedded database processes
The following figure shows how the status of an embedded database process changes according to the operating status of the embedded database system.
|
The following explains the operating statuses of embedded database processes.
(a) Generation
In UNIX, the pdprcd process is generated by the ajsembdbstart command.
In Windows, the pdprcd process is generated by the embedded database service.
Processes other than the pdprcd process are generated by the pdprcd process or embedded database operation commands that are executed.
(b) Normal termination
When an embedded database process no longer has a reason to exist, it performs cleanup processing such as releasing or deleting resources (such as memory, or files), and then disappears from the OS. The status that results is called normal termination.
Normal termination is sometimes called normal stop in this manual.
(c) Forced termination
Before an embedded database process can terminate normally, it might have to be terminated immediately in order to fulfill a request. In this case, the pdprcd process sends an immediate termination request to the embedded database process. Upon receiving the request, the embedded database process terminates immediately without performing any cleanup processing. The resulting status in this case is called forced termination.
When an embedded database process is forcibly terminated, an embedded database process that performs cleanup processing in place of the forcibly terminated process is started.
Forced termination occurs in the following cases:
-
When the embedded database system is forcibly terminated (ajsembdbstop command -f option)
-
When execution of an embedded database operation command is canceled (ajsembdbcancel command)
Forced termination is sometimes called forced stop in this manual.
(d) Abnormal termination
If an error prevents an embedded database process from continuing operation, the process disappears from the OS without performing any cleanup processing. The resulting status in this case is called abnormal termination.
When an embedded database process is abnormally terminated, an embedded database process that performs cleanup processing in place of the abnormally terminated process is started. If the situation in which abnormal termination occurred is judged too serious for operation of the entire embedded database system to continue, the cleanup process abnormally terminates the embedded database system.
Abnormal termination occurs in the following cases:
-
When a system log file that can be overwritten does not exist
-
When the system cannot continue operation due to insufficient memory or disk space
-
When a contradiction resulting from damage to memory or a similar cause is detected