データ連携のプロフェッショナル陣が語る! 現場で...

46
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | データ連携のプロフェッショナル陣が語る! 現場で使える、Oracle GoldenGate テクニカルセミナー Oracle GoldenGate Veridata 最新技術情報 20170525日本オラクル株式会社 クラウド・テクノロジー事業統括 Cloud/Big Data/DISプロダクト本部 Master Principal Sales Consultant 後藤 陽介

Upload: hoangnhu

Post on 15-Apr-2018

280 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ連携のプロフェッショナル陣が語る!現場で使える、Oracle GoldenGate テクニカルセミナー

Oracle GoldenGate Veridata 最新技術情報

2017年05月25日

日本オラクル株式会社クラウド・テクノロジー事業統括Cloud/Big Data/DISプロダクト本部Master Principal Sales Consultant 後藤陽介

Page 2: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

• 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

2

Page 3: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

本セッションの目的

• Veridataの概要を理解

• Veridataの機能と動作を少し細かく理解– Veridata 12.2.1 ベース

• Veridata導入のポイントを理解

3

Page 4: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

参考資料

• セットアップと簡単なジョブ作成手順– https://www.slideshare.net/oracle4engineer/oracle-goldengate-veridata-12cr2

• マニュアル (Veridata 12.2.1)– http://docs.oracle.com/cd/E86974_01/gg-veridata/index.html• 管理

• ユーザーズ・ガイド

• インストールと構成

• Upgrade

• リリースノート

4

Page 5: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

本日の内容

Veridata概要

機能と動作

導入のポイント

1

2

3

5

Page 6: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata概要高速データ比較&修正ソフトウェア

• Veridataは複製元と複製先の異なるデータベース間におけるデータの比較照合・修正を実施するためのソフトウェア(異DB間の比較にも対応)

• GoldenGate等でレプリケーションしている途中やレプリケーションした結果のデータの同期を確認

• 人為的ミスによるデータ不整合の早期発見が可能

• システムへの影響度少(表ロックなし、DB外でのデータハッシュ・ソート・比較、列・行のサブセット化)

• 最新バージョンは 12.2.1.2.0 (2017/05/25時点)

6

本番DB バックアップDB災害対策 / 高可用性

OLTP レポーティングリアルタイム・レプリケーション

現行DB 新DBアップグレード / 移行

様々な環境のデータベース間でデータを比較

Page 7: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

WebLogic Serverドメイン

Oracle GoldenGate VeridataのアーキテクチャVeridataに含まれるコンポーネント

• Veridata Server– 実行エンジン(データの比較、修正、レポート生成等)

– WebLogic Domain上で動作

• Veridata Web– WebブラウザベースのGUI

– 動作設定、レポートおよび非同期データの参照・修正

• Veridata Agent– データベースのデータを取得・修正するエージェント

• Veridata Repository– 設定情報を保持するデータベース

• Veridata Command Line Interface– Veridata Serverのコマンドライン・インタフェース

• vericom:自動化されたプログラムで比較を実行

• veridata_scripting:リポジトリに設定情報をロード

• reportutil:暗号化されたレポートや非同期データを参照

ソースDBVeridata リポジトリDB

比較データ抽出

Webから操作

コマンドラインから操作

VeridataAgent

レプリケーション

Veridata Server

Veridata Command-line Tool

ターゲットDB

• 高速なデータ比較が可能

• 信頼性の高い2フェーズのデータ比較

• 柔軟なデータ比較設定が可能

• ジョブ実行管理履歴とレポート機能

VeridataAgent

JDBC

JDBC

TCP/IP / SSL

7

Page 8: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ比較のイメージ初期比較

Veridata Server

DB-2DB-1

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

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

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

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

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

比較

比較

比較

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

ジョブを実行すると初期比較プロセスに移ります。

Veridata Agentが主キーの値と、非キー列のハッシュ値の組み合わせを行ごとに取得し、Veridataserverに転送して比較します。

