105
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | プロフェッショナルが語る!Oracle GoldenGate テクニカルセミナー Oracle GoldenGate 新機能情報 2016511日本オラクル株式会社 クラウド・テクノロジー事業統括 CloudBig DataDISプロダクト本部 エンジニアリング部 後藤 陽介

GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

  • View
    423

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

プロフェッショナルが語る!Oracle GoldenGate テクニカルセミナー

Oracle GoldenGate 新機能情報

2016年5月11日 日本オラクル株式会社 クラウド・テクノロジー事業統括 Cloud/Big Data/DISプロダクト本部 エンジニアリング部 後藤 陽介

Page 2: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

2

Page 3: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

3

Page 4: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

4

Page 5: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

5

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 6: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Automatic Heartbeat Table (OGG Core)

6

End-to-End の レプリケーション・ラグ監視を製品機能でサポート

• OGG のLag コマンドは便利だが、万能ではない

1. 各OGGプロセスの処理の遅れは確認できるが、ソース/ターゲットDB間の時間差は確認できない

2. ラグ情報の正確性は、レプリケーションが正常稼働していることが前提

• 上記を補うため、遅延管理用のダミー表(Heartbeat Table)を手動作成し、定期更新とレプリケーションを設定(※)

• Lagコマンドは正常稼働時の性能監視用途で使用

今まで

• Heartbeat Table の作成・更新・レプリケーション設定・参照ビュー製品機能として提供

• ユースケース(例) 1. 遅延管理に使用。「データが届いてな

い」と言われたら、まずHeartbeat Tableを確認。

2. 移行・メンテナンスによる切り替えを行う時に「伝搬済みトランザクション」を時刻ベースで確認

運用設計・運用管理をより簡単に

GoldenGate 12.2

※ MOSでサンプルドキュメントも公開 Heartbeat Table for Monitoring Lag times (ドキュメントID 1299679.1)

Page 7: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate

GoldenGateのlagコマンド

更新ログ

抽出 プロセス (Capture)

転送 プロセス

(DataPump)

Trailファイル

GoldenGate

受信 プロセス

(Collector)

適用 プロセス (Replicat)

Trailファイル SQL を発行

例:Replicat lag = (最新トランザクションを処理したタイムスタンプ)

– (ソースDBでのコミットタイムスタンプ) •Replicat プロセス内で計算可能なので軽量 •End-to-Endのラグは確認できない

コマンド実行例

GGSCI > lag replicat rep01

Sending GETLAG request to REPLICAT REP01 ...

Last record lag: 2 seconds. ラグは2秒

At EOF, no more records to process. Trailファイルの終端まで処理済み

Page 8: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

ターゲットDBサーバ

Oracle Database

• 各処理ステップでHeartbeat関連表にタイムスタンプを更新しながらレプリケーションすることでラグ情報等を転送する。(ソース/ターゲットのタイムスタンプを合わせる)

ソースDBサーバ

Oracle Database

Automatic Heartbeat Tableの仕組み

GG_HEARTBEAT_SEED表

Oracle GoldenGate

GG_HEARTBEAT表

片方向レプリケーション の場合、ソース側は空。

GG_UPDATE_HEARTBEATS スケジューラ・ジョブ

GG_UPDATE_HB_TAB プロシージャ

60秒毎 にキック

現在時刻(SYSTIMESTAMP) でタイムスタンプを更新。 更新された行が伝播される。

CAPTURE

Trail Record

Trail Recordに プロセス名と 現在時刻 を追記

DATAPUMP

Trail Record

Trail Recordに サーバ名と プロセス名と 現在時刻 を追記

GoldenGate

REPLICAT

Trail Record

プロセス名と 現在時刻と共に

Trail Recordを HEARTBEAT表と

HISTORY表へ 更新

GG_HEARTBEAT_SEED表

GG_HEARTBEAT表

GG_HEARTBEAT_HISTORY

一般的な片方向レプリケーション構成の場合の仕組み

GG_PURGE_ HEARTBEATS スケジューラ・ジョブ

GG_PURGE_HB_TAB プロシージャ

1日毎 にキック

30日より古い データを削除

不要な 列を 削除

Page 9: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

既存ソリューションとの比較

9

Lagコマンド WhitePaperによる Heartbeat Table

Automatic Heartbeat Table(NEW! R12.2~)

元となる時間情報

Lag Start Time:DBのTimestamp Lag End Time:システムクロック

特に指定なし(カスタマイズ可能なので、自分で選択)

HEARTBEAT_TIMESTAMP:DB 各プロセス:システムクロック

障害検知での利用

△ GGプロセス停止時はエラーが

返るため検知可能。それ以外は正常終了するため検知できない。

○ GGプロセス障害だけでなく、

ネットワーク障害などによる伝播遅延も検知できる。

○ GGプロセス障害だけでなく、

ネットワーク障害などによる伝播遅延も検知できる。

セットアップの手間

△ 各プロセスごとにLagコマンドを

定期実行するスクリプトを自作する必要がある。

△ White Paperのサンプルを参考

にしながら伝播確認用の表を作成する必要がある。

製品機能にて提供しており「ADD HEARTBEATTABLE」コマンドを実行することで使用可能。

取得情報の加工

△ 取得データを元に更新時間の差を算出する必要がある。

△ 取得データを元に更新時間の差を算出する必要がある。

必要な情報はビューから参照できる。

履歴情報の保持

△ 履歴情報を保持・パージするスクリプトを自作する必要がある。

△ 履歴情報を保持・パージするスクリプトを自作する必要がある。

履歴表を自動的に更新・パージする機能がある。

サポート ○ 製品機能としてサポート × 製品としてサポート不可 ○ 製品機能としてサポート

Page 10: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Heartbeat表/Heartbeat Seed表に含まれる列

基本列

LOCAL_DATABASE ローカルデータベースの名前。

HEARTBEAT_TIMESTAMP タイムスタンプ。(GG_UPDATE_HB_TABプロシージャが全ての行を定期的に更新)

REMOTE_DATABASE リモートデータベースの名前。

10

Outgoing情報

OUTGOING_EXTRACT ローカルのEXTRACT

OUTGOING_ROUTING_PATH リモートへのパス

OUTGOING_REPLICAT リモートのREPLICAT

OUTGOING_HEARTBEAT_TS 各プロセスで更新されたタイムスタンプ OUTGOING_EXTRACT_TS

OUTGOING_ROUTING_TS

OUTGOING_REPLICAT_TS

Incoming情報

INCOMING_EXTRACT リモートのEXTRACT

INCOMING_ROUTING_PATH リモートからのパス

INCOMING_REPLICAT ローカルのREPLICAT

INCOMING_HEARTBEAT_TS 各プロセスで更新されたタイムスタンプ INCOMING_EXTRACT_TS

INCOMING_ROUTING_TS

INCOMING_REPLICAT_TS

• Heartbeat表、Seed表には下記の列が含まれています。*変更される可能性があります。

Page 11: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

単方向レプリケーションの場合の動き

11

ソースDB DB1

DataPumpP1

Capture C1

Replicat R1

ターゲットDB DB2 Collector

LOCAL_DATABASE DB1 DB1 DB1 DB1 DB1

REMOTE_DATABASE DB2 DB2 DB2 DB2 DB2

OUTGOING_EXTRACT C1 C1 C1 C1

OUTGOING_EXTRACT_TS xx:xx xx:xx xx:xx xx:xx

OUTGOING_ROUTING_PATH D1:P1 D1:P1 D1:P1

OUTGOING_ROUTING_TS xx:xx xx:xx xx:xx

OUTGOING_REPLICAT

OUTGOING_REPLICAT_TS

INCOMING_EXTRACT

INCOMING_EXTRACT_TS

INCOMING_ROUTING_PATH

INCOMING_ROUTING_TS

INCOMING_REPLICAT

INCOMING_REPLICAT_TS

DB1 LOCAL_DATABASE

DB2 REMOTE_DATABASE

OUTGOING_EXTRACT

OUTGOING_EXTRACT_TS

OUTGOING_ROUTING_PATH

OUTGOING_ROUTING_TS

OUTGOING_REPLICAT

OUTGOING_REPLICAT_TS

C1 INCOMING_EXTRACT

xx:xx INCOMING_EXTRACT_TS

D1:P1 INCOMING_ROUTING_PATH

xx:xx INCOMING_ROUTING_TS

R1 INCOMING_REPLICAT

xx:xx INCOMING_REPLICAT_TS

GG_HEARTBEAT_SEED表 GG_HEARTBEAT表

GG_HEARTBEAT_HISTORY表

Page 12: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

双方向レプリケーションの場合の動き

12

DB1

DataPumpP13

Capture C1

LOCAL_ DATABASE

REMOTE_ DATABASE

INCOMING_ ROUTING_PATH

OUTGOING_ ROUTING_PATH

