• 検索結果がありません。

How to Use the PowerPoint Template

N/A
N/A
Protected

Academic year: 2021

シェア "How to Use the PowerPoint Template"

Copied!
55
0
0

読み込み中.... (全文を見る)

全文

(1)
(2)

Oracle GoldenGateアーキテクチャと基本機能

v1.1

2015年9月

日本オラクル株式会社

(3)

免責事項

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とす

るものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供すること

をコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。

オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。

他社名又は製品名は、それぞれ各社の商標である場合があります。

(4)

はじめに

本資料は、Oracle GoldenGate for Oracle Databaseのアーキテクチャ概要と12c新機能

について紹介しています

本資料は、 GoldenGateの提案・導入に関わる技術者が GoldenGate の動作や仕組み

を理解する参考資料として使用されることを想定して作成されています

製品機能の網羅的な説明や使用手順は、別途製品マニュアル等をご参照ください

本資料はGoldenGate 11.2 と GoldenGate 12.1 を前提に説明します

GoldenGate 12.1 は Oracle 11g, Oracle 12.1 に対応

GoldenGate 複数バージョン間のレプリケーションが構成可能です

(5)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(6)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(7)

Oracle GoldenGate 基本のアーキテクチャ

ソースDBの変更をターゲットDBへレプリケーションする全体像

REDO log

Checkpoint

Checkpoint

Capture

Data Pump

Checkpoint

GoldenGate

Trail file

Manager

Collector

Replicat

REDO log

Trail file

GoldenGate

Manager

Source

Target

変更データの流れ

その他 GG関連の通信や更新

(8)

Oracle GoldenGate 基本のアーキテクチャ

ソースDBの変更をターゲットDBへレプリケーションする全体像

REDO log

Checkpoint

Checkpoint

Capture

Data Pump

Checkpoint

GoldenGate

Trail file

Manager

Collector

Replicat

REDO log

Trail file

GoldenGate

Manager

Source

Target

変更データの流れ

その他 GG関連の通信や更新

変更情報を

抽出

するプロセス

GoldenGate 全体を

管理

するプロセス

変更情報を

転送

するプロセス

変更情報を

するプロセス

受信

変更情報を

するプロセス

適用

処理地点を記録

するファイル

変更情報を

格納

するファイル

(9)

Manager プロセス

GoldenGate 全体の管理プロセス

各プロセスの管理

起動/監視(自動再起動)

ポート番号の管理

Trail ファイルの管理

処理済の Trail ファイルを自動削除

イベントやエラーなどのレポートの作成

ユーザーが発行したコマンドの実行

REDO log

Checkpoint

Checkpoint

Capture

Data Pump

Trail file

GoldenGate

Manager

Source

Error log

(10)

Capture プロセス

DB変更情報を取得し、Trail ファイル へ更新データを出力するプロセス

取得元は構成やモードにより異なる

トランザクション・ログ、ソースDB、サードパーティの取得モジュール など

Capture プロセスのモード

Classic Capture

• Oracle GoldenGate がサポートする全データベース

で利用可能

• トランザクション・ログから変更履歴を抽出

• Oracle Database のみで利用可能

• DBの機能 (Database LogMining Server) を使って変

更履歴を抽出

• RAC / DG / RMAN / ASM / TDE,TSE 等のOracle

Database 機能との親和性

• 圧縮 / XA対応

(11)

Capture プロセス

Classic Capture

Trail File

Classic Capture

2.更新データを独自の形式に変換、

Trail ファイルに書き出す

Parameter File

読み

込み

フォーマッ

ティング

フィルタ

リング

マッピング

変換

シリアライズ

1. トランザクション・ログ

から変更履歴を抽出

変更データの流れ

その他 GG関連の通信や更新

ソース

データベース

REDO log

Checkpoint

Manager

Data Pump

Source

※ for Oracleの動作になります

Report File

Discard File

(12)

LCR

Capture プロセス

Integrated Capture (11.2- )

Trail File

Integrated Capture

2.更新データを独自の形式に変換、

Trail ファイルに書き出す

読み

込み

フォーマッ

ティング

フィルタ

リング

マッピング

変換

シリアライズ

