Oracle RAC環境でのキャッシュの設定

Oracle RAC環境内でデータをキャッシュするようにTimesTenデータベースにキャッシュを設定できます。

Oracle RACおよびキャッシュをインストールしたら、次を実行してOracle RAC環境用にキャッシュを設定します:

  1. TimesTenで、ttCacheConfig AgentFailoverTimeoutパラメータを指定してTAFタイムアウトを分単位で設定します。AgentFailoverTimeoutパラメータでは、接続を確立する際にTAFが再試行する時間を構成します。TAFは、このタイムアウトの期間Oracle Databaseへの再接続を試行します。デフォルトは4分間です。再接続が成功しない場合は、キャッシュ・エージェントが再起動されて、1分ごとにOracle Databaseへの再接続が試行され、レプリケーション・エージェントがOracle Databaseに接続できないスレッドをすべて再起動します。

    TimesTen Scaleoutを使用している場合は、データベース内のすべてのデータ・インスタンスでttCacheConfig組込みプロシージャを実行する必要があります。『Oracle TimesTen In-Memory Databaseリファレンス』「ttCacheConfig」を参照してください。

  2. TimesTenデーモン、キャッシュ・エージェントおよび次のOracle Databaseコンポーネントが開始されていることを確認します。
    • Oracle Databaseインスタンス

    • Oracle Databaseリスナー

    • キャッシュ処理で使用されるOracle Databaseサービス

  3. TimesTen RACCallback接続属性が1(デフォルト)に設定されていることを確認します。『Oracle TimesTen In-Memory Databaseリファレンス』「RACCallback」を参照してください。
  4. DBMS_SERVICE.MODIFY_SERVICEファンクションまたはOracle Enterprise Managerを使用してFANイベントのパブリッシュを有効にします。これにより、Oracle Database ALL_SERVICESビューのAQ_HA_NOTIFICATIONS列の値がYESに変更されます。

    DBMS_SERVICE Oracle Database PL/SQLパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

  5. 次のいずれかの方法で、TimesTenでキャッシュ処理に使用されるOracle Databaseサービスに対してTAFを有効にします:
    • 次の設定を指定して、Oracle Database tnsnames.oraファイルにTimesTen用のサービスを作成します。

      • LOAD_BALANCE=ON(オプション)

      • FAILOVER_MODE=(TYPE=SELECT)またはFAILOVER_MODE=(TYPE=SESSION)

    • DBMS_SERVICE.MODIFY_SERVICEファンクションを使用して、TAFフェイルオーバー・タイプを設定します。

      TAFの有効化の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  6. ダイレクト・ドライバを使用するTimesTenアプリケーションがある場合は、FAN通知を受信できるようにアプリケーションをスレッド・ライブラリにリンクします。FANによって、障害を監視するスレッドが作成されます。