ソースとターゲットデータベースの列が異なるタイプの場合は、正確な比較をするために標準的なデータ型フォーマットに変換されます。

比較時に不一致と思われるペアはメモリ上のMOOS(Maybe out-of-sync)キューに保存されま

す。これは、比較実行時にレプリケーションが実行されている場合(特に遅延がある場合)、データが転送中の可能性があるためです。

8

Page 9: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ比較のイメージ確認

Veridata Server

DB-2DB-1

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

MOOSキューから、不一致のペアを取り出し、該当行の最新状態を取得して確認を行います。

最終的なステータス判別を行います。 「in-sync」:この時点で同期状態にあること

を意味します。 「persistently out-of-sync」:初期比較時

に非同期で、かつその後も変化がなく非同期であることを意味します。

「in-flight 」: 初期比較時に非同期で、か

つその後変更があり同期確認ができなかったことを意味します。

非同期と判定されたデータは、OOS(Out-of-sync)ファイルに格納されます。

主キー値 主キー値

不一致ペアに関する最新の状態を確認し、レポートに反映

値 値値値 値 値値値

値 値値値 値 値値値値比較

STEP1 STEP1

STEP2 STEP2

STEP3

9

Page 10: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ比較のイメージ修復

10

一致しなかった場合、Out-of-syncのレポートから非同期データを確認することができます。

修復をしたい場合は、修復対象を選択して「RunRepair」ボタンを押すと修復が実施されます。 「ソース」として定義しているDBのデータを正と

して、「ターゲット」と定義しているDBのデータを修正します

Veridata 12.2 よりデータ比較から修復までを自動で完了させる設定が可能です

Page 11: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata を御採用頂くケース

• プロジェクトリスクの排除と合否判定用途での導入– GoldenGateを使用したデータ移行やアプリケーションテストにおけるリスク排除や合否判定としてデータ整合性を検証する用途で導入されるケースがあります。

– 外部要因(例:作業者の操作ミスでデータ変更、想定外のアプリケーションからのデータ変更等)などにより、新環境もしくは既存環境のデータを書き換えてしまい、結果的にデータの整合性がとれなくなるプロジェクトリスクが考えられます。

– 過去多くのケースでは、コストをかけてプロジェクト毎に当該判定用プログラムを開発したり、整合性リスクには目をつむり件数のみのチェックで判定をしたりなど、効率的にデータ整合性を可視化することが困難でした。

– これらの課題解決のために、Oracle GoldenGate Veridata を有効活用頂いています。

DB間のデータ比較

DB1 DB2

• 作業中のミス• アクセス禁止したはずのアプリからのデータ更新

• 新規アプリのテスト中に誤ってデータ更新

• 移行中の両環境でのバッチ処理結果の妥当性検証

Veridata

データ整合性検証の可視化により、外部要因による不意のデータ変更といったプロジェクトリスクを排除可能

11

Page 12: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

本日の内容

Veridata概要

機能と動作

導入のポイント

1

2

3

12

Page 13: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata のアーキテクチャ

13

データ抽出の動き

VeridataAgent

Veridata ServerJDBC

①データ比較ジョブをキック

②比較対象表へのクエリでデータ抽出

③結果セットを順次ハッシュ化し、Veridata Serverに送信

※Veridata Agentの処理単位はパラメータ Fetch Batch Size で調整(デフォルト1000行)

キー データ データキー ハッシュ値

※ハッシュ値のサイズは16バイトハッシュ化によりデータサイズが小さくなる

Page 14: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata のアーキテクチャ

1. 各表へのFull Scanでデータを抽出– ヒント句(PARALLELなど)の挿入も可能

2. レコードの絞り込み(row partition設定)が可能– 設定により、クエリにWhere句が挿入される

3. 列の絞り込み設定が可能

4. (応用)ビューを比較対象にすることも可能– DB側で変換後のデータを比較

– 構造が異なる表同士の共通部分を比較する

14

クエリの設定