1. DBの機能を使って変更

履歴を抽出

変更データの流れ

その他 GG関連の通信や更新

REDO log

Checkpoint

Manager

Data Pump

Parameter File

ソース

データベース

Source

※ for Oracleの動作になります

Database

LogMining

Server

(13)

Capture プロセスの動作

抽出と書き込みのタイミング

Begin, TX 1

Insert, TX 1

Begin, TX 2

Update, TX 1

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Begin, TX 4

Commit, TX 3

Delete, TX 4

Capture

Begin, TX 2

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Commit, TX 3

REDO log

Checkpoint

Cache Memory

Begin, TX 1

Insert, TX 1

Update, TX 1

Begin, TX 4

Delete, TX 4

Trail file

 抽出

• REDO ログの終端(EOF) まで読み込む

 Capture プロセスは、読み込んだトランザクション

情報をメモリ上に格納

• 定期的に変更情報確認

 パラメータEOFDELAY or EOFDELAYCSECS で変更可

(デフォルト 1秒最少 10ミリ)

 書き込み

• Commit が入るタイミングで Trail ファイルに書き込む

(14)

データ連携イメージ

トラン ザクション順序を保証

Begin, TX 1

Insert, TX 1

Begin, TX 2

Update, TX 1

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Begin, TX 4

Commit, TX 3

Delete, TX 4

Capture

Begin, TX 2

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Commit, TX 3

REDO log

Checkpoint

DataPump

Collector

Replicat

Checkpoint

Checkpoint

Begin, TX 4

Delete, TX 4

Begin, TX 3

Insert, TX 3

Commit, TX 3

Begin, TX 2

Insert, TX 2

Commit, TX 2

Begin, TX 1

Insert, TX 1

Update, TX 1

Select, TX 1

Trail file

Trail file

Begin, TX 2

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Commit, TX 3

データ更新を反映

ソースDBのトランザクション順序を保証

COMMIT された

更新処理を抽出

(15)

チェックポイント

各プロセスがどこまで処理したかを記録

Begin, TX 1

Insert, TX 1

Begin, TX 2

Update, TX 1

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Begin, TX 4

Commit, TX 3

Delete, TX 4

Capture

Begin, TX 2

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Commit, TX 3

REDO log

Trail file

Data Pump

Collector

Replicat

Checkpoint

Begin, TX 2

Insert, TX 2

Commit, TX 2

Checkpoint

Trail file

Replicat Checkpoint

1.現在のTrail ファイルの

読み取り位置

2.ターゲットDBへの更新状況

Data Pump Checkpoint

1.現在のTrail ファイルの

読み取り位置

2.現在のTrail ファイルの書込み位置

Checkpoint

Capture Checkpoint

1.最も古いオープン・トランザクション

(未コミット)の開始時点

2.現在のログの読取り位置

3.現在の Trail ファイルの書込み位置

(16)

Bounded Recovery

一定の期間を過ぎたトランザクション情報をファイルに書き出す機能

Begin, TX 1

Insert, TX 1

Begin, TX 2

Update, TX 1

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Begin, TX 4

Commit, TX 3

Delete, TX 4

Capture

Begin, TX 2

Insert, TX 2

Commit, TX 2

Begin, TX 3

Insert, TX 3

Commit, TX 3

REDO log

Checkpoint

Cache Memory

Begin, TX 1

Insert, TX 1

Update, TX 1

Begin, TX 4

Delete, TX 4

Capture プロセスがオープン・トランザクションを処理

中に停止した場合、再起動時にチェックポイントの情

報に基づき、元の状態にリカバリを実施

長時間オープンされている古いオープン・トランザク

ションの情報を Bounded Recovery ファイルに保持し、

リカバリ時に使用

BR Checkpoint

Begin, TX 1

Insert, TX 1

Update, TX 1

Trail file

最も古いオープン

トランザクションの

開始時点

リカバリ・

チェックポイント

読み込み

チェック

ポイント

書き込み

チェック

ポイント

(17)

Trail ファイル

含まれる情報

変更データやトランザクションなどの変更情報

プラットフォーム・DBの種類・バージョンなどの環境情報

Logdump ユーティリティにて中身の確認が可能