DB1 DB2 C2→D2:p2→R1 C1→D1:p12→R2

DB1 DB3 C3→D3→R1 C1→D1→R3

GG_HEARTBEAT表

GG_HEARTBEAT表

DB3

DataPumpP12

Replicat R1

DB2

LOCAL_ DATABASE

REMOTE_ DATABASE

INCOMING_ ROUTING_PATH

OUTGOING_ ROUTING_PATH

DB3 DB1 C1→D1:p13→R3 C3→D3:p3→R1

Capture C3

GG_HEARTBEAT表

LOCAL_ DATABASE

REMOTE_ DATABASE

INCOMING_ ROUTING_PATAH

OUTGOING_ ROUTING_PATH

DB2 DB1 C1→D1:p12→R2 C2→D2:p2→R1

Capture R2

Replicat R2

Replicat R3

DataPump p2

DataPump p3

DB1からDB2/DB3に対して、双方向レプリケーションを構成している場合

Page 13: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Automatic Heartbeat表利用環境の作成

• ADD HEARTBEATTABLEコマンドでAutomatic Heartbeat関連オブジェクトを作成します。

– データベースのGGユーザスキーマ内にAutomatic HeartbeatTable機能に必要なオブジェクトが作成されます。また、HEARTBEAT_SEED表とHEARTBEAT表にサプリメンタルロギングが設定されます。実行には事前にDBのログインが必要です。

13

ADD HEARTBEATTABLE [, FREQUENCY number in seconds] [, RETENTION_TIME number in days] | [, PURGE_FREQUENCY number in days]

パラメータ名 説明 デフォルト

FREQUENCY frequency GG_HEARTBEAT_SEED表とGG_HEARTBEAT表のタイムスタンプを更新する頻度(秒)

60秒

RETENTION_TIME retention_time_interval GG_HEARTBEAT_HISTORY表のデータを保持する日数(日) 30日

PURGE_FREQUENCY purge_frequency GG_PURGE_HEARTBEATSスケジューラ・ジョブによりパージ用のプロシージャGG_PURGE_HB_TABがキックされ、RETENTION_TIMEで指定した日数よりも古いデータが削除される頻度(日)

1日

Page 14: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• INFO HEARTBEATTABLEコマンドでHEARTBEAT表の情報を確認できます。

• 実行結果イメージ(既にHeartbeat Tableが作成されている場合)

Automatic Heartbeat表の情報確認

14

GGSCI > INFO HEARTBEATTABLE

GGSCI > INFO HEARTBEATTABLE HEARTBEAT table GGS.GG_HEARTBEAT exists. HEARTBEAT table GGS.GG_HEARTBEAT_SEED exists. HEARTBEAT table GGS.GG_HEARTBEAT_HISTORY exists. Frequency interval: 60 seconds. Purge frequency interval: 1 days. Retention time: 30 days.

Page 15: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

ENABLE_HEARTBEAT_TABLE パラメータ

• 下記のパラメータを設定して、Automatic Heartbeat Table機能を有効化/無効化します。

15

ENABLE_HEARTBEAT_TABLE

ENABLE_HEARTBEAT_TABLE| DISABLE_HEARTBEAT_TABLE

説明 GG_HEARTBEAT表からのレコードを処理するか否かを設定するパラメータ

対応コンポーネント EXTRACT、REPLICAT、GLOBALS

デフォルト ENABLE_HEARTBEAT_TABLE

対応モード Extract(Classic Capture、Integrated Capture、DataPump) Replicat(Non-integrated Replicat、Integrated Replicat、Coordinated Replicat)

Page 16: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

DBMS_SCHEDULERによる更新状況の確認

• Oracle Databaseの場合、DBMS_SCHEDULERによりHeartbeat表が更新されます。下記のSQL文で次にいつジョブが実行されるかが確認できます。

– NEXT_RUN_DATEの値を確認して、このタイムスタンプが過去の時刻になっている場合は、うまく動作していない可能性があります。主な原因の一つとしては、job_queue_processesの設定値が低すぎる可能性があります。その場合は下記のSQLでjob_queue_processesの設定値を増やして下さい。

16

SQL> SELECT start_date, last_start_date, next_run_date FROM dba_schduler_jobs WHERE job_name = ‘GG_UPDATE_HEARTBEATS’;

SQL> ALTER SYSTEM SET job_queue_processes=<# of job queue process>

Page 17: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• LAG EXTRACT/REPLICATのGLOBALオプションを使用すると、従来のLAG情報に加えて、GG_LAGビューの情報をGGSCIから確認できます。

LAG情報の確認(GGSCIから確認)

17

LAG EXTRACT [, group_name[threadID]name] [, GLOBAL] LAG REPLICAT [, group_name[threadID]name] [, GLOBAL]

GGSCI > lag extract cext, global

Lag Information From Heartbeat Table

LAG AGE FROM TO PATH

5.78s 7.51s DB12102 DB12102_2 CEXT ==> CDMP ==> CRPL

4.80s 1m 7.55s DB12102 DB12102_2 CEXT ==> CDMP ==> CRPL

Sending GETLAG request to EXTRACT CEXT ...

Last record lag 2 seconds.

At EOF, no more records to process.

Page 18: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

LAG情報の確認(SQLPLUSから確認)GG_LAGビュー

• HEARTBEAT表の内容を見やすくしたものが、GG_LAGビューです。

• OracleデータベースのSQL*Plusで参照できます。

18

列 説明

LOCAL_DATABASE ローカルデータベースの名前。(=LOCAL_DATABASE)

CURRENT_LOCAL_TS ローカルデータベースのタイムスタンプ(=SYSTIMESTAMP) 協定標準時で表示されます。

REMOTE_DATABASE リモートデータベースの名前。(=REMOTE_DATABASE)

INCOMING_HEARTBEAT_AGE INCOMINGのHeartbeat情報の古さ(=SYSTIMESTAMP-INCOMING_HEARTBEAT_TS)

INCOMING_PATH INCOMINGのパス(=INCOMING_EXTRACT → INCOMING_ROUTING_PATH → INCOMING_REPLICAT)

INCOMING_LAG INCOMINGのラグ(=INCOMING_REPLICAT_TS -INCOMING_HEARTBEAT_TS)

OUTGOING_HEARTBEAT_AGE OUTCOMINGのHeartbeat情報の古さ(=SYSTIMESTAMP-OUTGOING_HEARTBEAT_TS)

OUTGOING_PATH OUTGOINGのパス(=OUTGOING_EXTRACT → OUTGOING_ROUTING_PATH → OUTGOING_REPLICAT)

OUTGOING_LAG OUTGOINGのラグ(=OUTGOING_REPLICAT_TS -OUTGOING_HEARTBEAT_TS)

Page 19: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

LAG情報の確認(SQLPLUSから確認)GG_LAGビュー表示例

19

SQL> select * from gg_lag;

LOCAL_DATABASE CURRENT_LOCAL_TS REMOTE_DATABASE

--------------- ------------------------------ ---------------

INCOMING_HEARTBEAT_AGE INCOMING_PATH INCOMING_LAG

---------------------- ------------------------------ ------------

OUTGOING_HEARTBEAT_AGE OUTGOING_PATH OUTGOING_LAG

---------------------- ------------------------------ ------------

DB12102 16-02-19 02:48:13.284000 DB12102_2

25.729 CEXT ==> CDMP ==> CRPL 5.701

83.653 CEXT ==> CDMP ==> CRPL 4.582

Page 20: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Heartbeat表使用時における推奨事項

•分析を容易にするために、全てのデータベースにおいて同じHeartbeatの頻度を設定することを推奨します。

•格納領域に問題がある場合は、保持期間を調整して下さい。

•基本的にデフォルトのHeartbeat頻度を変更しないことを推奨します。(頻度が30~60秒程度がほとんどのワークロードにおいて最良の結果を出します)

20

Page 21: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

21

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 22: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Instantiation CSN(※) Support (for Oracle DB)

22

初期ロード・再同期・伝搬表追加が容易に

• システム無停止の初期ロード 1. Flashback_scn付きのexpdp : UNDOアク

セスの考慮が必要 2. Handlecollisions : 主キーが無い表への

考慮が必要 3. クローンDBの構築:追加資産が必要 • システム要件に依存して、上記方式の選択と組み合わせが必要

今まで

• Oracle Data PumpユーティリティとGoldenGateが連携し、エクスポート断面(SCN)とレプリケーション開始断面(SCN)を表ごとに自動的に合わせる

GoldenGateレプリケーション構築の方式作成と自動化が容易に

GoldenGate 12.2

※ CSN:Commit Sequence Number (GoldenGate用語) SCN:System Change Number (Oracle用語)

Page 23: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Oracle Data Pumpを使ったシステム無停止の初期ロード

23

Capture

Expdp + flashback_scn dmp

Pump Replicat

