50
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介 日本オラクル株式会社 データベース事業統括 製品戦略統括本部 データベースエンジニアリング本部 Database & Exadata 技術部 応用技術グループ セールスコンサルタント 南野 英梨子 注意本資料は2015220日に実施したセミナー資料の公開版です。一部内容は今後更新される可能性が ありますので、最新情報はOracle Technical Networkに掲載する資料をご参照下さい。

スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介 日本オラクル株式会社 データベース事業統括 製品戦略統括本部 データベースエンジニアリング本部 Database & Exadata 技術部 応用技術グループ セールスコンサルタント 南野 英梨子

※注意※本資料は2015年2月20日に実施したセミナー資料の公開版です。一部内容は今後更新される可能性がありますので、最新情報はOracle Technical Networkに掲載する資料をご参照下さい。

Page 2: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

免責事項

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。 Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。 他社名又は製品名は、それぞれ各社の商標である場合があります。

Page 3: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/ マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

1

2

3

4

3

Page 4: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/ マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

1

2

3

4

4

Page 5: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

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

5

ソース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関連の通信や更新

Page 6: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

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

6

ソース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 全体を管理するプロセス

変更情報を転送するプロセス

変更情報を適用するプロセス

変更情報を受信するプロセス

処理地点を記録するファイル

変更情報を格納するファイル

Page 7: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Manager プロセス

GoldenGate 全体の管理プロセス

• 各プロセスの管理

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

– ポート番号の管理

• Trail ファイルの管理

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

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

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

7

REDO log

Checkpoint Checkpoint

Capture Data Pump

Trail file

GoldenGate

Manager

Source

Error log

Page 8: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Capture プロセス

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

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

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

• Capture プロセスのモード

8

Classic Capture • Oracle GoldenGate がサポートする全データベースで利用可能

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

• Oracle Database のみで利用可能 • DBの機能 (Database LogMining Server) を使って変更履歴を抽出

• RAC / DG / RMAN / ASM / TDE,TSE 等のOracle Database 機能との親和性

• 圧縮 / XA対応

Integrated Capture (11.2-)

Page 9: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Capture プロセス

9

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

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

Page 10: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

LCR

Capture プロセス

10

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

Report File Discard File

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

Page 11: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Capture プロセスの動作

11

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

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 ファイルに書き込む

Page 12: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

データ連携イメージ

12

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

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 された更新処理を抽出

Page 13: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

チェックポイント

13

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

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 ファイルの書込み位置

Page 14: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Bounded Recovery

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 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

最も古いオープン トランザクションの 開始時点

リカバリ・ チェックポイント

読み込み チェック ポイント

書き込み チェック ポイント

Page 15: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Trail ファイル

•含まれる情報 –変更データやトランザクションなどの変更情報

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

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

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

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

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

15

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

Page 16: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Data Pump / Collector プロセス

Data Pump プロセス

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

• 圧縮・暗号化も可

Collector プロセス

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

• Manager プロセスが自動的に起動するため、ユーザーが操作する必要はない

16

Page 17: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Data Pump / Collector プロセス

17

Checkpoint

Data Pump

GoldenGate

Trail file

Manager

Collector

Trail file

GoldenGate

Source Target

2.接続済のCollecterに変更データを送信

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

【起動時】Data Pump がターゲット側の Manager に接続要求 Manager が Collector 起動し、ポート番号をData Pump に通知

Capture

Manager

1. Trail ファイルから変更データを抽出

Replicat

3. 受信した更新データを Trail ファイルに書き出す

Page 18: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Data Pump / Collector プロセス

Trail ファイルからの読み込みタイミング • 変更情報の更新を検知すると読み込みを始め、終端(EOF) に到達するまで読み続ける

• 定期的に変更情報更新の確認を実施 –デフォルト 1秒、最少 10ミリ –パラメータ(EOFDELAY or EOFDELAYCSECS)で変更可

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

–パラメータ (FLUSHSECS or FLUSHCSECS)で指定した間隔 • デフォルト 1秒、最少 10ミリ

18

読み込み・転送タイミング

Page 19: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Data Pump / Collector プロセス

転送方式 • NOPASSHRU モード(デフォルト) –ソースDBから設定・メタデータなどの情報を取得 –データ・マッピングの変更、フィルタの適用、データ変換等が可能

• PASSTHRU モード –ソースDBに接続せずに Trail ファイルから直接取得 –より高速に転送することが可能

19

Data Pump プロセスから Collector プロセスへの転送方式

Page 20: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat プロセス

• Trail ファイルの変更データの情報を読み込み、ターゲットDBに適用するプロセス – 変更データから適用内容を生成するため、ソース側で実行された SQL と同一ではない

• Replicat プロセスのモード

20

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 新機能

Page 21: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat プロセス

21

Non-Integrated Replicat /Coordinated Replicat

Checkpoint

Trail File

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

2.パラメータファイルに記載したルールや Defgen ファイルやDB情報に基づき、データのフィルタリング・マッピング・変換を実行

Parameter File Defgen File

読み 込み

フォーマッティング

フィルタリング

変換 マッピング

SQL生成

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

1. Trail ファイルから 変更データを読み込む GoldenGate

Collecter

ターゲット データベース

Target

※ for Oracleの動作になります

Report File Discard File

変更データの流れ その他 GG関連の通信や更新

Non-Integrated Replicat