Replicat は Trail ファイル内の情報をもとに SQL を生成して適用

管理

サイズの上限(デフォルト100MB) に達すると、次のファイルを生成

設定値に基づき、Manager が自動的にパージを行うことが可能

変更情報を独自の形式で格納する中間ファイル

(18)

Data Pump / Collector プロセス

Data Pump プロセス

Trail ファイルからDB変更情報を取得し、ターゲット・サーバーへ変更データを送信

圧縮・暗号化も可

Collector プロセス

Data Pump から送信されてきたデータを受信し、Trail ファイルに書き込む

(19)

Data Pump / Collector プロセス

Checkpoint

Data Pump

GoldenGate

Trail file

Manager

Collector

Trail file

GoldenGate

Source

Target

2.接続済のCollectorに

変更データを送信

4.チェックポイントの更新

【起動時】Data Pump がターゲット側の Manager に接続要求

Manager が Collector 起動し、ポート番号をData Pump に通知

Capture

Manager

1. Trail ファイルから

変更データを抽出

Replicat

3. 受信した更新データを

Trail ファイルに書き出す

(20)

Data Pump / Collector プロセス

Trail ファイルからの読み込みタイミング

変更情報の更新を検知すると読み込みを始め、終端(EOF) に到達するまで読み続ける

定期的に変更情報更新の確認を実施

デフォルト 1秒、最少 10ミリ秒

パラメータ(EOFDELAY or EOFDELAYCSECS)で変更可

Data Pump プロセスから Collector プロセスへの転送タイミング

パラメータ (FLUSHSECS or FLUSHCSECS)で指定した間隔

デフォルト 1秒、最少 10ミリ秒

(21)

Data Pump / Collector プロセス

転送方式

NOPASSHRU モード(デフォルト)

ソースDBから設定・メタデータなどの情報を取得

データ・マッピングの変更、フィルタの適用、データ変換等が可能

PASSTHRU モード

ソースDBに接続せずに Trail ファイルから直接取得

より高速に転送することが可能

(22)

Replicat プロセス

Trail ファイルの変更データの情報を読み込み、ターゲットDBに適用するプロセス

変更データから適用内容を生成するため、ソース側で実行された SQL と同一ではない

Replicat プロセスのモード

Non-integrated Replicat

• Oracle GoldenGate がサポートする全データベース

で利用可能

• SQLを使用してターゲットに適用

• シリアル処理(プロセス多重化は可能)

Integrated Replicat (12.1-)

• Oracle Database (11.2.0.4 /12.1.0.1 -) のみで利用

可能

• DBの機能を使ってターゲットにパラレルで適用

Coordinated Replicat (12.1-)

• Oracle GoldenGate がサポートする全データベー

スで利用可能

• SQLを使用してターゲットに適用

• マルチスレッドでパラレル処理が可能

12c 新機能

(23)

Replicat プロセス

Non-Integrated Replicat /Coordinated Replicat

Checkpoint

Trail File

3.適用データを独自のSQLに変換・適用

2.パラメータファイルに記載したルールや

Defgen ファイルやDB情報に基づき、データ

のフィルタリング・マッピング・変換を実行

Parameter File Defgen File

読み

込み

フォーマッ

ティング

フィルタ

リング

マッピング

変換

SQL生成

4.チェックポイントの更新

1. Trail ファイルから

変更データを読み込む

GoldenGate

Collector

ターゲット

データベース

Target

※ for Oracleの動作になります

Report File

Discard File

変更データの流れ

その他 GG関連の通信や更新

(24)

Replicat プロセス

Integrated Replicat

Trail File

Checkpoint

Target

3.論理変更レコード(LCR)を生成

2.パラメータファイルに記載したルールや

Defgen ファイルやDB情報に基づき、データ

のフィルタリング・マッピング・変換を実行

Parameter File Defgen File

読み

込み

フォーマッ

ティング

フィルタ

リング

マッピング

変換

LCR 生成

5.チェックポイントの更新

GoldenGate

Collector

ターゲット

データベース

1. Trail ファイルから

変更データを読み込む

Database

LogMining

Server

LCR

12c 新機能

4.適用サーバーが