②dmp取得(表A,B共にSCN2222)

③Import

④Replicat起動 (SCN2222から適用)

表A

表B

従来 内部的にフラッシュバッククエリ を使用してエクスポート

表A

表B

Capture

Expdp dmp

Pump Replicat

②dmp取得(表AはSCN2230、表BはSCN2240)

③Import

④Replicat起動 (表AはSCN2230から適用 表BはSCN2240から適用)

表A

表B

GoldenGate 12.2

表A

表B

①Capture開始 (SCN1111)

①Capture開始 (SCN1111)

表ごとのSCN断面を記録しながら エクスポート

Page 24: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Instantiation CSNサポート概要

• 概要

– Oracle Data Pumpとの連携を強化

– 各表のCSNを保持し、各表を適用する時点を管理してデータを移行することが可能

– Replicat側での設定が不要。(HANDLECOLLISION、@FILTER(@GETENV(‘TRANSATION’,’CSN’)、AfterCSN)

• 対象

– Oracle database(DML/DDL)

• 関連コマンド/オプション

– ADD TRANDATA/SCHEMATRANDATA PREPARECSN オプション

– INFO TRANDATA/SCHEMATRANDATAによるインスタンス化の状況確認

– DBOPTIONS ENABLE_INSTANTIATION_FILTERINGオプション (Replicatパラメータ)

– SET_INSTANTIATION_CSNコマンド (expdp以外で初期ロードする場合のInstantiation CSNを手動設定)

24

Page 25: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• Source側

1. ADD TRANDATA/SCHEMATRANDATAでPREPARECSNオプションを使用して、表の自動インスタンス化の準備を行う

2. INFO TRANDATA/SCHEMATRANDATAでインスタンス化の状況を確認する

3. (Target側の)Replicatを止める

4. Extractを起動する

5. Oracle Data Pumpユーティリティを使用して、表データをExportする。Flashback_scnオプションは指定しなくても構わない。

• Target側

6. Oracle Data Pumpユーティリティを使用して、Source側でExportしたダンプファイルをインポートする。この際、システム表やビューにInstantiation SCNが展開される。

• Expdp時にFlashback_scnを指定した場合はflashback_scnで指定されたCSNが利用される。

• 指定しなかった場合は、preparecsnで準備したCSNが利用される。

7. Replicatパラメータファイルに、DBOPTIONS ENABLE_INSTANTIATION_FILTERING オプションを指定して、Replicatを起動する。(Aftercsnオプションは不要)

8. Replicatによってステップ6で展開されたCSN値より大きいトランザクションだけが適用される。

25

作業の流れ(例)

Page 26: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Instantiation CSN Support (for Oracle DB)

26

その他のユースケース

Capture

Expdp dmp

Pump Replicat

③表Cのdmp取得

④Import

① Replicatを停止

表A

表B

表A,表Bをレプリケーションしている状態から、表Cをレプリケーション対象に追加する

表A

表B

②表Cのキャプチャ 対象に設定しておく (必要に応じてCaptureの パラメータ編集と再起動)

表C 表C

⑤ DBOPTIONS ENABLE_INSTANTIATION_FILTERING オプションの設定を確認の上、Replicatを起動

この手法が活用できるケース 1. 業務要件に従い、レプリケーション対象を後で追加する 2. 初期ロードを段階的に行いながらレプリケーションを構築する 3. 一部の表で不整合が発見された場合の再同期 SCN値をコマンドやパラメータに埋め込む必要が無いため、 手順化・自動化が容易

Page 27: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

OGG 12.2でも注意が必要 初期ロード時のロングトランザクション

• 初期ロード後にcommitしたはずのトランザクションが伝播できていない? – Captureは構成後に開始したトランザクションのみをキャプチャ

• 対処方法

– Trailファイル / アーカイブ・ログから分析

• 対策 – Capture構成前にv$transaction(gv$transaction)等でオープントランザクションを確認

27

時間

Capture 構成

Tx1 begin

Tx1 commit

Tx2 begin

Tx2 commit

初期ロード

Tx3 begin

Tx3 commit

Tx 1 : GoldenGateで伝搬

Tx 2 : 初期ロードで伝搬

Tx 3 : GoldenGateでも初期ロードでも伝搬されない

Page 28: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

28

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 29: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Metadata Encapsulation (OGG Core)

29

異機種間レプリケーションの構成が容易に

• 異なる環境間でのレプリケーションや、データ変換を伴うレプリケーションの構成には、以下の流れで「定義ファイル」の設定作業が必要

1. 定義ファイル生成のためのパラメータ・ファイルを作成

2. Defgenユーティリティで定義ファイルを生成

3. 定義ファイルをターゲット(またはソース)に転送し、Replicat(またはExtract)のパラメータ内で指定

今まで

• 定義ファイルと同等の情報をTrailファイルに格納する

追加作業が不要になり、レプリケーションの設計に注力できる

GoldenGate 12.2

Page 30: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Metadata Encapsulation(Self-describing Trail File)とは?

• 機能概要

– Trailファイル内に自動的にソース・データベース定義のメタデータを格納して転送する仕組み。

• R12.1までとの違い

– DEFGENを使用せずに異なるオブジェクト間でのレプリケーションが可能

– 異なる構造を持つデータベースの間でレプリケーションを行う構成での管理が容易に

30

ソース定義ファイルを別途ターゲットに転送する必要あり メタデータ

ターゲットDB ソースDB Trail

Network (TCP/IP)

DataPump Capture Collector Replicat Trail

メタデータ メタデータ

Defgen

GG 12.2

ターゲットDB ソースDB Trail

Network (TCP/IP) DataPump Capture Collector Replicat

Trail

従来の 方式

メタデータ

*この機能はTrailフォーマットがR12.2.0.1以上で使用可能ですので、現状はソース・ターゲット共にGG12.2である必要があります。

Page 31: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

前提知識: SOURCEDEFS/ASSUMETARGETDEFSパラメータ

• SOURCEDEFSパラメータ(Data PumpプロセスおよびReplicatプロセスで使用)

– 異なる定義を持つソースとターゲット間でレプリケーションする場合に使用。

– DEFGENユーティリティでソース定義ファイルを作成し、DataPumpやReplicat起動前に定義ファイルを配置しておき、このパラメータでソース定義ファイルの位置を指定する。

• ASSUMETARGETDEFSパラメータ(Replicatプロセスで使用)

– ReplicatのMAP文で指定したソースおよびターゲットオブジェクトが同一の構造を持つ場合に使用。

– GoldenGateがソースおよびターゲット・オブジェクトのデータ定義が同一であるとみなし、ソースの定義情報が必要な場合にターゲットの定義情報を参照するようにする。

31

構成の違い 従来(R12.1まで) R12.2

ソースとターゲットの同一環境の場合 変換処理を行わない。(ASSUMETARGETDEFSパラメータを利用) 基本的にこれらのパラメータの使用は不要 (SOURCEDEFSやASSUMETARGETDEFSも使用することは可能)

ソースとターゲットと異なる構造の場合 変換処理を行う。(SOURCEDEFSパラメータを使用)

ソースとターゲットの構造が同一のものと異なるものが混在する場合

変換処理を行うものと行わないものを区別して定義する。(ASSUMETARGETDEFS、SOURCEDEFSパラメータ両方を使用)

*異なる構造の定義については、マニュアルをご参照ください。

Page 32: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

A.定義レコードの書き込み(Capture/DataPumpプロセス)

• メタデータを格納するための定義レコードを作成してTrailに挿入

• 新しい2種類の定義レコード

– データベース定義レコード(Database Definition Record: DDR)

• DB固有の定義情報を格納(キャラクタセット・タイムゾーン・プラガブルDB固有情報など)

– 表定義レコード(Table Definition Record: TDR)

• 表と列の定義情報を格納(表名、列数、データ型、データ長など)

• 行変更レコードと同じ形式で書きこまれる

32

2種類の定義レコード

DataPump Capture

Trail

ソース定義 ソースDB

定義レコード生成 ターゲット・ システム

32

Page 33: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

A.定義レコードの書き込み(Capture/DataPumpプロセス)

33

定義レコードが書き込まれるタイミング

33

• TDRの前に、その表が含まれるDBのDDRが書き込まれる。(赤矢印)

– 但し、同じTrailファイル内に該当DDRが既に書かれている場合は、DDRは書きこまれない。

• DMLの前には、その行が含まれる表のTDRが書き込まれる。(黒矢印)

– 但し、同じTrailファイル内に該当TDRが既に書かれている場合は、TDRは書きこまれない。

• DDRとTDRは、リカバリ簡素化・メタデータ損失リスク低減のため、各Trailファイルに毎回書かれる。

• 表定義が変更されると、該当表に対する他のDMLが来たタイミングで、新しいTDRが追加される。

Page 34: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

A.定義レコードの書き込み(Capture/DataPumpプロセス)

• OBJECTDEFS(デフォルト)| NO_OBJECTDEFS でオブジェクト定義の挿入の有無を設定

– EXTFILE、EXTTRAIL、RMTFILE、RMTTRAILパラメータの新オプション

–出力先のTrailファイルはOracle GoldenGate固有フォーマット、かつformat releaseは12.2以上

34

オブジェクト定義書込みの設定

EXTTRAIL $data/ggs12.2/a1, OBJECTDEFS TABLE hr.*; EXTTRAIL $data/ggs12.2/a2, NO_OBJECTDEFS TABLE orders.*;

オブジェクト定義を含めた定義レコードを保持

オブジェクト定義なしで定義レコードを保持

Page 35: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

B.定義レコードの読み込み(DataPump/Replicatプロセス)

• <GLOBALS> USE_TRAILDEFS | NO_USE_TRAILDEFS

– 全てのDataPumpとReplicatプロセスで定義レコードを使用するか否かを制御

• <DataPump/Replicat> SOURCEDEFS/ASSUMETARGETDEFSのOVERRIDEオプション

– 個々のDataPumpやReplicatプロセスが強制的にSOURCEDEFSやASSUMETARGETDEFSパラメータを使用するように制御 (非推奨)

35

利用方法

USE_TRAILDEFS (デフォルト) NO_USE_TRAILDEFS

SOURCEDEFS Trailの定義レコードを使用 SOURCEDEFSの定義ファイルを使用

SOURCEDEFS OVERRIDE SOURCDEFSの定義ファイルを使用 SOURCEDEFSの定義ファイルを使用

ASSUMETARGETDEFS Trailの定義レコードを使用 ターゲットDBの定義を使用

ASSUMETARGETDEFS OVERRIDE ターゲットDBの定義を使用 ターゲットDBの定義を使用

指定なし Trailの定義レコードを使用 表定義が得られないためAbend

Page 36: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• DEFGEN出力に似た形式で定義レコードを表示可能

• メタデータをスキャンするためのコマンド

• DDRまたはTDRを指定して、スキャンする定義レコードのタイプを指定可能

C. メタデータ内容の確認(Logdumpユーティリティ)

36

利用方法

SCANFORMETADATA [DDR|TDR] [Index|NEXT] SFMD [DDR|TDR] [Index|NEXT]

Page 37: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

参考:Logdumpユーティリティ SCANFORMETADATA出力例 Logdump >scanformetadata tdr

___________________________________________________________________

Hdr-Ind : E (x45) Partition : . (x00)

UndoFlag : . (x00) BeforeAfter: A (x41)

RecLength : 192 (x00c0) IO Time : 2015/10/30 15:48:37.662.152

IOType : 170 (xaa) OrigNode : 2 (x02)

TransInd : . (x03) FormatType : R (x52)

SyskeyLen : 0 (x00) Incomplete : . (x00)

DDR/TDR Idx: (001, 001) AuditPos : 20689988

Continued : N (x00) RecCount : 1 (x01)

2015/10/30 15:48:37.662.152 Metadata Len 192 RBA 2866

Name: DEMO.T

*

1)Name 2)Data Type 3)External Length 4)Fetch Offset 5)Scale 6)Level