Page 22: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat プロセス

22

Integrated Replicat

Trail File

Checkpoint

Target

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

2.パラメータファイルに記載したルールや Defgen ファイルやDB情報に基づき、データのフィルタリング・マッピング・変換を実行

Parameter File Defgen File

読み 込み

フォーマッティング

フィルタリング

変換 マッピング

LCR 生成

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

GoldenGate

Collecter

ターゲット データベース

1. Trail ファイルから 変更データを読み込む

Database LogMining

Server

LCR

12c 新機能

4.適用サーバーが 変更データを適用

※ for Oracleの動作になります

Report File Discard File

変更データの流れ その他 GG関連の通信や更新

Integrated Replicat

Page 23: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

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

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

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

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

• 設定

– Replicat に CHARMAP パラメータを使用

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

23

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 新機能

Page 24: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat プロセス

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

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

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

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

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

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

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

– 通常、1件ずつ適用

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

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

24

読み込み・適用タイミング

Page 25: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat プロセス

25

各モードの違い

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-

○ 単一可 ・ワークロードに応じて自動的にパラレル化 ・トランザクション一貫性担保

Page 26: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat プロセス

26

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

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

Page 27: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

処理グループ

• プロセスとその関連ファイルの組み合わせ – Extract / Replicat プロセス

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

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

•全てのプロセスはグループ内のファイルとリンクしている必要がある –ファイルが消失・破損している場合には起動不可

27

Page 28: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/ マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

1

2

3

4

28

Page 29: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

DDL レプリケーション

• DML とは独立して動作

• GoldenGate 側で追加設定が必要

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

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

29

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経由で変更を検知 • 専用オブジェクトのインストールは不要

12c 新機能

Page 30: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

DDL レプリケーション

30

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 ファイルに書き込む

12c 新機能

Page 31: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

DDL Capture手法の選択

• ソース・データベースの種類やバージョンによって、利用可能Captureの方式や、DDL Captureの方式が異なります。

31

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

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 新機能

Page 32: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Sequenceレプリケーション

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

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

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

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

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

32

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

DataPump

Page 33: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/ マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

1

2

3

4

33

Page 34: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Oracle Real Application Clusters(RAC)環境

• GoldenGate プロセスが起動するのは、基本的に1ノードのみ

– 単一の Extract (Capture) が、全 REDO スレッドを読み込み、Trail ファイルに書き込む

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

– GoldenGate のバイナリは、全 RAC ノードで起動できるように設計

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

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

34

Oracle Grid Infrastructure

Oracle Real Application Clusters

GoldenGate

Capture

GoldenGate

Trail file REDO log Thread #1

REDO log Thread #2 Checkpoint Checkpoint

DataPump

Page 35: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

マルチテナント・コンテナ・データベース(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

35

Oracle Database 12c 新機能

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

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

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

CDBは、単一のデータベース(SGA、バックグラウンド プロセス、REDOログなど)を、複数の論理データベース(PDB)で共有する仕組み。PDB単位の管理等が容易。

シード (PDB$SEED)

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

ユーザデータ テンプレート

ルート(CDB$ROOT)

12c 新機能

Page 36: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

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

36

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

Page 37: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/ マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

1

2

3

4

37

Page 38: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Active-Active の連携パターン

38

更新 – 参照 更新 – 更新(競合なし) 更新 – 更新(競合あり)

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 に反映されるまでのタイムラグ 競合検知と解決

Page 39: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

INSERT

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

39

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

Page 40: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

DELETE

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

40

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

Page 41: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

UPDATE

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

41

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

Page 42: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Replicat

Conflict Detection and Resolution(CDR)

42

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

ケース毎の対応方法の設定 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

Page 43: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

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

43

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 CHANGE_TS 7369 SMITH 01/05 14:00 8274 SCOTT 01/06 15:00

EMPNO(PK) ENAME CHANGE_TS 7369 JACK 01/06 18:30 8274 SCOTT 01/06 15:00

UPDATE

EMPNO(PK) ENAME CHANGE_TS 7369 SMITH 01/05 14:00 8274 SCOTT 01/06 15:00

EMPNO(PK) ENAME CHANGE_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 CHANGE_TS 7369 JOHN 01/06 18:35 8274 SCOTT 01/06 15:00

Parameter File Time axis

Page 44: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

UPDATE

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

44

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 は正常稼働 ルールに基づく意図したデータ ルールに基づく意図したデータ

Time axis

Page 45: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

参考: Replicat が解決する競合

45

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

競合シナリオ 競合解消方法

Page 46: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Oracle GoldenGate アーキテクチャ

DDL/SEQUENCE レプリケーション

Oracle Real Application Clusters(RAC)環境/ マルチテナント・コンテナ・データベース(CDB) 環境

双方向同期

1

2

3

4

46

Page 47: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

GoldenGate 構成ステップ

1 • GoldenGate インストール

2 • Manager プロセスの設定

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

4 •各プロセスの構成

5 •初期ロード

6 •データ連携開始

47

・- 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 新機能

Page 48: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

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

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 グローバライゼーション・サポートの強化

12c 新機能

Page 49: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 49

Page 50: スペシャリストが語る、 Oracle GoldenGate テクニカルセミナー · Oracle GoldenGate テクニカルセミナー Session 2 : Oracle GoldenGate アーキテクチャ概要と12c新機能のご紹介