•基本は 1•性能要件次第で 2• 3,4 は特殊な要件への対応

Page 15: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata のアーキテクチャ

• 基本はキー列を除く列群がハッシュ化される–キー列はリテラルで比較 / キー列以外はハッシュ値で比較

• キー列が無い表は論理キーを手動設定–論理キー列はリテラルで比較 / 論理キー列以外はハッシュ値で比較

• 論理キーも設定不可の場合はリテラルで比較–データ比較が低速になる

15

ハッシュ化の設定

•キー列があれば基本考慮不要

•キー列が無い表への対応は要件等(GoldenGate設定時と同じ)

Page 16: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata のアーキテクチャ

16

コンポーネントの配置

VeridataAgent

Veridata Server

Veridataサーバー

ハッシュ化後のデータを転送するので、低負荷

Veridata Agent on DBサーバー

DBサーバー

クエリ発行・ハッシュ化・転送負荷がDBサーバーにかかる

VeridataAgent

Veridata Server

Veridataサーバー

ハッシュ化前のデータを転送するので、ネットワーク負荷が高い

Veridata Agent on Veridataサーバー

DBサーバー

クエリ発行・ハッシュ化・転送負荷がVeridataサーバーにかかる

Page 17: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata のアーキテクチャ

17

抽出データのソートしてから比較する

01 ハッシュ値

02 ハッシュ値

03 ハッシュ値

04 ハッシュ値

05 ハッシュ値

03 ハッシュ値

01 ハッシュ値

05 ハッシュ値

02 ハッシュ値

04 ハッシュ値

ソート

05 ハッシュ値

03 ハッシュ値

04 ハッシュ値

02 ハッシュ値

01 ハッシュ値

01 ハッシュ値

02 ハッシュ値

03 ハッシュ値

04 ハッシュ値

05 ハッシュ値

ソート比較

Page 18: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle GoldenGate Veridata のアーキテクチャ

18

ソートの設定

VeridataAgent

Veridata ServerJDBC

設定パターン1:Veridata Serverでソート(デフォルト)Veridata Serverのメモリ消費に大きく影響

設定パターン2:DBサーバーでソート(Order By句の挿入)DBのサイジング・チューニングが必要

Page 19: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridataサーバーのメモリサイズ

• Veridata 12.2 では Javaの起動オプションにしたがって自動調整される– Veridata Server起動時に環境変数 USER_MEM_ARGSを設定• 例: export USER_MEM_ARGS= "-Xms4096m -Xmx4096m -XX:PermSize=128m -

XX:MaxPermSize=512m“

• 起動スクリプト veridataServer.sh への記載でも設定可能

– “Veridataで使えるメモリサイズ”を設定

• ソート領域として 、 (指定したサイズ) – (200MB) がデフォルトで指定される

• Veridataが仮想メモリとして使用するディスク領域(ディレクトリパス)を指定可能

19

Veridata 12.2の場合

Page 20: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata Serverのソートメモリの計算

•ハッシュ化後のデータサイズの目安– ((キー列の数+ 1) * 4) + 16 + (キー列長の合計)

–例:キー列が1列、キー列長が20バイト、レコード数1000万の場合• ( (( 1+1) * 4 ) + 16 + 20 ) * 10,000,000 = 440,000,000 ≒ 420MB

• ソートメモリの目安– In-memory : データセットの2.5倍程度のメモリ領域が必要

–One Disk Pass : ディスクを使用しながらのソート。必要なメモリ領域を抑制可能

– Two/Three Disk Passes : 必要なメモリ領域をさらに抑制可能だが、比較性能は大きく劣化

20

参考情報

Page 21: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata Serverのソートメモリの計算

• Veridata 12.2ではより効率的な自動管理が行われる

• 下記マトリクスはVeridata 12.1のマニュアルより抜粋

– http://docs.oracle.com/goldengate/1213/gg-veridata/GVDIS/system_requirements.htm#GVDIS980