7)Null 8)Bump if Odd 9)Internal Length 10)Binary Length 11)Table Length 12)Most Sig DT

13)Least Sig DT 14)High Precision 15)Low Precision 16)Elementary Item 17)Occurs 18)Key Column

19)Sub DataType 20)Native DataType 21)Character Set 22)Character Length 23)LOB Type 24)Partial Type

*

TDR version: 1

Definition for table DEMO.T

Record Length: 72

Columns: 2

ID 64 50 0 0 0 1 0 50 50 50 0 0 0 0 1 0 1 2 2 -1 0 0 0

NAME 64 10 56 0 0 1 0 10 10 0 0 0 0 0 1 0 0 0 1 -1 0 0 0

End of definition

37

Page 38: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

利用条件

•対象構成 – HP NonStop(Guardian)以外のデータベースをサポート

• Open SystemからNonstopにレプリケートする場合は、Trailフォーマットを12.1以下に設定

• Trailファイルフォーマットの制約 – Oracle GoldenGate R12c(12.2.0.1)以上を利用する

–複数のTrailファイル構成において、古いTrailフォーマットと同時に12c(12.2.0.1)フォーマットを生成することはできない。全て12.2フォーマットにするか、全て以前のTrailフォーマットにするかを選択する必要がある

– FORMATASCII、FORMATSQL、FORMATXMLのTrailはメタデータを含むことができない

– Reverseユーティリティは、R12.2のTrailフォーマットをサポートしない

38

Page 39: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

39

※ OGG Core:RDBMSの種類に依存しない機能

Page 40: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Parameter Simplification

• 概要

– GoldenGateで使用するパラメータをより使用しやすくするためのコマンドやユーティリティを追加。

– コマンドライン上で確認できる事項が多くなるため、マニュアルを見る手間が削減される。

– パラメータチェック機能により、実環境を想定した文法チェックが事前に実行可能になる。

• R12.1までとの違い

– 新しいパラメータ関連コマンドを2つ追加

– 新しいchkprmユーティリティを使用して、パラメータファイルを検証することが可能

40

コマンド名 実行内容

EDIT PARAMS パラメータファイルを編集用にオープンするコマンド

VIEW PARAMS パラメータの内容をスクリーンに表示(パラメータファイルの内容)

INFO PARAM (NEW) パラメータの情報を検索して表示

GETPARAMINFO (NEW) 現在稼働中のパラメータの値を表示

Page 41: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

•パラメータ定義情報を表示するコマンド

• nameにはパラメータの名前やオプション名を指定することができます。

• オプションを指定するには、パラメータの後にドットで区切ってオプション名を記載します。

INFO PARAMコマンド

41

INFO PARAM name

INFO PARAM rmthost.streaming

GGSCI > INFO PARAM passthru param name : passthru opposite param name : nopassthru description : Indicating that this Data Pump does not do column mapping. argument : boolean default : false options : component(s): EXTRACT mode(s) : Data Pump Extract Passive Extract platform(s) : all platforms versions : min ver : 7 database(s) : all supported databases (on the supported platforms). status : current mandatory : false dynamic : false relations : none

表示例

Page 42: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

SEND … GETPARAMINFOコマンド

• 実行中のプロセス(Manager、Extract、Replicat)のパラメータを表示させるためのコマンド。デフォルト値も表示される。

– MGR| group : Extract、Replicatのインスタンス名、またはmgr。

– parameter_name : 表示させたいパラメータ名を指定。指定しなければ全て表示。

– FILE output_file : 表示結果をファイルに格納した場合に指定。

42

SEND MGR| group GETPARAMINFO [parameter_name] [FILE output_file]

GGSCI > SEND mgr GETPARAMINFO port Sending getparaminfo request to MANAGER ... /u01/app/ogg/dirprm/MGR.prm port : 7809 Default Values

表示例

Page 43: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

checkprmユーティリティ

• パラメータファイルに記載されたパラメータが正しいか検証するためのツール

• 実環境を用意できなくても検証が可能 (引数を指定しなければ環境を自動検出)

– 文法チェックが行われますが、実行時に確認できる情報(DBスキーマ名等)は確認できません。

43

checkprm [None] [-v] [? | help] [parameter_file] [--COMPONENT | -C) component_name] [--MODE | -M) mode_name] [--PLATFORM | -P) platform_name] [--DATABASE | -D) database _name] [--VERBOSE | -V)]

• None : 使用方法を表示

• -v : バナーを表示。

• ? | help : 詳細の使用方法を表示。

• parameter_file : 検証するパラメータファイルを指定

• -COMPONENT | -C : コンポーネントを指定。例:GGSCIなど

• -MODE | -M : モード(構成)を指定。例:Classic Extractなど

• -PLATFORM | -P :プラットフォームを指定。例:Linux、AIXなど

• -DATABASE | -D :データベースを指定。例:Oracle 11gなど

• -VERBOSE | -V : 詳細なパラメータ情報を表示。一番詳細な情報を表示するオプション。

Page 44: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

checkprmユーティリティ表示例

•成功した場合

•失敗した場合

44

$ checkprm ./dirprm/e1.prm --component extract --mode Integrated Extract --platform linux

2015-09-14 10:51:08 INFO OGG-02095 Successfully set environment variable

ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1.

2015-09-14 10:51:08 INFO OGG-10139 Parameter file ./dirprm/e1.prm: Validity check:

PASS.

Runtime parameter validation is not reflected in the above check.

$ checkprm ./dirprm/e1.prm --component extract --mode Integrated Extract --platform linux

2015-09-14 11:04:47 INFO OGG-02095 Successfully set environment variable

ORACLE_HOME =/u01/app/oracle/product/12.1.0/dbhome_1.

