Fileshare マネージャー

Fileshare マネージャー (fsmgr) を使用すると、Fileshare スーパーバイザー モードの機能のいくつかを自動化することができます。Fileshare マネージャーを使用するには、Fileshare マネージャーを呼び出す COBOL プログラムを作成します。Fileshare マネージャーを呼び出すと、Fileshare サーバーの次の機能を使用できます。

  • 回復ログファイルの自動バックアップを実行します。
  • 現在開かれているすべてのデータ ファイルを閉じます。これらのファイルにアクセスしているクライアント アプリケーションには、ファイルが閉じられたことを示すファイル状態が返されます。これは、Fileshare サーバーとの接続を正しく切断せずに Fileshare クライアントのプログラムを終了させる原因となる、システムクラッシュや停電の場合に特に便利です。このような場合に、データ ファイルが Fileshare サーバー上で開いたままになっていると、Fileshare サーバーは、自動ディスク バックアップを行いません。また、他のクライアントによるファイルへのアクセスも受け付けないことがあります。
  • 現在接続しているクライアントをすべてログオフします。これらのクライアントによって開かれているファイルをすべて閉じ、関連する未完了のトランザクションをすべてロールバックします。この後で、クライアント アプリケーションがアクセスしようとすると、エラー状態 (9/125) が返されます。
  • 完全に終了します。すべてのファイルが閉じられ、未完了のトランザクションはロールバックされます。
  • 完全に終了してから再起動します。データベース参照ファイルでバックアップ ディレクトリが指定されている場合、Fileshare は、データベース参照ファイルで指定したすべてのファイルをバックアップ ディレクトリにコピーし、回復ログ ファイルを削除した後に、再起動時に新しい回復ログ ファイルを使用します。
注: この命令の実行時には、Fileshare サーバーに接続しているすべての Fileshare クライアントがログオフされ、クライアントが開いたすべてのファイルが閉じられます。

Fileshare マネージャー プログラム (fsmgr) は、次のように COBOL プログラムから呼び出されます。

構文:

call "fsmgr" using parameter-block

パラメーター:

parameter-block
次の定義をもつグループ項目。
function-code
pic xx comp-x
error-status
pic xx comp-x
fileshare-name
pic x(16)
supervisor-passwd
pic x(20)
reserved
pic x(24)

入力パラメーター:

function-code
必要な Fileshare マネージャープログラムの機能。
1
回復ログ ファイルをバックアップする
2
開かれているすべてのデータ ファイルを閉じる
3
接続しているすべてのクライアントをログオフする
4
Fileshare をシャットダウンする
5
Fileshare をシャットダウンしてから再起動する
fileshare-name
操作の対象となる Fileshare サーバーの名前 (Fileshare の起動時に使用した名前)。
supervisor-passwd
スーパーバイザー パスワード。詳細については、「セキュリティ」の章の「スーパーバイザー モード」セクションを参照してください。
reserved
将来使用するために予約されています。バイナリの 0 を格納する必要があります。

出力パラメーター:

error-status
呼び出し結果 (成功、失敗など) が格納されます。error-status の値は、次のとおりです。
説明
0 関数が正常に完了しました。
1 通信エラー。Fileshare クライアントが、指定された通信プロトコルを用いたネットワークで、fileshare-name で指定された名前の Fileshare サーバーに接続できませんでした。初期接続を確立した後で、関数の実行中にネットワーク エラーが発生した場合にも、このエラーが返されます。

fileshare-name が正しく指定され、Fileshare ハンドラー リダイレクター モジュール (FHRedir) が正しい通信プロトコルを使用するように構成されているかを確認してください。

2 初期接続中のファイル エラー。

Fileshare へ接続するために、Fileshare マネージャーは fsmgr.ctl と呼ばれるファイルを開きます。このファイルは存在せず、また、Fileshare マネージャーが実際にこのファイルを作成することはありません。このファイルが存在し、ファイルを閉じるときにエラーが発生すると、この状態が返されます。

3 supervisor-password に指定されたパスワードが無効です。

Fileshare がパスワード ファイルを使用して実行されていること、および supervisor-password の値がパスワード ファイルのスーパーバイザー パスワード エントリと一致することを確認してください。Fileshare パスワードでは、大文字と小文字が区別されます。

詳細については、「セキュリティ」の章の「スーパーバイザー モード」を参照してください。

4 function-code に無効な値が指定されています。function-code の値は、1 ~ 5 の範囲でなければなりません。
5 Fileshare ログ ファイルがありません。

リカバリログ ファイルがないまま実行されている Fileshare サーバーで、ログ ファイルをバックアップしようとしました。

6 関数 2、または 3 を完了できません。

すべての Fileshare クライアントをログオフしようとしている間は (関数 3)、ログオフ処理が完了する前に、他のクライアントがログオンする可能性があります。例えば、4 つのクライアントがログオンしている場合に、Fileshare マネージャーは "logoff client n" 要求を 4 回送信しなければなりません。ただし、元の 4 つのクライアントすべてがログオフする前に、新しいクライアントがログオンすると、Fileshare マネージャーは、新しいクライアントをログオフするために、"logoff client n" 要求を再試行します。再試行は 10 回繰り返され、それでも新しいクライアントがログオンしている場合は、エラー 6 が返されます。関数 2 (すべてのデータ ファイルを閉じる) の処理と同時に、新しいファイルが連続して開かれる場合も、同様の状況が発生することがあります。

10 その他のエラー。