付録D.2 組み込みDBプロセス
- 〈この項の構成〉
(1) 組み込みDBプロセスの種類
組み込みDBのプロセスについて,次に説明します。
(a) 組み込みDBプロセス管理プロセス(pdprcdプロセス)
Windowsの場合,組み込みDBサービスを開始するとpdprcdプロセスが生成され,組み込みDBサービスを停止するとpdprcdプロセスが消滅します。組み込みDBサービスを停止しないでajsembdbstopコマンドで組み込みDBシステムを停止した場合,pdprcdプロセスは消滅しないため,OS上に常駐したままになります。
UNIXの場合,ajsembdbstartコマンドで組み込みDBを開始するとpdprcdプロセスが生成されます。ajsembdbstopコマンドで組み込みDBシステムを停止するとpdprcdプロセスが消滅します。
(b) 組み込みDBシステムの稼働中にOS上に存在するプロセス
組み込みDBシステムを開始すると,pdprcdプロセスが子プロセスを生成します。これらのプロセスは,組み込みDBシステムの稼働中,OS上に存在してデータベースアクセスを制御します。組み込みDBを停止すると,OS上から消滅します。
(c) 組み込みDB操作コマンドプロセス
組み込みDB操作コマンドを実行すると,必要な処理を実行するためのプロセスが生成されます。これらのプロセスは,処理が終了したら,直ちに消滅します。
組み込みDB操作コマンドには,組み込みDBシステムが稼働中にだけ実行できるものと,稼働状態に関係なく実行できるものとがあります。
(2) 組み込みDBプロセスの状態遷移
組み込みDBシステムの動作に伴う,組み込みDBプロセスの動作を次の図に示します。
組み込みDBプロセスの動作について,次に説明します。
(a) 生成
UNIXの場合,pdprcdプロセスはajsembdbstartコマンドによって生成されます。
Windowsの場合,pdprcdプロセスは組み込みDBサービスによって生成されます。
pdprcdプロセス以外のプロセスは,pdprcdプロセスまたは実行された組み込みDB操作コマンドによって生成されます。
(b) 正常終了
組み込みDBプロセスは,存在理由がなくなると,使用した資源(メモリー,ファイルなど)の削除などのあと始末処理を実行したあと,OS上から消滅します。これを正常終了と呼びます。
正常終了のことを「正常停止」と記載することもあります。
(c) 強制終了
組み込みDBプロセスが正常終了する契機でなくても,発生している要求を満たすために,組み込みDBプロセスを直ちに終了させる必要がある場合があります。この場合,pdprcdプロセスが,各組み込みDBプロセスに対して即時終了要求を送信します。それを受けた組み込みDBプロセスは,あと始末処理をしないで直ちに終了します。これを,強制終了と呼びます。
組み込みDBプロセスが強制終了すると,あと始末処理をする専用の組み込みDBプロセスが起動し,強制終了した組み込みDBプロセスの代わりにあと始末処理を実行します。
強制終了は,主に次のような契機で発生します。
-
組み込みDBシステムの強制停止(ajsembdbstopコマンド-fオプション指定)
-
組み込みDB操作コマンドの中断(ajsembdbcancelコマンド)
強制終了のことを「強制停止」と記載することもあります。
(d) 異常終了
組み込みDBプロセスは,稼働を続行できないような障害が発生すると,あと始末処理をしないでOS上から消滅します。これを異常終了と呼びます。
組み込みDBプロセスが異常終了すると,あと始末処理をする専用の組み込みDBプロセスが起動し,異常終了した組み込みDBプロセスの代わりにあと始末処理を実行します。さらに,異常終了した状況が致命的で,組み込みDBシステム全体の稼働が続行できないと判断された場合には,組み込みDBシステムを異常終了させます。
異常終了は,主に次のような契機で発生します。
-
上書きできるシステムログがないことの検知
-
メモリー不足やディスク容量満杯などによる稼働続行不可の検知
-
メモリー破壊などの矛盾の検知