(e1.prm) line 5: Parsing error, option [password] for parameter [userid] is missing a

required value.

(e1.prm) line 5: Parsing error, parameter [userid] is missing a required value.

2015-09-14 11:04:47 INFO OGG-10139 Parameter file ./dirprm/e1.prm: Validity check:

FAIL.

Page 45: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

45

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 46: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

XAG統合概要

• 概要

– Oracle Grid Infrastructure Bundled Agent(XAG)とより透過的な統合を提供

• R12.1との違い – GLOBALSパラメータXAGENABLEを提供(デフォルトは未設定)

• GoldenGateインスタンスがXAGの管理下に置かれている場合でも、GGSCIからMangerを起動停止可能

• 利用手順

1. XAG AGCTLインタフェースでOracle clusterwareにGGインスタンスを登録

2. GLOBALパラメータにXAGENABLEパラメータを設定

3. GGSCIでStart /Stop managerコマンドを使用すると内部的にXAGと連携

46

XAGENABLE

Page 47: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

47

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 48: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Trail File Extention

• 概要

– Trailファイルの桁数を6桁から9桁に増加。(ファイル名の例:ex000000000)

– デフォルトのTrailサイズ(EXTTRAIL/RMTTRAIL) 100MB→500MB

• 新機能

– GLOBALパラメータTRAIL_SEQLEN_9D | TRAIL_SEQLEN_6DによるデフォルトTrailの桁数の指定

• GoldenGate 12.2のデフォルトは9桁です。

– ConvchkユーティリティによるTrailファイルの桁数の変換

48

convchk extract trail [seqlen_9d | seqlen_6d]

Page 49: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Convchkユーティリティ表示例 GGSCI > sh convchk e1 ./dirdat/e1 seqlen_6d

***********************************************************************

Oracle GoldenGate Checkpoint Conversion Utility for Oracle

Version 12.2.0.1.0 OGGCORE_MAIN_PLATFORMS_150910.1401

Linux, x64, 64bit (optimized) on Sep 10 2015 19:32:43

Copyright (C) 1995, 2015, Oracle and/or its affiliates. All rights reserved.

Starting at 2015-09-14 15:15:40

***********************************************************************

Operating System Version:

Linux

Version #1 SMP Wed Mar 13 12:31:05 PDT 2013, Release 2.6.39-400.17.2.el6uek.x86_64

Node: testmachine.oracle.com

Machine: x86_64

soft limit hard limit

Address Space Size : unlimited unlimited

Heap Size : unlimited unlimited

File Size : unlimited unlimited

CPU Time : unlimited unlimited

Process id: 14593

Opening existing checkpoint file /home/oracle/ogg12c_Ora12c/dirchk/E1.cpe for group E1.

Checkpoint /home/oracle/ogg12c_Ora12c/dirchk/E1.cpe backed up to /home/oracle/ogg12c_Ora12c/dirchk/E1.cpe.1442214940.bak

Successfully upgraded/downgraded the sequnce length for trail ./dirdat/e1.

Checkpoint conversion successful for group E1.

49

Page 50: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

50

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 51: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

前提知識: 不可視列(Invisible Column)とは?

• Oracle Database 12cからのOracle Databaseの新機能。

• 表の列を不可視(INVISIBLE)に設定すると、一般的なアクセスで表示されないようになる。明示的に列指定した場合にのみアクセス可能。

– ALTER TABLE文で可視/不可視を変更可能

– 不可視列を含んで索引を作成することが可能(主キーや一意キーなど)

51

CREATE TABLE tab1 (id NUMBER, data CLOB INVISIBLE); INSERT INTO tab1 VALUES (1, ‘a’); → エラー発生(ORA-913) INSERT INTO tab1 (id, data) VALUES (1,’a’); → 成功!

Page 52: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

不可視列(Invisible Columns)サポート概要

• 概要

– Oracle Databaseの不可視列(Invisible Column)を新規サポート

• 前提条件

– TrailファイルフォーマットR12.2以降

– Integrated Captureのみサポート(Classic Captureは非対応)

• 利用方法

– Traget:ReplicatパラメータファイルにMAPINVISIBLECOLUMNSパラメータを追加するか、MAPパラメータのCOLMAP句で明示的に不可視列を指定する。

52

REPLICAT r01bb NOMAPINVISIBLECOLUMNS MAP hr.dep, TARGET hr.dep2; MAP hr.emp, TARGET hr.emp2, MAPINVISIBLECOLUMNS; ←Map句で上書きすることも可能

Page 53: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate 12.2 の主な新機能

• Automatic Heartbeat Table (OGG Core)

• Instantiation CSN Support (for Oracle DB)

• Metadata Encapsulation (OGG Core)

• Parameter Simplification (OGG Core)

• XAG Integration (for Oracle DB)

• Trail File Extension Increase (OGG Core)

• Invisible Columns Support (for Oracle DB)

• Fetch from ADG (for Oracle DB)

53

※ OGG Core:RDBMSの種類に依存しない機能

本セミナーで詳細を説明

本セミナーで概要を説明

Page 54: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGateの対応状況

• GoldenGate R12.1まで – Oracle Active Data GuardからのFetchはClassic Extractのみをサポート

• GoldenGate R12.2の新機能 – Integrated ExtractでもOracle Active Data GuardからのFetchをサポート

– ExtractパラメータFETCHUSERID/FETCHUSERIDALIASでフェッチユーザを指定

– (オプション)DBOPTIONSパラメータのFETCHTIMEOUT, FETCHCHECKFREQ, FETCHRETRYCOUNTオプションを指定可能

54

Page 55: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

FETCHUSERID/FETCHUSERIDALIASパラメータ

• FETCHUSERIDパラメータ

• FETCHUSERIDALIASパラメータ

•使用方法や注意事項は、USERID/USERIDALIASパラメータと同様です。

55

FETCHUSERID {/ | user}[, PASSWORD password] [algorithm ENCRYPTKEY {key_name | DEFAULT}] [SYSDBA]

FETCHUSERIDALIAS alias [DOMAIN domain] [SYSDBA]

Page 56: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

DBOPTIONSパラメータのFETCH関連新オプション

• FETCHCHECKFREQ(デフォルト3秒、最大120秒) – ExtractがADGのフェッチ確認のために待機する秒数。低い値を指定すると、

current_scnをv$databaseに確認する回数が増えてレイテンシが改善する。

• FETCHRETRYCOUNT(デフォルト5回、0~1000回) – ExtractがADGの状況をレポートする前に何度リトライするかの回数。

• FETCHTIMEOUT、NOFETCHTIMEOUT(デフォルト30秒、0~4294967295秒) – ADGの進捗がない時にEXTRACTがAbendするまでの秒数。

56

DBOPTIONS [FETCHCHECKFREQ seconds] [FETCHRETRYCOUNT number] [FECHTIMEOUT seconds | NOFECHTIMEOUT]

Page 57: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

57

Page 58: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate for Big Data概要 • レプリケーションのターゲットとしてBig Data テクノロジを指定可能

– RDBMS to Big Data DML/DDLに対応

– Apache, Cloudera, Howtonworks に対応(対応バージョンはCertification Matrixを確認http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html )

• 様々なテクノロジに対応

– 対応ターゲット: Hive / HDFS / Hbase / Flume / Kafka

– 対応フォーマット:JSON / AVRO / XML / Delimited Text

• パラメータベースで設定可能

• アダプタのカスタム開発が可能(カスタムアダプタはサポート対象外)

– Adapter for Mongo DB : https://blogs.oracle.com/dataintegration/entry/oracle_goldengate_adapter_for_mongodb

– Adapter for Elastic Search : https://blogs.oracle.com/dataintegration/entry/oracle_goldengate_adapter_for_elasticsearch

• ソースDBサーバー環境へのオプションライセンスとして課金(Hadoopクラスタなど、ターゲットには課金されない)

58

Page 59: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Heterogeneous

Data sources

GoldenGate for Big Data

Parameter File

Adapter Properties JAR

Oracle GoldenGate for Big Data 12.2 アーキテクチャ

Kafka

Hive

HDFS

HBASE

Flume

Capture Trail Files Network

Firewall

Cloud

Trail Files Native

Java

Replicat

JMS

Page 60: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

設定例: RDBMS to HDFS

• Replicat のパラメータファイル

• プロセスの追加と起動

60

Replicat のパラメータとプロセス追加

REPLICAT hdfs

TARGETDB LIBFILE libggjava.so SET property= dirprm/hdfs.properties

DDL INCLUDE ALL

GROUPTRANSOPS 1000

MAPEXCLUDE demo.excludetable

MAP demo.*, TARGET demo.*;

GGSCI > ADD REPLICAT hdfs, EXTTRAIL ./dirdat/gg

GGSCI > START hdfs

GGSCI> INFO ALL

ターゲットのテクノロジに 応じたハンドラを設定