変更データを適用

※ for Oracleの動作になります

Report File

Discard File

変更データの流れ

その他 GG関連の通信や更新

(25)

文字コードの明示的なマッピングやオーバーライド

12.1.2.1.0 より、文字コードのマッピングを明示的に指定することが可能

意図した文字マッピングに設定

自動で文字マッピングができない文字に対応

設定

Replicat に CHARMAP パラメータを使用

文字マッピングファイルにマッピングを記載

Character Mapping Override

charset ISO-8859-1

sourcecharset al32utf8

targetcharset eucjis

¥xE3¥x88¥xB2 ¥xAD¥xEB

¥xEF¥xBD¥x9E ¥xA1¥xC1

¥xE3¥x80¥x9C ¥xA1¥xC1

・・・

EUC

UTF8

ADEB

E388B2

A1C1

E3809C

8FA2B7

EFBD9E

複数マッピングパターンがある文字を、同じコード

にマッピングされるように指定

Replicat がマッピングできない文字を

明示的にマッピング指定

12c 新機能

(26)

Replicat プロセス

Trail ファイルからの読み込みタイミング

変更情報の更新を検知すると読み込みを始め、終端(EOF)に到達するまで読み続ける

定期的に変更情報更新の確認を実施

デフォルト 1秒、最少 10ミリ秒

パラメータ(EOFDELAY or EOFDELAYCSECS)で変更可

ターゲット DB への適用タイミング

Trail ファイルの情報を読み込み、変更情報をSQLに変換して 適用

通常、1件ずつ適用

トランザクション単位・SQL とソースで実行された内容と同一ではない

パラメータ(BATCHSQL / GROUPTRANSOPS / MAXTRANSOPS) でターゲット・トランザクション単位を制御

(27)

Replicat プロセス

各モードの違い

12c 新機能

Replicat モード

Capture モード

データベース

パラレル処理

Classic

Capture

Integrated

Capture

Vendar/

Version

CDB

プロセス

詳細

Non-integrated

Replicat

GoldenGateが

対応する全 DB

複数

・複数プロセスによるパラレル化

・同一オブジェクトに対しては、レンジファンクショ

ンにて対応可能

・プロセス間でのトランザクション一貫性は調整さ

れない

Coordinated

Replicat

GoldenGateが

対応する全 DB

単一可

・パラメータでどのスレッドがどのオブジェクトを

処理するかを指定してパラレル化

・トランザクション一貫性担保

Integrated

Replicat

Oracle Database

11.2.0.4

12.1.0.1-

単一可

・ワークロードに応じて自動的にパラレル化

・トランザクション一貫性担保

(28)

Replicat プロセス

各モードの並列処理について

12c 新機能

ターゲット

オブジェクト

Database LogMining Server(Inbound)

ターゲット・データベース

Non-integrated Replicat

Coordinated Replicat

Integrated

Replicat

Receiver Reader

LCR

Applier

Applier

Trail File

コーディネータスレッド

スレッド

スレッド

スレッド

Applier

Coordinator

Oracle Database専用

Non-integrated Replicat

Non-integrated Replicat

(29)

処理グループ

プロセスとその関連ファイルの組み合わせ

Extract / Replicat プロセス

パラメータファイル・チェックポイントファイル・Trail ファイル等のファイル類

グループに割り当てられた名前を共有

全てのプロセスはグループ内のファイルとリンクしている必要がある

ファイルが消失・破損している場合には起動不可

(30)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(31)

DDL レプリケーション

DML とは独立して動作

GoldenGate 側で追加設定が必要

ソースDBにDDLキャプチャ用の設定が必要

Extract / Replicat のパラメータに DDL 伝播用のパラメータを追記

DDL オペレーションのレプリケーションをサポート

Trigger-Based DDL Capture

• 全データベースで利用可能

• トリガーを利用してDDL を抽出

• 事前に専用オブジェクトのインストールが必要

Native DDL Capture (12.1- )

• Oracle Database 11.2.0.4 / 12.1.0.1 -

• Integrated Capture Modeでのみ使用可能

• CDBの場合はNative DDL Captureが必須

• Database LogMining Server経由で変更を検知

