プッシュベースのインクリメンタルキャッシング用のOracleデータベースの構成
データソースと派生テーブルは、自動的に更新され、インクリメンタルに保持されるキャッシュとビューサブスクリプションで使用できるように準備する必要があります。サブスクリプション関連のテーブルに対してテーブルとインデックスを動的に作成できるように、使用するキャッシングデータベースに権限を設定する必要があります。
データ変更キャプチャ(CDC)サービスから指定されたデータソーストピックへの「変更」メッセージングが必要です。これがないと、ビューを更新できません。TDVソフトウェア変更管理サービスでCDCサービスを使用できるようにする方法については、「
Oracle GoldenGateのインストールと構成」を参照してください。
プッシュベースのインクリメンタルキャッシングでは、対象のOracleデータベースに接続し、それをサブスクリプションストアとして使用するため、以下の権限を付与するOracleアカウントが必要になります。
• サブスクリプション関連のテーブルとインデックスを作成する
• 必要なテーブルをイントロスペクトする。READとSELECTの両方のアクセス権限が必要です。
• 対象のデータソースとテーブルに対して通常のSQLクエリーを実行する
• それらのテーブルに対するEXECUTE、INSERT、UPDATE、DELETE権限を付与する
• 対象のデータソースとテーブルに対してflashbackクエリーを実行する
インクリメンタルにキャッシュされるビューと監視対象テーブルと結合されるビューを格納するために使用されるOracleデータベースは、cursor_sharingをEXACTに設定して構成する必要があります。cursor_sharingの他の設定により、パフォーマンスが低下します。
Oracleデータソースを構成するには
1.OracleデータベースマシンにSYSDBAとしてログオンします。
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;