ページの先頭行へ戻る
Symfoware Server V10.0.0 クラスタ導入運用ガイド

4.1.3 状態遷移プロシジャのサブプロシジャの登録

状態遷移プロシジャから呼び出されて、作業用ファイルの削除や共用バッファの開設を行うためのプロシジャを、サブプロシジャと呼びます。

サブプロシジャには、以下の3種類があります。

サブプロシジャ名

処理内容

サンプルプロシジャのファイル名

作業用ファイルの削除用サブプロシジャ

動作環境ファイルのWORK_PATHで指定した作業用ディレクトリの作業用ファイルの削除

RDBのインストールディレクトリ\rdbhs\demo\HSPROC_RM_WORK.BAT

プレオープンするDSI用サブプロシジャ(ホットスタンバイ機能のみ)

DSIごとに、以下のどちらかの処理を行う。

  • 共用バッファの開設およびプレオープンするDSIと共用バッファの対応関係の登録

  • DSIのメモリ常駐化

RDBのインストールディレクトリ\rdbhs\demo\HSPROC_WAIT_CONBF.BAT

プレオープンしないDSI用サブプロシジャ

DSIごとに、以下のどちらかの処理を行う。

  • 共用バッファの開設およびプレオープンしない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通りあります。以下に登録例を示します。


1

RDBシステム内のすべてのDSIをプレオープンする場合(ホットスタンバイ機能を利用する場合のみ)

  1. HSPROC_WAIT_CONBF.BATを複写します。

  2. RDBシステム内のすべてのDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_WAIT_CONBF.BATを編集します。

    状態遷移時の動作を以下に示します。

    立上げ:

    運用インスタンスと待機インスタンスの両方で、すべてのDSIについて、共用バッファの対応づけまたはメモリ常駐化が行われます。

    切替え:

    何も行われません。

2

RDBシステム内のすべてのDSIをプレオープンしない場合

  1. HSPROC_RUN_CONBF.BATを複写する。

  2. RDBシステム内のすべてのDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_RUN_CONBF.BATを編集します。

    状態遷移時の動作を以下に示します。

    立上げ:

    運用インスタンスでは、共用バッファとの対応づけまたはメモリ常駐化が行われます。待機インスタンスでは、何も行われません。

    切替え:

    待機インスタンスが運用インスタンスに切り替わるときに、RDBシステム内のすべてのDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われます。

3

RDBシステム内にプレオープンするDSIとプレオープンしないDSIが混在する場合(ホットスタンバイ機能を利用する場合のみ)

  1. HSPROC_WAIT_CONBF.BATを複写する。

  2. プレオープンするDSIについて、共用バッファとの対応づけまたはメモリ常駐化が行われるように、HSPROC_WAIT_CONBF.BATを編集する。

  3. HSPROC_RUN_CONBF.BATを複写する。

  4. プレオープンしない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を有効にしてください。