21

参考情報

MB

Page 22: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata サーバーのメモリサイジングの追加要素

• デフォルトは4 もしくは Veridata ServerマシンのCPUコア数

•パラメータ server_max_comparison_threads で変更可能

• ラフな見積もり例:多重度4の場合–比較対象表のうち、大きで上位4テーブルのデータセットサイズを計算

–データセットサイズの合計*2.5 (In-memory sort) が余裕をもったメモリサイズとなる

–キー列が1列、キー列長が20バイト、レコード数1000万の表が4つある場合• ( (( 1+1) * 4 ) + 16 + 20 ) * 10,000,000 * 2.5 * 4 = 4,400,000,000 ≒ 4GB

※正確な見積もりにはPOCを推奨

22

実行多重度

Page 23: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

多重度を考慮したジョブ設計

• Veridataジョブの構成

– ペア:単一表の比較。任意に命名可能

– グループ:複数のペアをまとめた概念。任意に命名可能

– ジョブ:実行単位。単一または複数のグループで構成

• ジョブ実行時の動き

– “名前順”にグループごとに比較する

– グループ内で ”名前順” にペアを比較する

23

Veridataジョブの構成要素ジョブ

グループ1 グループ2 グループ3

Tab01=Tab01

Tab02=Tab02

Tab03=Tab03

Tab04=Tab04

Tab05=Tab05

Tab06=Tab06

Tab07=Tab07

Tab08=Tab08

Tab09=Tab09

Tab10=Tab10

Tab11=Tab11

Tab12=Tab12

Tab13=Tab13

Tab14=Tab14

Tab15=Tab15

Page 24: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

多重度を考慮したジョブ設計

24

ジョブ設計例:表サイズを考慮したグループ設計

テーブル大

テーブル大

テーブル大

テーブル中

テーブル中

テーブル中

GROUP名 PAIR

GRP_01

テーブル大

テーブル大

テーブル大

GROUP名 PAIR

GRP_02

テーブル中

テーブル中

テーブル中

GROUP名 PAIR

GRP_03

テーブル小

テーブル小

テーブル小

テーブル大

テーブル中

テーブル大

テーブル中 テーブル大

テーブル中

GROUP名 PAIR

GRP_01

テーブル大

テーブル中

テーブル小

GROUP名 PAIR

GRP_02

テーブル大

テーブル中

テーブル小

GROUP名 PAIR

GRP_03

テーブル大

テーブル中

テーブル小

例)GROUPを比較データ量で分類(大、中、小)したケース (JOBの多重度は3)

例)GROUPを比較データ量で分類しないケース (JOBの多重度は3)

処理時間

処理時間

Page 25: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ比較を高速にする

• 表内の比較する行を絞り込む

– 更新差分のみを比較する

– 大きい表を複数回に分けて比較

– 単一の表を多重で比較

• Row Partitionによって設定

– データ抽出のクエリにWhere句を挿入

– データ比較の度に編集が必要

• キー列値の範囲・日付範囲など

– 都度編集しない工夫

• 例:毎日午前0時に前日更新分のデータを比較する

last_updated > sysdate - 1

25

多重実行以外のアプローチ

Page 26: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ比較を高速にする

• Delta Processing

–前回のデータ比較からの差分をVeridataが自動判別

– Veridata 12.2 より Oracle DB等に対応(従来はNonStopのみ)

•設定はペアごとにチェックを入れるのみ

26

多重実行以外のアプローチ -contキー列 A列 B列 C列

前回比較範囲

今回比較範囲(自動判別)

Page 27: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

データ比較を高速にする

•差分判定方法–任意の列を使用• 挿入・更新時に更新される列(最終更新日時など)

• AP処理、テーブル構成に依存

–ORA_ROWSCN疑似列を使用• CREATE TABLE実行時にROWDEPENDENCIESを有効にすることにより、最終更新時のSCNをレコードごとに管理

– ALTER TABLEで設定できないため、新規作成時の設定が必要