• 専用オブジェクトのインストールは不要

(32)

DDL レプリケーション

DDL オペレーションのレプリケーションをサポート

REDO log

Trigger-Based

DDL Capture

Trail file

DDL

対象

テーブル

DDL管理

テーブル

DDL Trigger

Native

DDL Capture

Trail file

DDL

対象

テーブル

Database

LogMining

Server

LCR

Trigger-Based DDL Capture

Native DDL Capture (12.1- )

1.DDL発行時に DDL トリガーが

発動し、管理テーブルを更新

2.管理テーブルの更新が

REDOに出力

3. REDOログから情報を抽出し、Trail

ファイルに書き込む。処理中、DDL

管理テーブルへのアクセスも実施

1.Database LogMining Server

DDL 実行による変更を検知

REDO log

2. Database LogMining Serverから

変更履歴を抽出し、Trail ファイル

に書き込む

(33)

DDL Capture手法の選択

ソース・データベースの種類やバージョンによって、利用可能Captureの方

式や、DDL Captureの方式が異なります。

ソース・データベースの種類とバージョン

Oracleデータベース

他社DB

11.2.0.3

以前

11.2.0.4

12.1

(Non-CDB)

12.1

(CDB)

Capture

のモード

Integrated

Mode

Trigger-

Based

Native

Native

Native

利用不可

Classic

Mode

Trigger-

Based

Trigger-

Based

Trigger-

Based

利用不可

Trigger-

Based

12c 新機能

(34)

Sequenceレプリケーション

Sequence の変更情報を取得し伝播

ターゲット側の Sequence 値がソース側より高いことを保証(連番・完全一致は保証しない)

表に格納されたデータは表のレプリケーションで伝搬される

双方向連携は不可(奇数/偶数等の振り分けで対応)

ターゲット側で Sequence を使用しない場合には設定不要

REDO log

Capture

Trail file

SEQ管理

テーブル

ID(PK列)

NAME

1

A

2

B

insert into test values

