状態遷移プロシジャから呼び出されて、作業用ファイルの削除や共用バッファの開設を行うためのプロシジャを、サブプロシジャと呼びます。
サブプロシジャには、以下の3種類があります。
サブプロシジャ名 | 処理内容 | サンプルプロシジャのファイル名 |
---|---|---|
作業用ファイルの削除用サブプロシジャ | 動作環境ファイルのWORK_PATHで指定した作業用ディレクトリの作業用ファイルの削除 | RDBのインストールディレクトリ\rdbhs\demo\HSPROC_RM_WORK.BAT |
プレオープンするDSI用サブプロシジャ(ホットスタンバイ機能のみ) | DSIごとに、以下のどちらかの処理を行う。
| RDBのインストールディレクトリ\rdbhs\demo\HSPROC_WAIT_CONBF.BAT |
プレオープンしないDSI用サブプロシジャ | DSIごとに、以下のどちらかの処理を行う。
| RDBのインストールディレクトリ\rdbhs\demo\HSPROC_RUN_CONBF.BAT |
作業用ファイルの削除、共用バッファの開設、DSIのメモリ常駐化を行いたい場合は、サブプロシジャの登録を行ってください。
サブプロシジャの登録は、サンプルプロシジャを以下のディレクトリ配下に複写することにより行われます。複写したファイルは、環境にあわせて修正してください。
運用形態 | 複写先ディレクトリ名 |
---|---|
RDBシステム名をつける運用 | RDBインストール時の制御ファイル格納先ディレクトリ\rdb\etc\RDBシステム名 |
RDBシステム名をつけない運用 | RDBインストール時の制御ファイル格納先ディレクトリ\rdb\etc |
DSIのメモリ常駐化を行う場合は、プレオープンするDSI用サブプロシジャまたはプレオープンしないDSI用サブプロシジャをrdbresidentコマンドが有効になるように編集してください。
サブプロシジャの登録は、運用インスタンスと待機インスタンスで行います。
プレオープンするDSI用サブプロシジャは、ホットスタンバイ機能の場合のみ有効です。
サブプロシジャが動作した時のSymfoware/RDBの処理については“2.3 状態遷移と状態遷移プロシジャ”を参照してください。
注意
DSIのメモリ常駐化を行う場合は、以下のことを注意してください。
待機インスタンスでのrdbresidentコマンドの実行では、DSIのメモリへの常駐は行われません。メモリ常駐は、待機インスタンスが運用インスタンスに切り替わるときに行われます。また、クラスタサービスの切替えは、メモリ常駐の完了と同時に完了します。
共用バッファに対応づけするDSIをメモリに常駐させることはできません。
サブプロシジャにはプレオープンするDSI用サププロシジャおよびプレオープンしないDSI用サププロシジャの2種類があり、登録方法は3通りあります。以下に登録例を示します。
RDBシステム内のすべてのDSIをプレオープンする場合(ホットスタンバイ機能を利用する場合のみ)
HSPROC_WAIT_CONBF.BATを複写します。
RDBシステム内のすべてのDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_WAIT_CONBF.BATを編集します。
状態遷移時の動作を以下に示します。
運用インスタンスと待機インスタンスの両方で、すべてのDSIについて、共用バッファの対応づけまたはメモリ常駐化が行われます。
何も行われません。
RDBシステム内のすべてのDSIをプレオープンしない場合
HSPROC_RUN_CONBF.BATを複写する。
RDBシステム内のすべてのDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_RUN_CONBF.BATを編集します。
状態遷移時の動作を以下に示します。
運用インスタンスでは、共用バッファとの対応づけまたはメモリ常駐化が行われます。待機インスタンスでは、何も行われません。
待機インスタンスが運用インスタンスに切り替わるときに、RDBシステム内のすべてのDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われます。
RDBシステム内にプレオープンするDSIとプレオープンしないDSIが混在する場合(ホットスタンバイ機能を利用する場合のみ)
HSPROC_WAIT_CONBF.BATを複写する。
プレオープンするDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_WAIT_CONBF.BATを編集する。
HSPROC_RUN_CONBF.BATを複写する。
プレオープンしないDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_RUN_CONBF.BATを編集する。
状態遷移時の動作を以下に示します。
運用インスタンスでは、プレオープンするDSIおよびプレオープンしないDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われます。待機インスタンスでは、プレオープンするDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われます。
待機インスタンスが運用インスタンスに切り替わるときに、プレオープンしないDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われます。
サブプロシジャの登録操作の手順を以下に示します。
上記登録例3のサブプロシジャの登録を行う場合
> C: > cd \sfwetc\rdb\etc > mkdir RDBSYS1 > copy C:\sfwsv\rdbhs\demo\HSPROC_WAIT_CONBF.BAT C:\sfwetc\rdb\etc\RDBSYS1 > copy C:\sfwsv\rdbhs\demo\HSPROC_RUN_CONBF.BAT C:\sfwetc\rdb\etc\RDBSYS1 > notepad C:\sfwetc\rdb\etc\RDBSYS1\HSPROC_WAIT_CONBF.BAT > notepad C:\sfwetc\rdb\etc\RDBSYS1\HSPROC_RUN_CONBF.BAT
[HSPROC_WAIT_CONBF.BAT]
@echo off @if not "%ECHO%"=="" echo %ECHO% rem #---------------------------------------------------------------# rem # Symfoware/RDB Sub procedure rem # rem # HSPROC_WAIT_CONBF.BAT rem #---------------------------------------------------------------# setlocal pushd set FILEDIR=C:\SFWETC\RDB\ETC\%RDBNAME% rem rdbcrbf -f "%FILEDIR%\w_crbuf.txt" rem rdbconbf -f "%FILEDIR%\w_conbuf.txt" rem rdbresident -mon -f "%FILEDIR%\w_resident.txt" popd endlocal
備考. 共用バッファを使用する場合は、コメント記号を削除し、rdbcrbfおよびrdbconbfを有効にしてください。DSIのメモリ常駐化を行う場合は、コメント記号を削除し、rdbresidentを有効にしてください。
[HSPROC_RUN_CONBF.BAT]
@echo off @if not "%ECHO%"=="" echo %ECHO% rem #---------------------------------------------------------------# rem # Symfoware/RDB Sub procedure rem # rem # HSPROC_RUN_CONBF.BAT rem #---------------------------------------------------------------# setlocal pushd set FILEDIR=C:\SFWETC\RDB\ETC\%RDBNAME% rem rdbcrbf -f "%FILEDIR%\r_crbuf.txt" rem rdbconbf -f "%FILEDIR%\r_conbuf.txt" rem rdbresident -mon -f "%FILEDIR%\r_resident.txt" popd endlocal
備考. 共用バッファを使用する場合は、コメント記号を削除し、rdbcrbfおよびrdbconbfを有効にしてください。DSIのメモリ常駐化を行う場合は、コメント記号を削除し、rdbresidentを有効にしてください。