• AP処理、テーブル構成に依存しない

27

Delta Processing の差分判別方法

Page 28: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Compare Pair の設定画面にDelta Processing のタブを追加

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

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

データ比較を高速にするDelta Processing 設定イメージ

Page 29: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridataの操作

• Webツール

– 任意のスキーマの表全てを一括登録は簡単に設定可能

– 比較対象表の絞り込み、比較列の絞り込み、比較レコードの絞り込み等の設定は、表単位の設定が必要になる

• 構成ファイルからのインポート

– ジョブ、グループ、ペアの設定をXMLファイルに記述

– 単一のインポート操作により、ペアレベルの詳細設定含め完了

– XMLファイルは手動作成、GoldenGateのパラメータファイルから作成(VGPP)、もしくは他のVeridata環境からのExportにより作成

– 構成ファイル要素の参照情報

• http://docs.oracle.com/cd/E86974_01/gg-veridata/GVDAD/GUID-BDBD2044-83BE-46A9-B39E-5BB651E8EE6D.htm#GUID-BDBD2044-83BE-46A9-B39E-5BB651E8EE6D

29

ジョブ作成

Page 30: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridataの操作

• Veridataが提供するコマンドツール

• GoldenGateパラメータファイルを読み込み、Veridata構成ファイルを生成– ExtractのTABLEパラメータや

ReplicatのMAPパラメータを比較ペアの生成元として使用

参考

https://docs.oracle.com/goldengate/v12212/gg-veridata/GVDAD/GUID-FB072DEF-F5D2-41B7-9D82-B638DCB227F9.htm#GVDAD1162

※ Veridata 12.2.1 では、日本語スキーマ・オブジェクト名に対応しません

30

Veridata GoldenGate Parameter Processing (VGPP )

Page 31: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridataの操作

31

VGPP の抽出例(一部抜粋)

MAP SOURCE.CHAR_TYPES, TARGET TARGET.CHAR_TYPES_NOTNULL, --表のマップCOLMAP ( USEDEFAULTS, --デフォルトは同列名をマップNCHAR_COL = NVARCHAR_COL, --列マップNVARCHAR_COL = NCHAR_COL, --列マップKEY_COL = CHAR_COL, --列マップCHAR_COL = KEY_COL ), --列マップKEYCOLS (KEY_COL, CHAR_COL); --キー列を指定

<compare-pair source-schema="SOURCE" source-table="CHAR_TYPES" target-schema="TARGET" target-table="CHAR_TYPES_NOTNULL"> <key-column target-name="KEY_COL" source-name="CHAR_COL"></key-column> <key-column target-name="CHAR_COL" source-name="KEY_COL"></key-column> <column source-name="*" type="hash"></column> <column target-name="NCHAR_COL" source-name="NVARCHAR_COL" type="hash"></column><column target-name="NVARCHAR_COL" source-name="NCHAR_COL" type="hash"></column> </compare-pair>

Replicatパラメータから、Veridata構成ファイルを抽出

Page 32: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata操作

•非同期データの確認方法–Webのレポートから参照

–ログファイルから参照

– XMLファイルに出力

•非同期データへの対応方法–手動(データパッチ)

– Veridataによる修復(手動 or 自動)

32

非同期データの扱い

ソース ターゲット

修復

• Veridataのジョブ設計時にどちらのDBがソース・ターゲットかを定義する

•不一致データの修復は、ターゲット側のデータをソースに合わせる形で修正

Page 33: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

本日の内容

Veridata概要

機能と動作

導入のポイント

1

2

3

33

Page 34: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入のポイント

34

基本構成

VeridataAgent

Veridata Server

Veridataサーバー DBサーバー

VeridataAgent

DBサーバー

AgentはDBサーバーに配置使いまわせるDBがある場合はリポジトリは別サーバー配置も可

AgentはDBサーバーに配置

ソートはVeridata Serverで行う

Page 35: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入のポイント

