自動的な表ごとのインスタンス化の使用方法
ソース・データベースの場合
Oracle Data Pumpを使用するOracle Databaseで、表ごとのCSNフィルタリングを自動的にインスタンス化して、すべての表が同じSCNに配置されるのを防ぐことができます。
-
ADD TRANDATA
およびADD SCHEMATRANDATA
を使用します。ADD TRANDATA/SCHEMATRANDATA.PREPARECSN
は、ソースで表を自動的に準備し、Oracle Data Pumpのエクスポート・ダンプ・ファイルにインスタンス化CSNが含まれるようにします。Replicatは、(インポート時に) Oracle Data Pumpによって設定された表ごとのインスタンス化CSNを使用して、証跡レコードをフィルタ処理で除外します。INFO TRANDATA
を使用して、表のインスタンス化の準備ができていることと、それが実行されたポイントを確認します。次に、レポート・ファイルのサンプルを示します。2016-09-29 15:30:00 INFO OGG-10154 Schema level PREPARECSN set to mode NOWAIT on schema SCOTT
-
ターゲット・データベースでReplicatを停止します。
-
適切な
TABLE
文でExtractを起動します。
EXPORT datapump
オプションFLASHBACK_SCN
は、表が以前に準備されているため必要ありません。
ターゲット・データベースの場合
-
Oracleデータ・ポンプを使用して、エクスポートされた表をインポートします。これにより、システム表とビューにインスタンス化SCNおよび指定された表データが移入されます。
-
次のいずれかを使用してReplicatを起動します。
Replicatパラメータ・ファイルに
DBOPTIONS ENABLE_INSTANTIATION_FILTERING
パラメータを設定して、表レベルのインスタンス化フィルタリングを有効にします。インスタンス化SCNを超えたすべてのトランザクションがReplicatによって処理されたら、このパラメータを削除できます。
他のすべてのReplicatでは、Replicatパラメータ・ファイルに
DBOPTIONS
source_dbase_name
global_name
パラメータを設定します(global_name
は、証跡の取得元のOracleソース・データベースのグローバル名です)。ノート:
ソースに
DOMAIN
がない場合は、ダウンストリーム・データベースでDOMAIN
を指定しないでください。Replicatは設定に従って新しいマッピングおよびフィルタ・レコードのインスタンス化SCNを問い合せますたとえば、次のレポート・ファイル出力を参照してください。2015-06-29 17:12:39 INFO OGG-10155 Oracle GoldenGate Delivery for Oracle, r1.prm: Instantiation CSN filtering is enabled on table SCOTT.EMP at CSN 1,851,797.
create table
をselect
コマンドまたはRMANとして使用します。ステップは次のとおりです。
-
次のコマンドを使用して、
create table
をat SCN of
パラメータとともに使用します。SET_INSTANTIATION_CSN SCN for object from global_name
たとえば:SET_INSTANTIATION_CSN 1 FOR u1.t1 FROM DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM
- 後でインスタンス化CSNの手動設定を削除する場合は、次のコマンドを使用します。
CLEAR_INSTANTIATION_CSN for object from global_name