(

testseq.nextval

, ‘B');

ID(PK列)

NAME

1

A

2

B

insert into test values (

2

, ‘B');

testseq.nextval > 2

SEQUENCE

Replicat

Trail file

(35)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(36)

Oracle Real Application Clusters(RAC)環境

GoldenGate プロセスが起動するのは、基本

的に1ノードのみ

単一の Extract (Capture) が、全 REDO スレッドを読

み込み、Trail ファイルに書き込む

障害時のフェイルオーバー設計

GoldenGate のバイナリは、全 RAC ノードで起動で

きるように設計

共有ファイルシステムの導入

障害発生時のアクションスクリプトの作成

Oracle Grid Infrastructure

Oracle Real Application Clusters

GoldenGate

Capture

GoldenGate

Trail file

REDO log

Thread #1

REDO log

Thread #2 Checkpoint Checkpoint

(37)

マルチテナント・コンテナ・データベース(CDB)環境

OGG12cではCDBのキャプチャ/適用が可能

CDBからのキャプチャ(Integrated Captureのみ)

1つのExtractから複数のPDBの情報取得

Native DDL Captureのサポート

CDB$ROOTに対して接続

CDBへの適用

1つのReplicatからは1つのPDBのみ適用

Three Part Nameによる指定が可能

PDB.SCHEMA.TABLE

マルチテナント・コンテナ

データベース (CDB)

CDB全体の内部的な管理データ

CDBは、単一のデータベース(SGA、バックグラウンド

プロセス、REDOログなど)を、複数の論理データベース

(PDB)で共有する仕組み。PDB単位の管理等が容易。

シード

(PDB$SEED)

プラガブル・データベース(PDB)

ユーザデータ

テンプレート

ルート(CDB$ROOT)

12c 新機能

Oracle Database 12c 新機能

マルチテナント・コンテナ・データベース(CDB)

(38)

コンテナ・データベースへの対応

Oracle

Container

Database

OGG12c Extract

ローカルTrail

Capture

PDB1

PDB2

OGG12c Replicat

リモートTrail

Oracle

Container

Database

PDB1

PDB2

Capture は

複数のPDBから

キャプチャ可能

Replicatは

単一のPDBへのみ

適用可能

ルート

cdb$root

PDB3

PDB3

•Integrated Captureのみ

12c 新機能

Replicat

Replicat

Replicat

(39)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(40)

Active-Active の連携パターン

更新 – 参照

更新 – 更新(競合なし)

更新 – 更新(競合あり)

Application

Read/Write

Application

Read Only

Application

Read/Write

Application

Read/Write

Application

Read/Write

Application

Read/Write

GoldenGate

GoldenGate

GoldenGate

要件

 システムA の更新がシステムBに

反映されるまでの

タイムラグ

要件

 システムA/B の更新がシステムB/A

に反映されるまでの

タイムラグ

要件

 システムA/B の更新がシステムB/A

に反映されるまでの

タイムラグ

 競合検知と解決

(41)

INSERT

双方向同期で発生する競合例

Case1:新規データ挿入時に重複データが既に存在する場合

1

ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274 SCOTT 01/06 15:00

8274 SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

PAUL

01/06 15:01

8274 PAUL 01/06 15:01

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

PAUL

01/06 15:01

一意制約違反でエラー

一意制約違反でエラー

INSERT

8274 PAUL 01/06 15:01

GoldenGate

Replicat はABEND

競合する変更は適用されない

競合する変更は適用されない

Time axis

(42)

DELETE

双方向同期で発生する競合例

Case2:データ削除時に対象の行が削除済

1

8274 SCOTT 01/06 15:00

8274 SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274 SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

対象データがなくエラー

対象データがなくエラー

DELETE

8274 SCOTT 01/06 15:00

GoldenGate

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

Replicat はABEND

競合する変更は適用されない

競合する変更は適用されない

Time axis

(43)

UPDATE

双方向同期で発生する競合例

Case3:データ更新時に対象の行が別の値で変更済

1

7369 JACK

01/06 18:30

7369 JACK

01/06 18:30

7369 JOHN 01/06 18:35

意図しないデータに更新

意図しないデータに更新

UPDATE

7369 JOHN 01/06 18:35

GoldenGate

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JACK

01/06 18:30

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:35

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:35

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JACK

01/06 18:30

8274

SCOTT 01/06 15:00

Replicat は正常稼働

競合する変更も適用される

競合する変更も適用される

Time axis

(44)

Replicat

Conflict Detection and Resolution(CDR)

ルールに基づく競合の検出・解決が可能

ケース毎の対応方法の設定

INSERT/DELETE/UPDATE の計5つのシナリオ

処理対象の細分化

列単位での処理の制御

柔軟な条件分岐

処理データの内容に応じた対応方法の制御

Trail file

Before Image

(変更前イメージ)

7369 SMITH 14:00

After Image

(変更後イメージ)

7369 JACK

18:30

ターゲットDBの

データ

7369 JOHN 18:35

比較・競合検知

競合解決

Parameter File

(45)

双方向同期で発生する競合に対する解決例(1/2)

Case3:データ更新時に対象の行が別の値で変更済

Extract

(Capture)

Extract

(Data Pump)

Collector Replicat

Trail file

Trail file

1. ソースのBefore Imageとターゲット

の対象データが異なることを検知

2.CHANGE_TS のデータがソースの

方が新しいと判断し、適用しない

・Replicat による更新は

キャプチャ対象から除外

・Before Imageを取得

・UPDATEの処理を競合チェック

・対象がBefore Imageと異なる場合

・ CHANGE_TS のデータに基づき

最新のデータを優先して上書き

ReplicatのCDR設定

競合解決(Replicat)

Capture設定

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JACK

01/06 18:30

8274

SCOTT 01/06 15:00

UPDATE

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:35

8274

SCOTT 01/06 15:00

UPDATE

Before Image

7369 SMITH 14:00

After Image

7369 JACK

18:30

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:35

8274

SCOTT 01/06 15:00

Parameter File

(46)

UPDATE

双方向同期で発生する競合に対する解決例(2/2)

Case3:データ更新時に対象の行が別の値で変更済

1

7369 JACK

01/06 18:30

7369 JACK

01/06 18:30

7369 JOHN 01/06 18:35

競合解決により適用

競合解決により適用しない

UPDATE

7369 JOHN 01/06 18:35

GoldenGate

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

SMITH 01/05 14:00

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JACK

01/06 18:30

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:35

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:30

8274

SCOTT 01/06 15:00

EMPNO(PK) ENAME LCHANGE_TS

7369

JOHN

01/06 18:30

8274

SCOTT 01/06 15:00

Replicat は正常稼働

ルールに基づく意図したデータ

ルールに基づく意図したデータ

(47)

参考: Replicat が解決する競合

INSERTROWEXISTS

Insert の競合(一意制約違反)

Insert

Overwrite

Ignore

Discard

USEMIN,USEMAX

UPDATEROWMISSING

対象がBefore Imageと異なる

Update

Overwrite

Ignore

Discard

UPDATEROWEXISTS

対象がターゲットに存在しない

Overwrite

Ignore

Discard

USEMIN,USEMAX

USEDELTA

DELETEROWMISSING

対象がBefore Imageと異なる

Delete

Ignore

Discard

DELETEROWEXISTS

対象がターゲットに存在しない

Overwrite

Ignore

Discard

競合シナリオ

競合解消方法

(48)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(49)

GoldenGate 構成ステップ

• GoldenGate インストール

• Manager プロセスの設定

• データベースの設定変更

• 各プロセスの構成

• 初期ロード

• データ連携開始

・- 11.2:zipファイルの展開によるインストール

・12.1- :OUI によるインストール

・パラメータファイルの編集(通信ポートの設定など)

・サプリメンタル・ロギング

・GoldenGate 用のユーザーの作成

・ENABLE_GOLDENGATE_REPLICATION初期化パラメータ有効化

※1

・Capture /Data Pump/Replicat プロセスのパラメータファイルの

編集・コンポーネントの追加

・ターゲット側への既存データのコピー

- DB機能 or GoldenGate 機能 で対応

・初期ロード以降の更新データの連携

※1 Oracle Database 11.2.0.4 / 12.1.0.1 以降で設定が必要

12c 新機能

(50)

より高性能に、より使いやすく

参考) 12c 新機能一覧

A. Capture/Replicatの新機能

A-1

Integrated Replicat

A-2

Coordinated Replicat

A-3

Native DDL capture

B. 新プラットフォーム対応

B-1 Oracle Database 12c対応

CDB/PDB対応

データ型拡張対応(Large Varchar)

B-2 その他プラットフォーム対応

C. セキュリティ

C-1

資格証明ストアによるユーザ情報管理

C-2

マスターキー&ウォレット方式による暗号化

D. 利用容易性

D-1

Automatic Discard

D-2

SHOWSYNTAXの強化

D-3

Schema Wildcard

D-4

Oracle Universal Installerの利用

D-5

グローバライゼーション・サポートの強化

(51)

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/

マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

Appendix

1

2

3

4

5

(52)

Document Control

Author

日本オラクル株式会社

南野 英梨子

Reviewer

日本オラクル株式会社

谷川 信朗

後藤 陽介

浅井 純

小西 亮輔

別府 真由美

植田 智広

正木 能長

舟橋 直美

変更履歴

Date

Version

2015/4

1.0

Created.

2015/9

1.1

テンプレート変更

(53)
(54)
(55)

参照

関連したドキュメント

 ・ ナンバープレートを破損、紛失したとき   ・ 住所、氏名、定置場等に変更があったとき  ・

タッチON/OFF判定 CinX Data Registerの更新 Result Data 1/2 Registerの更新 Error Status Registerの更新 Error Status Channel 1/2 Registerの更新 (X=0,1,…,15).

最終的な認定データおよび特性データは最終製品 / プロセス変更通知 (FPCN) に含まれます。この IPCN は、変 更実施から少なくとも 90

章番号 ページ番号 変更後 変更前

変更条文 変更概要 関連する法令/上流文書 等 説明事項抽出結果

原子力規制委員会 設置法の一部の施 行に伴う変更(新 規制基準の施行に 伴う変更). 実用発電用原子炉 の設置,運転等に

章番号 ページ番号 変更後 変更前 変更理由.. 1 補足説明資

お客さまの希望によって供給設備を変更する場合(新たに電気を使用され