プッシュ・ベースのインクリメンタル キャッシュ用の Oracle データベースの構成
データ ソースと派生テーブルは、自動的に更新され、インクリメンタルに保持されるキャッシュとビュー サブスクリプションで使用できるように準備する必要があります。サブスクリプション関連のテーブルに対してテーブルとインデックスを動的に作成できるように、使用するキャッシング データベースに権限を設定する必要があります。
変更データ キャプチャ (change-data capture: CDC) サービスから指定されたデータ ソース トピックへの "チェンジ" メッセージングが必要です。これがないと、ビューの更新はできません。CDC サービスをTDV ソフトウェア変更管理サービスと互換性を持たせる方法については、「Oracle GoldenGate のインストールと構成」を参照してください。
プッシュ・ベースのインクリメンタル キャッシュには、対象の Oracle データベースに接続してサブスクリプション ストアとして使用するための次の権限を 付与する Oracle アカウントが必要です。
| •
|
サブスクリプション関連のテーブルとインデックスを作成します。 |
| •
|
必要なテーブルをイントロスペクトします。READ と SELECT アクセスの両方が必要です。 |
| •
|
対象のデータ ソースとテーブルに対して通常の SQL クエリを実行します。 |
| •
|
これらのテーブルに対する EXECUTE、INSERT、UPDATE、および DELETE パーミッションを付与します。 |
| •
|
対象のデータ ソースとテーブルに対して フラッシュバック クエリを実行します。 |
インクリメンタル キャッシュされたビューおよび監視対象テーブルの Join を含むビューを格納するために使用される Oracle データベースは、cursor_sharing を EXACT に設定して構成する必要があります。cursor_sharing の他の設定は、パフォーマンスの低下につながります。
Oracle データ ソースを構成するには
| 1.
|
SYSDBA として Oracle データベース マシンにログオンします。 |
| 2.
|
次のようなコマンドを使用して、データベース レベルで 補足ログを有効にします。 |
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER SYSTEM SWITCH LOGFILE;
または、監視対象のテーブルのスキーマ所有者としてデータベース サーバーにログインし、個々のテーブルの補足ログ記録を変更します。
SQL> ALTER TABLE <tableName> ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
| 3.
|
Oracle データベースで アーカイブ ログと フラッシュバックが有効になっていることを確認します。フラッシュバックを有効にするには、次を使用して システム変更番号 (SCN) 値を取得します。 |
SELECT dbms_flashback.get_system_change_number FROM dual;