プライマリ・コンテンツに移動
Oracle® Clusterware管理およびデプロイメント・ガイド
12c リリース1 (12.1)
B71322-07
目次へ移動
目次
索引へ移動
索引

前
次

CおよびC++エージェントの作成およびデプロイ

Oracle Clusterwareには、アプリケーションに高可用性エージェントを実装するエージェント・フレームワークを使用したCおよびC++エージェントの例が含まれています。付録Fは、demoagent1.cppというエージェントの例を説明しています。このエージェントは、ディスク上のファイルを表す単純なリソースを管理し、次のタスクを実行します。

  • 起動時: ファイルを作成します

  • 停止時: ファイルを正常に削除します

  • チェック時: ファイルが存在するかどうかをチェックします

  • クリーンアップ時: ファイルを強制的に削除します

Oracle Clusterwareに対するこの特定のリソースを記述するには、このリソース・クラスのすべての特徴的な属性を含むリソース・タイプを最初に作成する必要があります。この場合、記述する必要のある属性は、管理するファイルの名前のみです。次の手順は、リソースおよびそのエージェントを設定して、リソースの機能をテストする方法を示しています。

  1. 提供されるdemoagent1.cppソース・ファイルおよびmakefileを使用してC++エージェントをコンパイルします。ローカルのコンパイラ、リンカーのパスおよびインストール場所に基づいたmakefileを変更します。出力は、demoagent1という実行可能ファイルです。この例は、実行可能ファイルが、クラスタの各ノードの/path/to/というディレクトリにあることを想定しています。
  2. CRSCTLを使用して、次のように新しいリソース・タイプを追加します。
    crsctl add type hotfile_type -basetype cluster_resource -attr
       "ATTRIBUTE=PATH_NAME,TYPE=string,DEFAULT_VALUE=default.txt,
       ATTRIBUTE=AGENT_FILENAME,TYPE=string,DEFAULT_VALUE=/path/to/demoagent1"
    

    前述のコマンドの例では、PATH_NAMEがこのタイプの各ノードのディレクトリ・パスです。PATH_NAMEの値をディスク上の適切なディレクトリ場所に変更します。

    AGENT_FILENAME属性は、このリソース・タイプのリソース管理コマンドを実装するエージェント・バイナリの場所を指定します。この手順により、Oracle Clusterwareに新しいリソース・タイプが追加されます。

  3. 上記手順で定義されているタイプに基づいて、次のように新しいリソースを作成します。
    $ crsctl add res file1 -type hotfile_type -attr "PATH_NAME=/var/log/file1.txt"
    $ crsctl add res file2 -type hotfile_type -attr "PATH_NAME=/var/log/file2.txt"
    

    前述のコマンドにより、Oracle Clusterwareが管理および監視するfile1およびfile2というリソースが追加されます。

  4. CRSCTLを使用して、次のようにリソースを起動および停止します。
    $ crsctl start res file1
    $ crsctl start res file2
    $ crsctl relocate res file1
    $ crsctl stop res file2
    

    リソースが起動および停止されると、Oracle Clusterwareはディスク・ファイルを作成および削除します。

関連項目:

エージェント・フレームワーク、エージェント・フレームワークAPIリファレンスおよびエージェントの例の詳細は、「Oracle Clusterware C Application Program Interfaceエージェント・フレームワーク」を参照してください。