付録D.3 組み込みDBシステム
組み込みDBシステムの状態遷移について,次の図に示します。
図中の組み込みDBシステムの永続的な状態および過渡的な状態については「(1) 組み込みDBシステムの状態」で,組み込みDBシステムの事象については「(2) 組み込みDBシステムの事象」でそれぞれ説明します。
- 〈この項の構成〉
(1) 組み込みDBシステムの状態
図D-3の,永続的な状態および過渡的な状態について説明します。
組み込みDBシステムの状態は,ajsembdbstatusコマンドに-sオプションを指定して確認できます。図D-3中の永続的な状態および過渡的な状態にある括弧内の文字列は,ajsembdbstatusコマンドに-sオプションを指定して表示される「UNIT-STAT」欄の値に対応しています。
(a) 停止状態(STOP)
OS上に,pdprcdプロセス以外の組み込みDBプロセスがない状態を「停止状態」と呼びます。ただし,Windowsの場合,組み込みDBサービスを開始させていないときは,pdprcdプロセスも存在しません。
この状態のとき,スケジューラーデータベースにはアクセスできません。
(b) 開始途中(STARTING)
「停止状態」から「稼働状態」へ遷移する過程の状態を「開始途中」と呼びます。組み込みDBプロセスは順次起動中で,各プロセスは稼働するための準備処理を実行中です。「開始途中」は過渡的な状態で,この状態にとどまることはありません。
この状態のとき,スケジューラーデータベースにはアクセスできません。
(c) 稼働状態(ONLINE)
pdprcdプロセスの子プロセスがすべて起動完了し,初期化処理を完了した時点で,組み込みDBはデータベースアクセス処理を受け付けられる状態になります。この状態を「稼働状態」と呼びます。
スケジューラーデータベースにアクセスできるのは,この状態のときだけです。
(d) 停止途中(STOPPING)
正常停止の場合に,「稼働状態」から「停止状態」へ遷移する過程の状態を「停止途中」と呼びます。組み込みDBのプロセスは順次停止中で,各プロセスは停止するための準備処理を実行中です。「停止途中」は過渡的な状態で,この状態にとどまることはありません。
なお,強制停止および異常終了の場合は,この状態を経由しません。
この状態のとき,スケジューラーデータベースにはアクセスできません。
(e) 再起動中断状態(PAUSE)
障害が発生した場合にだけ発生する状態に「再起動中断状態」があります。
UNIXで,組み込みDBに障害が頻発(30分※以内に連続3回※)すると,この状態になります。Windowsで同様の状況が発生した場合は,「停止状態」になります。
停止状態と同様に,pdprcdプロセス以外のプロセスはOS上にありません。
この状態になると,組み込みDBシステム管理者が障害を除去し,除去したことを明示(ajsembdbstartコマンドの-Rオプション指定)するまでは,再起動しても開始できません。
この状態のとき,スケジューラーデータベースにはアクセスできません。
- 注※
-
固定値です。変更できません。
(2) 組み込みDBシステムの事象
組み込みDBシステムの状態遷移には,組み込みDBシステム管理者が実行する組み込みDB操作コマンドによって発生する事象と,組み込みDBシステムによって自動的に発生する事象があります。
図D-3の,事象について次に説明します。
(a) 正常開始・再開始
停止状態の組み込みDBシステムを開始すると,開始途中状態を経て,稼働状態に遷移します。
環境構築直後,または正常停止後の開始を正常開始と呼びます。
強制停止後,または異常終了後の開始を再開始と呼びます。
(b) 正常停止
稼働状態の組み込みDBシステムを正常停止すると,停止途中状態を経て,停止状態に遷移します。
正常停止のことを「正常終了」と記載することもあります。
(c) 強制停止
稼働状態の組み込みDBシステムを強制停止すると,停止途中状態を経由しないで,停止状態に遷移します。
強制停止のことを「強制終了」と記載することもあります。
(d) 異常終了
稼働状態の組み込みDBシステムで何らかの障害が発生すると,組み込みDBシステムは,被害拡大を防ぐために,停止状態または再起動中断状態に遷移します。これを異常終了と呼びます。
具体的には,pdprcdプロセスが,ほかの組み込みDBプロセスをすべて強制終了させます。通常,異常終了すると停止状態に遷移します。ただし,30分※以内に3回※連続で異常終了すると,再起動中断状態に遷移します。
- 注※
-
固定値です。変更できません。
異常終了は,主に次のような契機で発生します。
-
上書きできるシステムログがないことの検知
-
メモリー不足やディスク容量満杯などによる稼働続行不可の検知
-
ディスク上のシステム領域破壊の検知
(e) 障害除去後開始
再起動中断状態の組み込みDBシステムに対して障害を除去したあと,ajsembdbstartコマンドに-Rオプションを指定して実行すると,開始途中状態を経て稼働状態に遷移します。この操作を,障害除去後開始と呼びます。この操作は,UNIXの場合にだけ発生します。