TimesTenデータベースとOracleデータベースの間のデータの同期

ロード、リフレッシュまたは伝播操作によって、TimesTenデータベースとOracleデータベースの間でデータが同期されます。ロードおよびリフレッシュ操作は、手動で実行することも、自動的に実行されるよう構成することもできます。

  • ロード操作:

    • 静的ロード: 静的ロード操作では、LOAD CACHE GROUP SQL文を使用して、Oracleデータベース表からTimesTenデータベースのキャッシュ表に新しいキャッシュ・インスタンスを手動でロードします。LOAD CACHE GROUP SQL文では、Oracleデータベース表にコミットされた挿入がTimesTenデータベースのキャッシュ表にロードされます。

      ロード処理は、主に、キャッシュ・グループに最初にデータを移入するために使用します。TimesTenデータベース内で最初にキャッシュを設定する場合、一部のキャッシュ・グループ・タイプでは、キャッシュで使用可能にするデータのサブセットの手動ロードを実行する必要があります。これにより、Oracleデータベースに存在するデータのコピーが作成されます。これは、動的ロードを使用するキャッシュ・グループを除き、読取り専用および読取り/書込みの両方のキャッシュ・グループに当てはまります。(動的ロードについては後で学習します。)

    • 動的ロード: アプリケーションがTimesTenデータベースに存在しないデータをリクエストしたる場合、TimesTenデータベースには、Oracleデータベースから新しいデータを動的に取得してTimesTenデータベースにロードするメカニズムがあります。アプリケーションは、データを指定するWHERE句を含むSELECT SQL文を使用して、データを動的にリクエストします。

  • リフレッシュ操作: これらの操作は読取り専用キャッシュのみが対象であり、INSERTUPDATEまたはDELETE SQL文を使用してOracleデータベースでデータをいつでも変更できます。リフレッシュ操作では、Oracleデータベースの変更済データがTimesTenデータベースのキャッシュ表に同期されます。したがって、TimesTenデータベースのキャッシュ表内のキャッシュ・インスタンスには、Oracleデータベース表のデータの最新のコピーが含まれます。リフレッシュ操作は主に、キャッシュ・グループに最初にデータを移入した後、Oracleデータベース表にコミットされた変更を既存のキャッシュ表に適用するために使用されます。リフレッシュは、指定した時間間隔で手動または自動でリクエストできます。

    • 手動リフレッシュ: 手動リフレッシュ操作の場合は、REFRESH CACHE GROUP SQL文を実行します。



    • 自動リフレッシュ操作: TimesTenが提供するメカニズムにより、Oracleデータベースのすべての変更をTimesTenデータベースに自動的にリフレッシュする(自動リフレッシュと呼ばれます)までの間隔を設定できます。読取り専用キャッシュに自動リフレッシュを指定した場合、キャッシュされたデータは指定した間隔で自動的に同期されます。通常、自動リフレッシュを指定した場合、自動リフレッシュ間隔の間にリフレッシュする必要がないかぎり、手動リフレッシュは使用しません。

  • TimesTenデータベースからOracleデータベースへの変更の自動伝播: この操作は、読取り/書込みキャッシュでのみ使用できます。TimesTenのキャッシュ表のデータを変更すると、コミットされた変更は、キャッシュされたOracle Database表に自動的に伝播されます。