• Veridata Server

– OSのCertification

– リポジトリDBのCertification

– JDKのCertification (Veridata/OSのCertificationを満たす必要あり)

• Veridata Agent

– OSのCertification

– 比較対象DBのバージョン

– JDKのCertification (Veridata/OSのCertificationを満たす必要あり)

• 以下URLより Certification Matrixを入手

– http://www.oracle.com/technetwork/jp/middleware/ias/downloads/fusion-certification-100350.html

35

サポートバージョンの確認(とても重要)

Page 36: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入のポイント

36

システム要件 –ディスク・メモリ -

• Veridata サーバ

– ディスク及び仮想メモリ

• 基本:200MBの仮想メモリ

• 比較データ格納・ソート用仮想メモリ

• WebLogic Server (Infrastructure)

– メモリ:最小物理メモリ(4GB)、最小利用可能メモリ(8GB)

– 最小ディスク容量:1.4~1.5GB

• Veridata Repository

– (Oracle databaseの場合)ユーザの表領域使用制限にQuota Unlimitedを設定

• Veridata エージェント

– ディスク

• 200MB程度(Platformに依存)

• Unix及びLinuxの場合Java環境分も必要

– メモリ

• 1GBのRAMが必要

• Veridata Web UI

– 解像度

• 最低1024 x 768

– ADFのブラウザ要件を確認

Page 37: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入時のポイント

•比較対象表の情報があればグループ・ペア設計に有用–キー制約の有無

–件数(サイズ)

–差分判定に使用できる列があるか(最終更新日時など)

•実行多重度– Veridata サーバーのCPUスペックに応じて決定

37

ジョブ設計

Page 38: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入時のポイント

• 全体比較のPOC実施が望ましい

– 過去検証より多重度1で秒間数万~十数万件の実績があるが、環境によって大きく異なる可能性あり

• 多重化のみで要件時間に収まらない場合、巨大は表への差分比較設定を検討

• 差分比較の設計

– ソース・ターゲットDB共に新規作成: ORA_ROWSCNを使用したDelta Processing

– 既存の表、差分判定列あり:差分判定列を使用したDelta Processing

– 上記以外の場合:Row Partitionの都度設定が必要(難易度高)

38

差分比較実装の判断ポイント

Page 39: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入時のポイント

•対象スキーマ全表であれば、Webからペアの一括作成が容易1. Webからペアを一括作成

2. Delta Processing が必要なペアは個別で編集する

※基本はこの方法

• GoldenGateでレプリケーションする表が比較対象であればVGPPを使用したジョブ作成も効率的

39

ジョブ作成

Page 40: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入時のポイント

• Webもしくはコマンドツール(vericom)で実行が可能– vericom を使えば、シェルやスケジューラへの組み込みも容易

•実行レポートはWebもしくはログファイルで参照可能–ジョブの成功・失敗、不一致の有無はvericom実行の出力からも確認可能

• よくあるパターン–ジョブ実行はvericom

–レポート参照、エラー解析はWebで行う

40

ジョブ実行

Page 41: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Veridata導入時のポイント

• vericom の実行例–ジョブ実行

–ジョブ実行時の差分データのみを再度比較

41

ジョブの実行

$ ./vericom.sh -j <ジョブ名>

$ ./vericom.sh -j <ジョブ名> -rR

Page 42: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

本日の内容

Veridata概要

機能と動作

導入のポイント

1

2

3

42

Page 43: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Page 44: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Page 45: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース

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

Oracle Digitalは、オラクル製品の導入をご検討いただく際の総合窓口。電話とインターネットによるダイレクトなコニュニケーションで、どんなお問い合わせにもすばやく対応します。

もちろん、無償。どんなことでも、ご相談ください。

Page 46: データ連携のプロフェッショナル陣が語る! 現場で …otndnld.oracle.co.jp/ondemand/ogg-2017/20170525_Session...Oracle GoldenGate Veridata を御採用頂くケース