Page 61: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

設定例: RDBMS to HDFS

61

HDFS Handlerの編集

• HDFS Handlerプロパティファイルを構成、$OGG_HOME/dirprm/hdfs.propertiesを編集する。

gg.handlerlist=hdfs

gg.handler.hdfs.type=hdfs

gg.handler.hdfs.mode=tx

gg.handler.hdfs.includeTokens=false

gg.handler.hdfs.maxFileSize=1g

gg.handler.hdfs.rootFilePath=/ogg

gg.handler.hdfs.fileRollInterval=0

gg.handler.hdfs.inactivityRollInterval=0

gg.handler.hdfs.fileSuffix=.txt

gg.handler.hdfs.partitionByTable=true gg.handler.hdfs.rollOnMetadataChange=true

gg.handler.hdfs.authType=none

gg.handler.hdfs.format=delimitedtext

goldengate.userexit.timestamp=utc

goldengate.userexit.writers=javawriter

javawriter.stats.display=TRUE

javawriter.stats.full=TRUE gg.log=log4j gg.log.level=INFO gg.report.time=30sec gg.checkpoint=java gg.classpath=/etc/hadoop:/etc/hadoop/conf:/usr/lib/hadoop/client/*:/usr/lib/hadoop/*:/usr/lib/hadoop/lib/*:/usr/lib/hadoop-hdfs/*:/usr/lib/hadoop-hdfs/lib/*:/etc/hadoop/conf/coresite.xml:/etc/hadoop/conf/hdfssite.xml:./ggjava/resources/lib/*:./ggjava/resources/ggplugins/hdfs/*:./ggjava/resources/ggplugins/formatters/* javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar

続き

Page 62: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

設定例: RDBMS to HDFS レプリケーションの実行例

ソース側でテーブルを作成とレコード挿入

ターゲット側でデータを確認 SQL> connect sys/Welcome1@src as sysdba

SQL> CREATE TABLE demo.test_hdfs

( id NUMBER NOT NULL PRIMARY KEY,

name CHAR(10) NOT NULL ,

updatedate date DEFAULT SYSDATE);

SQL> insert into demo.test_hdfs values(1,‘yamamoto', sysdate);

1行が作成されました。

SQL> commit;

コミットが完了しました。

SHELL> hadoop fs -ls /ogg

Found 1 items

drwxrwxrwx - oracle supergroup 0 2016-01-27 19:49 /ogg/demo.test_hdfs

SHELL> hadoop fs -ls /ogg/demo.test_hdfs Found 1 items

-rw-r--r-- 3 oracle supergroup 145 2016-01-27 19:49 /ogg/demo.test_hdfs/demo.test_hdfs_2016-01-27_19-49-49.411.txt

SHELL> hadoop ls -cat /ogg/demo.test_hdfs/demo.test_hdfs_2016-01-27_19-49-49.411.txt

I|DEMO.TEST_HDFS|2016-01-27 11:49:41.999529|2016-01-27T19:49:49.409000|00000000000000003377||ID|1|NAME|yamamoto |UPDATEDATE|2016-01-27:19:49:40

Page 63: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

63

Page 64: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Oracle GoldenGate Cloud Service(GGCS)概要

• GGCS(2016/05/11時点)の主な機能 –オンプレミスのデータベースからGoldenGateを使用して、

Oracle Cloudのデータベースへデータをレプリケーション • オンプレミス環境にはGoldenGateのライセンスが必要

–セキュアなTCP/IPネットワークを介して、暗号化・圧縮されたデータを並列化して高速に転送

• GGCSを使用するメリット –クラウド・データベースへの高速なリアルタイムデータ連携

–事前に用意されたテンプレートを使用した容易な構築

– GGCSに関係するデータベース設定は、Oracle Database Cloud Serviceインスタンスで自動実行可能

64

データベース

Database as a Service

GoldenGate

GoldenGate

Cloud Service

軽量・ソースDBへの最小限の負荷

オン・プレミス・サイト

Oracle Cloud

• セキュアなネットワーク • 高速転送(圧縮) • 一方向(初期リリース)

• 同じアーキテクチャ

Page 65: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

オンプレミス→GGCSの片方向同期のユースケース

65

Cloud On-boarding

お持ちのデータベースを、同じアーキテクチャ、 同じソフトウェアが使えるクラウドへ移行。

既存 データベース

Oracle Database Cloud Service

GoldenGate

移行時のシステム停止時間は最小限

Real Time BI/DW/Data Mart

既存のOLTPデータベースに負荷をかけず、 リアルタイムのデータを使えるDBを構築。

OLTP データベース

データマート レポーティングDB

GoldenGate

スモールスタートで容易にデータマートの構築が可能

クラウド

クラウド

Operational Efficiency

リアルなデータを使用した開発・テストの実施。 PoCや新ビジネスの迅速な立ち上げも可能。

本番 データベース

開発・テスト用 データベース

GoldenGate お客様 環境

お客様 環境

お客様 環境 クラウド

本番DBに負荷をかけず開発やテストで最新データを利用可能

Query&Report Offloading

本番DBから負荷の多い問合せをクラウドへ。 データの一部だけをクラウド側に配置可能。

本番 データベース

参照専用 データベース

GoldenGate クラウド

お客様 環境

本番データベースを更改・移行せずに負荷を軽減可能

Page 66: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Oracle

Database

GoldenGate Cloud Serviceのアーキテクチャ

• GoldenGate Cloud Serviceの基本的なアーキテクチャは、通常のGoldenGateと同じです。

• GoldenGate Cloud ServiceはCompute Cloud Service上で稼働しています。

• 接続時はSSHによる認証が必要で、レプリケーションにはSOCKSプロキシを使用します。

• Database Cloud Service側にも事前にGG管理ユーザの作成などの事前設定が必要です。

66

オン・プレミス(お客様環境) Oracle Cloud

Oracle GoldenGate GoldenGate Cloud Service

抽出プロセス

Extract (Capture)

転送プロセス

Extract (Data Pump)

管理プロセス

Manager

受信プロセス

Collector

管理プロセス

Manager

Trail ファイル

SOCKS PROXY Tunnel

SSH 鍵認証

Database Cloud Service

適用プロセス

Replicat

Compute Cloud Service Compute Cloud Service 多様なPlatformをサポート

Trail ファイル

GoldenGate 管理ユーザ スキーマ

ターゲット表

Page 67: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate の SOCKS 5 サポート • OGG 12.1.2.1 より、SOCKS プロキシに対応

– Data Pump の RMTHOSTパラメータにSOCKSPROXYオプションを追加

• 使用例:SSHをSOCKSプロキシサーバーとして使用

– ssh –i ssh-key –N –f –D 1080 [email protected]

– 1080 は Cloud側のOGGと通信するためのクライアント側のポート

• Pumpのパラメータ

– RMTHOST cloud-server.oracle.com, MGRPORT 7744, SOCKSPROXY localhost:1080

67

GoldenGate Cloud Service VM オンプレミス・サイト (お客様環境)

GoldenGate Oracle GoldenGate

Oracle Cloud

Extract RMTHOSTパラメータの

SOCKSPROXYオプションで プロキシサーバを指定

Manager Replicat

SSHコマンド

(SOCKS5の

プロキシサーバ として動作)

1080 7744

SSH トンネリング

SSH Server

22

DBCS VM Oracle

Database

1521

Page 68: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Cloud Serviceの管理インタフェース

• Webブラウザ – GGCS全体の情報を見たり、インスタンス作成を行うためのGUI画面を提供

– 現状、EM-PluginやMonitorに相当する管理機能は用意されていません。

• Secure Shell(SSH) – GGCSインスタンス作成後、GoldenGateを利用・管理するためCUI画面で操作

68

Page 69: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Cloud Serviceのソース・ターゲット対応

• 現在サポートしているソース

–オンプレミスのOracle Database • Oracle GoldenGate 12.1.2.1以降に対応しているバージョン

–オンプレミスのMySQL, SQL Server

– Amazon RDS/EC2のOracle Database

• 今後サポート予定のソース

– オンプレミスのNon-Oracle Database(MySQL, SQL Server以外)

– Database as a Service

– Exadata as a Service

69

• 現在サポートしているターゲット

– Database as a Service • SE/EE/EE High Performance/EE Extreme

Performace全エディション

• Oracle Database 11gR2/12cR1両方

• Non-Meteredのみ(Metered GGCSが出荷されると対応)

• Schema as a Serviceは対応していません。

• 今後サポート予定のターゲット

– Exadata as a Service

– Big Data Cloud Service

Page 70: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Cloud Serviceの初期構成

•ハードウェア – Compute CloudのVirtual Machine上で稼働

– OC3及びOC5を選択可能(料金は同じ) • OC3はテスト利用用途、OC5は本番利用用途

• ソフトウェア – OS: Linux6.6

– GoldenGate R12.1.2.1.10+がインストール済

•設定 –適用(Replicat)のみ利用可

• Replicat用のパラメータファイル・テンプレートを提供

70

GGCS - Replication VM (OC3)

OCPU(*) 1

Total Memory 7.5GB

Usable Local Storage 1TB

GGCS - Replication VM (OC5)

OCPU(*) 4

Total Memory 30GB

Usable Local Storage 1TB

(*)OCPU=Oracle Compute Unit

1OCPU=2vCPU(Amazon)

Intel Xeonプロセッサ(3.0GHz)の1物理コア相当

Page 71: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GGCSでの活用検討機能(ネットワークチューニング)

機能・設定 説明

圧縮転送 •PumpプロセスがTrailファイルの情報を圧縮しながら転送。受信後に伸長。 •RMTHOST パラメータ の COMPRESSオプションで有効化

TCPバッファチューニング •Pumpプロセスの転送時のTCPバッファサイズを大きくすることで転送スループットを向上させる •RMTHOSTパラメータのTCPBUFSIZEオプションでサイズを指定

Capture/Data PumpでのRANGE関数 •伝播対象表をレコードを均等にハッシュ分割する •Captureで設定し、Trailファイルを分割生成することで転送の並列化を可能にする

GoldenGateの初期ロード機能 •上記のチューニング効果を初期ロードでも使用

71

Page 72: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (GoldenGate Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

72

Page 73: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Foundation Suite

Oracle GoldenGate のオプション・ツール

• Management Pack for Oracle GoldenGate ̶ GoldenGate Plug-in for EMCC ̶ GoldenGate Monitor ̶ (GoldenGate Director)

• GoldenGate Veridata

• GoldenGate Studio

OGG環境の管理/監視 データ比較/修正

OGG構成の設計/デプロイ NEW

NEW

Page 74: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

74

Page 75: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Oracle GoldenGate Veridata 異機種対応のデータ比較ツール

Veridata Server

DB-2 DB-1

主キー値 ハッシュ値 主キー値 ハッシュ値

MOOS(Maybe Out-Of-Sync)キュー

主キー値 ハッシュ値 主キー値 ハッシュ値

主キー値 ハッシュ値 主キー値 ハッシュ値

主キー値 ハッシュ値 主キー値 ハッシュ値

比較

比較

比較

比較後、不一致の可能性があるペアをMOOSキューへ。

ハッシュ値による高速な突合 オンラインでの突合が可能 2フェーズの突合

1. 全体を突合 2. 間隔をあけて、不一致レコードのみもう1 度

突合(レプリケーションのラグによる一時的な不一致を吸収 )

不一致データのレポート/修復が可能 差分突合が可能(時間列もしくは行SCNを使

用) 複数表の多重突合 / パラレルクエリ / ジョブ化が

可能

Page 76: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Oracle GoldenGate Veridata 12.2 主な新機能

76

機能名 説明

Delta Processing Oracle DBなど、NonStop 以外のプラットフォームでも差分突合に対応。

Compare Configurations 構成中のGoldenGateレプリケーションの設定を読み込んで、Veridataジョブの作成が可能

Export Utility リポジトリに格納された設定情報をXMLファイルにエクスポート可能(XMLのインポートは従来より提供)。

Automatically Managed Memory ソート等を行うVeridata Serverのメモリ自動管理機能の搭載

Automatic Repair After Compare データ比較後の自動で不一致レコードを修正(有効・無効の設定が可能)。

Mixed Veridata Server 12c (12.2.1) and Veridata Agent Versions

異なるバージョンのVeridata Server / Agent の組み合わせをサポート。旧バージョンDBの対応に活用。

Page 77: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Delta Processing

77

大規模表のデータ比較をより効率的に

キー列 A列 B列 C列 更新タイムスタンプ列

2016-03-10 …

2016-03-10 …

2016-03-10 …

2016-03-10 …

2016-03-10 …

2016-03-11 …

2016-03-11 …

2016-03-11 …

2016-03-11 …

2016-03-11 …

前回のデータ比較からの差分だけ突合したい Veridata 12.1 まで 表ごとに突合範囲指定を突合を行う都度 行う必要がある Veridata 12.2 Delta Processing を設定することにより Veridataが差分を自動管理

3/10の 突合

3/11の 突合

Page 78: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Delta Processing

78

設定イメージ Compare Pair の設定画面に Delta Processing のタブを追加

差分を判別するための列(Delta Columns) を指定。数字、日付のデータ型で、更新 ごとに値が大きくなる列を指定(last_updated 列など)

データ比較実行時のDelta Columnsの 最大値を記録し、次回データ比較時の ベース地として使用

Page 79: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Delta Processing

• ORA_ROWSCN列とは –レコードごとの更新SCNを確認する疑似列

– CREATE TABLEのROWDEPENDENCIES句により、有効化(ALTER TABLEでは設定不可)

– VeridataのDelta Processing の Delta Columns として使用可能 • ORA_ROWSCN列を使用すれば、APからの更新処理は不要

–参考 • https://docs.oracle.com/cd/E49329_01/server.121/b71278/pseudocolumns007.htm

79

Oracle DBのORA_ROWSCN疑似列の使用

例 SQL> select id,name,upd_date, ora_rowscn from test_tab 2 where rownum=1; ID NAME UPD_DATE ORA_ROWSCN ---------- ---------- --------- ---------- 1 Chai 05-FEB-16 10885519

Page 80: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Compare Configurations

• 既存のレプリケーション定義からVeridataのデータ比較を設定可能

– OGGパラメータファイルを読み込み、Veridataリポジトリにインポート可能なXMLファイルを生成

• 活用ケース

– データ比較対象が「スキーマ内の表全て」、「少数の表」等、Webからの設定に手間がかかるケースで特に有効

80

Veridata GoldenGate Parameter Processing (VGPP)

実行例 $ cd $VERIDATA_DOMAIN_HOME/veridata/bin $ ./veridata_param_process.sh -noscripting r1.prm r1.prm : Replicatのパラメータファイル noscripting : XMLファイル生成のみで、インポートはしない

Page 81: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

81

Page 82: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Monitor / EM Plugin

• 12c前 –稼働監視、履歴表示(グラフ化)、アラート通知が可能

• 12c以降 –稼働監視、履歴表示(グラフ化)、アラート通知が可能

–ログファイル(ggserr.log, report, discard)参照とダウンロードが可能

– OGGプロセスのパラメータ編集とプロセス起動停止が可能

82

監視のみのツールから、管理・監視が行えるツールに

Page 83: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

OGG Monitor/EM Pluginによる管理・監視の効率化

83

管理・管理項目 ツールなし ツールあり

稼働監視 GoldenGateが導入されている各サーバーにログインし、”info all” を実行

OGG Monifor / EM Plugin のトップ画面より全サーバーの稼働状況を確認

障害検知 ggserr.log の出力を使用した作り込み メール/SNMPによる通知が可能

アラート通知 Info / lag / stats コマンドの出力や、lagcritical等のパラメータを使用した作り込み

パフォーマンスメトリック値に基いたメール/SNMPによる通知が設定可能 例:Replicatのラグが1分を超えたら通知

パフォーマンス傾向の確認

lag / stats コマンドの定期実行やreportcount

パラメータ設定による定期収集の作り込み、および手動作業のグラフ化が必要

パフォーマンスメトリックが自動で定期収集され、グラフ表示も可能

設定変更 各サーバーにログインし、パラメータ編集やプロセス再起動を実施

OGG Monifor / EM Plugin の画面よりパラメータ編集とプロセス再起動が可能

障害対応 各サーバーにログインし、ggsciコマンドでの稼働状態を確認する。また、ggserr.log/レポート

ファイルの参照を行い、必要に応じてファイルを取得し、サポートに送付

OGG Monifor / EM Plugin の画面から稼働状態を確認する。ggserr.log/レポートファイルの参照を行い、必要に応じてサポートに送付

Page 84: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Oracle GoldenGate Monitorのアーキテクチャ

他社製 運用管理ツール、 電子メール等

管理リポジトリデータベース

Oracle Monitor Server

Webクライアント

http/https

監視対象サーバA

Oracle Database インスタンス

監視対象サーバB

Oracle Database インスタンス

Oracle GoldenGate

Oracle GoldenGateによる Oracle Databaseレプリケーション環境

JMX/SSL

監視・管理

レプリケーション

Monitor Agent

Oracle GoldenGate Monitor Agent JDBC

Oracle Fusion Middleware Infrastructure

リポジトリサーバ

Oracle WebLogic Server

管理サーバ

Oracle GoldenGate Monitorによる監視環境

Page 85: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate System Monitoring Plug-inアーキテクチャ

85

他社製 運用管理ツール

管理リポジトリデータベース Oracle Management Repository(OMR)

管理サービス Oracle Management

Server (OMS)

other plug-in

other plug-in

DB plug-in

OGG plug-in

EMCC管理用サーバ

EMCC 管理コンソール

http/https

監視対象サーバA

Oracle Database インスタンス

監視対象サーバB

Oracle Database インスタンス

Oracle GoldenGate

Oracle GoldenGateによる Oracle Databaseレプリケーション環境

DB plug-in

OGG plug-in

DB plug-in

OGG plug-in

http/https

管理エージェント Oracle Management

Agent(OMA)

管理エージェント Oracle Management

Agent(OMA)

Oracle Enterprise Manager Cloud Controlによる統合運用管理環境 +Oracle GoldenGate Plug-in for EMCC

監視・管理

レプリケーション

Monitor Agent

Oracle GoldenGate Monitor

Agent

Page 86: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Monitor

86

参考: https://www.youtube.com/watch?v=LHECLLKX8zk

Page 87: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

EM Plugin

87

Page 88: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

アジェンダ

• GoldenGate 12.2

• GoldenGate for Big Data

• GoldenGate Cloud Service

• GUI製品群 (Foundation Suite) – GoldenGate Veridata 12.2

– GoldenGate Monitor / EM Plugin

– GoldenGate Studio

88

Page 89: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 89

GoldenGate Studio概要

• GoldenGate Studioとは?

– GoldenGateによるレプリケーション環境をGUIで容易に構築するための製品

– 各種ウィザードにより容易にベストプラクティスに基づいたレプリケーション構成を自動作成

– レプリケーションフローやマッピング・競合検知・フィルタ設定などがGUIで容易に把握可能

– 各環境へ1クリックでデプロイ&再デプロイ

– 変化するビジネスニーズに応じて、容易に構成を変更

– 全ての変更履歴をリポジトリに安全に保管

• 既存GoldenGateユーザ様がGoldenGate Studioを導入するメリット

– デザインやデプロイに関わる作業時間を削減

– 従来手動で行っていた作業を、ウィザードや自動マッピング機能などにより一部自動化

– 個々の環境で設定を確認する必要がなくなり、レプリケーション環境の全体構成を可視化し、Studioから全ての環境の設定を行うことが可能

– 論理デザインと物理デザインが分離できるので、GoldenGateの詳細を知らない方でも論理デザインを作成可能

*GoldenGate Studio を使用する場合は、別途GoldenGate Foundation Suite ライセンスが必要です。

Page 90: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Studioのアーキテクチャ

90

デプロイ ./dirtmp バックアップディレ

クトリ

./dirprm 設定ファイル用ディレクトリ

./diroby コマンドファイル用ディレクトリ

GLOBALS Globalファイルパラメータ

ggsci 表ロギングの追加 Capture/Pump/Replicat/初期ロードの起動・停止

監視(簡易版)

Oracle GoldenGate

Studio 12.2.1 (Java)

メトリック (REST via OGG Manager Port)

OGG Studio リポジトリ

(Oracle only)

Monitor Agent 12.2.1

GoldenGate 12.2.0

アクセスするGoldenGateコンポーネント

Page 91: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

レプリケーション作成のイメージ

1. インストール – OGG Studio 本体、リポジトリ、Monitor Agent など

2. コンポーネントの登録 – DB / GoldenGate

3. 物理構成の定義 – どこのDBからどこのDBに、どこのOGGを使ってレプリケーション?

4. データマッピングの定義 – どの表とどの表、データ変換、競合解決、その他使用機能

5. デプロイ – スクリプトを生成し、実行(スクリプト生成のみ行い、手動実行も可)

91

Page 92: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

GoldenGate Studioの用語 • プロジェクト

– GoldenGateレプリケーション・ソリューションのコンテナ。1つのプロジェクトは複数のソリューションを含む。

• ソリューション

– GoldenGateでサポートされる論理デザイン(例:一方向、双方向など)

– 1つ以上の物理デザイン(デプロイメント・プロファイル)とマッピング・グループを含む。

• デプロイメント・プロファイル

– レプリケーションの物理的な属性を定義するもの。(例:GGの配置場所、DBサーバの属性など)

• マッピング・グループ

92

*各ウィンドウの配置は自由に変更できます。

Page 93: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

ソリューションの作成

• ビジネスニーズに合わせて論理デザインを作成

• GoldenGateでサポートされる構成のテンプレートを提供

93

GoldenGateの詳細を知らなくても論理デザインが可能

テンプレートによる迅速なデザイン 一方向

双方向

ハブ&スポーク

論理デザイン

ソリューション・ウィザード

Page 94: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

論理デザインの変更

• ドラッグ&ドロップでソースやターゲットのデータベースを追加可能

• ドラッグ&ドロップで新しいレプリケーション・パスを追加可能

94

ビジネスニーズに合わせて、論理デザインを変更することが可能

論理デザイン

Page 95: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• Capture/Replicatプロセスの配置に関わる8つのテンプレートを提供

ソース、 ハブ (リモートターゲット)

シングル ホスト

ソース、 ハブ、 ターゲット

ハブ ターゲット (リモートソース)

ソースのみ (リモートターゲット)

ハブのみ (リモートソース、 リモートターゲット)

ソース、 ターゲット (デフォルト)

ターゲットのみ (リモートソース)

デプロイメント・プロファイルの作成(1/3)

95

デプロイメント・プロファイル・ウィザードにより物理デザインを選択

ニーズに応じて様々な構成を選択可能

• ソースやターゲットの上で稼働させるか? • リモートCaptureやリモートReplicatを使用するか? • Hubサーバにもプロセスを配置するか?

GG GG

GG

GG

GG

GG GG GG

GG GG

GG GG

GG

物理デザイン

デプロイメント・プロファイル・ウィザード

Page 96: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• データ・サーバを指定

– 事前に設定したデータベース・サーバへの接続から選択することができます。

• GoldenGateインスタンスを指定

– 事前に設定したGoldenGateインスタンスへの接続から選択することができます。

96

デプロイメント・プロファイルの作成(2/3) 前ステップで決定した構成に応じて、実際のDBサーバやGGインスタンスを設定

1つのソリューションに対して、デプロイメント・プロファイルで複数の異なるアーキテクチャを使用することが可能です。 (例:開発環境、テスト環境、本番環境)

物理デザイン

Page 97: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

デプロイメント・プロファイルの作成(3/3)

• デプロイメント・プロファイル・ウィザードにより、下記の様な構成が作成されます。

• この画面から各プロセスやファイルの管理ができます。

97

完成したデプロイメント・プロファイルからプロパティなどを調整します。

プロセスを右クリック → 起動・停止・強制終了など

プロセスをクリック → プロパティ・ウィンドウに パラメータ設定などが表示

Page 98: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

マッピング・グループの作成(1/2)

• 自動マッピングの方法

①リソースナビゲータからマッピングしたいスキーマや表を選択

②ソースからターゲットにドラッグ&ドロップするか、「AutoMap」ボタンを押すと、自動的にマッピング

• 対象表が多い場合にも分かりやすい表示

98

自動マッピングまたはカスタム・マッピングが可能

表示内容の フィルタリング

オブジェクトを選ぶとマッピング先がハイライト

物理デザイン 論理デザイン

Page 99: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

マッピング・グループの作成(2/2)

• マッピング・グループの種類 –マッピング・グループ(ソリューションの中に作成)

–グローバル・マッピング・グループ(グローバル・リソース内に作成)

• 同じマッピング・グループを、異なるソリューションや異なるプロジェクト内と共有することが可能(1か所を変更すると全てが変更される)

99

二種類のマッピング・グループから選択可能

物理デザイン 論理デザイン

*マッピング・グループ作成後に、グローバル・リソース・ライブラリにコピーできます。

Page 100: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

• 稼働環境へ直接デプロイ

– Studioから直接稼働環境にファイルをデプロイします。

– プロファイル下部にある「Overview」タブを選択すると、デプロイ時のオプション等が選べます。

• GoldenGateファイルの生成

– Studioのローカル環境にデプロイに必要なGoldenGateファイルを出力します。

– 直接デプロイしたくない場合などに使用します。

100

GoldenGateインスタンスへのデプロイと管理

Page 101: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

参考資料

• GoldenGate 12.2 セットアップガイド – http://www.slideshare.net/oracle4engineer/oracle-goldengate-r122

• GoldenGate Veridata 12.2 セットアップガイド – http://www.slideshare.net/oracle4engineer/oracle-goldengate-veridata-12cr2

• GoldenGate Monitor 12.2 セットアップガイド – http://www.slideshare.net/oracle4engineer/oracle-goldengate-monitor-12cr2

• GoldenGate Studio セットアップガイド – http://www.slideshare.net/oracle4engineer/oracle-goldengate-studio-58942558

101

Page 102: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Safe Harbor Statement

The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

102

Page 103: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 103

Page 104: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)

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

Page 105: GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)