oracle goldengate 体験ハンズオン · •...

83
<Insert Picture Here> Oracle GoldenGate 体験ハンズオン 日本オラクル株式会社

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

<Insert Picture Here>

Oracle GoldenGate 体験ハンズオン 日本オラクル株式会社

Page 2: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved. 2

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

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

Page 3: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

アジェンダ

• 製品概要

• ハンズオン環境の準備

• ハンズオン

• 参考情報

3

Page 4: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGate とは

• 異機種データベース間での高速なレプリケーション機能を提供

OracleDB

GoldenGate

OracleDB

GoldenGate

双方向同期

データ移行/複製

ログの高速転送 ログの取得/適用 ログの取得/適用

4

Page 5: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGate の特徴

• 柔軟性 OS/DBバージョンに依存しない柔軟な構成

複数DB間で双方向の同期

スキーマ・オブジェクト単位での同期

データのフィルタリング・マッピング・変換

• パフォーマンス 最小限のデータ同期によるリアルタイムのデータ連携

低負荷

• 信頼性 トランザクションの実行順序の保証

障害時のリカバリ

5

Page 6: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGateデータ連携イメージ

Oracle

instance

Oracle

instance

Oracleクライアント SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

ターゲット・データベースシステム

ソース・データベースシステム

oracle

oracle

REDOログ ファイル

6

Page 7: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGateデータ連携イメージ

Oracle

instance

Capture

Oracle

instance

Oracleクライアント SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

DML 1

DML 2

COMMIT

COMMITされた 更新を即抽出

SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

ターゲット・データベースシステム

ソース・データベースシステム

oracle

oracle

Trailファイル

REDOログ ファイル

DML 1

DML 2

COMMIT

COMMITされた 更新を即抽出

7

Page 8: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGateデータ連携イメージ

Oracle

instance

Capture

Data Pump Collector

Oracle

instance

Oracleクライアント SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

DML 1

DML 2

COMMIT

COMMITされた 更新を即抽出

SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

ターゲット・データベースシステム

ソース・データベースシステム

oracle

oracle

Trailファイル Trailファイル

REDOログ ファイル

DML 1

DML 2

COMMIT

COMMITされた 更新を即抽出

8

Page 9: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGateデータ連携イメージ

Oracle

instance

Capture

Replicat

Data Pump Collector

Oracle

instance

Oracleクライアント SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

DML 1

DML 2

DML 1

DML 2

COMMIT •データ更新を反映 •ソースDBのトランザクション順序を保証

DML 1

DML 2

COMMIT

COMMITされた 更新を即抽出

SELECT 1

SELECT 2

DML 1

DML 2

COMMIT

ターゲット・データベースシステム

ソース・データベースシステム

COMMIT

oracle

oracle

Trailファイル Trailファイル

REDOログ ファイル

oracle

DML 1

DML 2

COMMIT

COMMITされた 更新を即抽出

9

Page 10: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGateアーキテクチャ

Oracle

instance

Replicat

Data Pump(※)

Trailファイル Trailファイル

Oracle

instance

Oracleクライアント

ターゲット・データベースシステム

ソース・データベースシステム

REDOログ ファイル

SQLを実行

REDOログから変更情報を読み取り、独自形式に変換して書き出し

Trailファイルの内容を抽出し、ターゲットに転送

Trailファイルの内容をSQLに変換し、実行

受信した内容をTrailファイルに出力

Manager

Manager

Collector

Capture

GoldenGateプロセスを監視

※Data PumpはGoldenGateの独自コンポーネントでありOracle Data Pumpユーティリティとの関連はありません

checkpoint

checkpoint

checkpoint

Checkpoint Capture, Data Pump, Replicatがデータをどこまで処理したか ファイルに保持。ReplicatのCheckpointはDBの表に保持。

Trailファイル

DBの変更情報を論理的な形式で格納した中間ファイル

oracle oracle

oracle

Extract = Capture + Data Pump

DBに接続しSQLで更新

GoldenGateプロセスを監視

10

Page 11: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

活用ケース1:リアルタイム情報連携

11

時間のかかる情報連携 リアルタイム情報連携

Page 12: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

活用ケース2:リアルタイムDWの実現

12

データ鮮度の低下 リアルタイムDWの実現

Page 13: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

活用ケース3:DB負荷軽減と情報活用

13

データベース負荷の限界 負荷軽減と情報活用が可能

Page 14: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

活用ケース4:ノンストップ移行・統合

14

移行時間が長い ノンストップ移行が可能

複雑な移行計画 シンプルな統合・移行が可能

Page 15: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

アジェンダ

• 製品概要

• ハンズオン環境の準備

• ハンズオン

• 参考情報

15

Page 16: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

• 本ハンズオンは、Oracle VM VirtualBox の仮想OS上で行います

• ハンズオン環境の準備のために、PCに Oracle VM VirtualBoxを導入し、ダウンロード仮想マシンイメージをインポートします。

ソース : Red (IP=192.168.56.111)

ターゲット : Blue(IP=192.168.56.112)

OS user/password は共に oracle/oracle(ハンズオン用), root/oracle(IPアドレスの変更時に使用)

ハンズオン環境

Oracle GoldenGate SID=orcl1 SID=orcl1

Red Blue

ハンズオン用PC

16

Page 17: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

VirtualBox イメージのインポート方法(1/5)

1. Oracle VM VirtualBox をインストールします

ソフトウェアは以下からダウンロード可能です

http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

2. インストール後、VirtualBox を起動します

3. [ファイル]タブから[仮想アプライアンスのインポート]

を選択します

17

Page 18: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

4. [仮想アプライアンスインポートウィザード]が表示されるため、「選択」をクリックします

VirtualBox イメージのインポート方法(2/5)

18

Page 19: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

5. ダウンロードしたイメージファイルを選択します

6. 「次へ」をクリックします

VirtualBox イメージのインポート方法(3/5)

19

Page 20: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

7. インポートの設定を行います

CPU/RAM/仮想ディスクイメージは任意に変更して下さい

VirtualBox イメージのインポート方法(4/5)

20

Page 21: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

8. 「Import」をクリックするとインポートが開始します

9. インポートが完了すると、VirtualBox マネージャ上にインポートされたホストの情報が出力されます。

(次のスライドは、Red と Blue の2つのホストをインポートした後のイメージになります)

VirtualBox イメージのインポート方法(5/5)

21

Page 22: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

VirtualBox の起動方法

• インポート後、以下のような状況になります。

• ホスト名を選択して「起動」をクリックするか、

ホスト名をダブルクリックすることで起動可能です

22

Page 23: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IP アドレスの変更

• 複数の Virtual Box のイメージをインポートすると、インポートされたホスト間で同じIPアドレスが使用

される可能性があります

(IPアドレスの確認方法は次のスライドを参照して下さい)

• その場合、以下のような対処が必要になります。

同じ IP アドレスを使用するホストを同時に起動しない

ホストのIPアドレスの設定を変更する

• 以降のスライドでは、ホストのIPアドレスの設定の

変更方法を説明します

23

Page 24: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの確認方法(1/3)

• ホストを起動すると以下のような画面が表示されるため、OS ユーザ名とパスワードを入力し、ログインします

24

Page 25: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの確認方法(2/3)

• [アプリケーション] – [アクセサリ] から「GNOME端末」を起動します

25

Page 26: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの確認方法(3/3)

• ifconfig コマンドを実行します

以下の場合、192.168.56.112 となります

26

Page 27: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの変更方法(1/6)

• ホストを起動すると以下のような画面が表示されるため、OS ユーザ名とパスワード(root/oracle)を入力し、ログインします

27

仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します

Page 28: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの変更方法(2/6)

• [システム] – [管理] からネットワークを選択します

28

仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します

Page 29: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの変更方法(3/6)

• [デバイス] から対象のデバイスを選択し[編集]ボタン

をクリックします

29

仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します

Page 30: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの変更方法(4/6)

• [固定のIPアドレス設定] で IP アドレスを指定します

変更後[OK]をクリックします

30

仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します

Page 31: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの変更方法(5/6)

• 設定を有効にするため[停止]ボタンをクリックした後、[起動]ボタンで再度起動して下さい

31

仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します

Page 32: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

IPアドレスの変更方法(6/6)

• 以上で設定の変更は完了です

• 「IPアドレスの確認方法」の手順で、設定した値が

出力されるか確認して下さい

• IPアドレスを変更する場合、以下のファイルへの変更も必要です

$ORACLE_HOME/network/admin/tnsnames.ora

$ORACLE_HOME/network/admin/listener.ora

/etc/hosts

• 仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します

32

Page 33: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

アジェンダ

• 製品概要

• ハンズオン環境の準備

• ハンズオン

• 参考情報

33

Page 34: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

レプリケーション体験

Replicat Data Pump Trailファイル Trailファイル

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

Collector Capture

初期ロード(expdp/impdp)

• 本シナリオでは、ソース側(Red)のDDDスキーマに作成されている表に対して実行した処理が、ターゲット側(Blue)

にレプリケートされるように設定を行います。

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

34

Page 35: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

• 本ハンズオン資料では、2つのOSにそれぞれ一つの Oracle Database を作成して実行する手順を紹介しています

ソース : Red (IP=192.168.56.111)

ターゲット : Blue(IP=192.168.56.112)

OS user/password は共に oracle/oracle

Oracle Enterprise Linux 5.7 (32bit)

Oracle Database 11g Release 2 (11.2.0.2)

Oracle GoldenGate 11.1.1.0.0 for Oracle11g on Linux x86

ハンズオン環境

Oracle GoldenGate SID=orcl1 SID=orcl1

Red Blue

ハンズオン用PC

35

Page 36: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

ハンズオン環境

• ハンズオン環境では、Oracle Databaseの環境がセットアップ済みです

• ハンズオン環境では、GoldenGateの以下のセットアップが構成済みです

GoldenGate のインストール

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

• アーカイブログ・モードへの変更

• サプリメンタル・ロギングの設定

• GoldenGate 用Oracleユーザの作成

Manager プロセスの構成

DDLレプリケーションの設定

36

Page 37: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

セットアップスクリプト

• ソース(red) およびターゲット(blue)には以下のセットアップスクリプトが用意されています

cleanup.sh : ハンズオンで作成したGoldenGateプロセスや

ユーザーデータを削除します

(Oracle DB / GoldenGate起動状態で実行)

start.sh : Oracleインスタンス、Oracleリスナー、

GoldenGate各プロセスを起動します

stop.sh : Oracleインスタンス、Oracleリスナー、

GoldenGate各プロセスを停止します

実行はOSユーザ oracle より行います

37

$ ls $HOME/script

cleanup.sh start.sh stop.sh

Page 38: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

現在の状態

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

プロセスが起動中

38

Page 39: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

1. テストデータの挿入

2. Captureプロセスの作成

3. Data Pumpプロセスの作成

4. CaptureとData Pumpの起動

5. Checkpointテーブルの作成

6. Replicatプロセスの作成

7. 初期ロードの実行

8. Replicatの起動

9. レプリケーション動作の確認

10. 処理状況の確認

11. ラグの確認

12. DDLレプリケーションの動作確認

レプリケーション体験

39

Page 40: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

1. テストデータの挿入

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

• ソース表にデータを挿入します

ソース

40

Page 41: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

1. テストデータの挿入

• 使用するアプリケーション(ソース側)

• データを2, 3 件挿入してください

41

ソース

[oracle@red ~]$ cat $HOME/URL.txt

http://192.168.56.111:8080/apex/f?p=102:1:197159710526183:::::

データ挿入

データ更新/削除 URLは以下を参照

Page 42: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

1. テストデータの挿入

• 使用するアプリケーション(ターゲット側)

• データは挿入しません(参照のみ)

42

[oracle@blue ~]$ cat $HOME/URL.txt

http://192.168.56.112:8080/apex/f?p=102:1:882315928257206:::::

URLは以下を参照

ターゲット

Page 43: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

2. Captureプロセスの作成

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

• ソース側(Red)でCaptureプロセスとローカル

Trailファイル定義を作成します

Trailファイル Capture

ソース

43

Page 44: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

(補足) 端末エミュレータでの作業について

• TeraTerm等のツールからSSH経由でのハンズオン環境へのアクセスが可能です

ソース : Red (IP=192.168.56.111)

ターゲット : Blue(IP=192.168.56.112)

OS user/password は共に oracle/oracle

44

Page 45: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

2. Captureプロセスの作成(1/4)

• Captureプロセス(CAP01)のパラメータファイルを作成します

GGSCI より「EDIT PARAM CAP01」と、Capture プロセス名を指定してコマンドを実行します

テキストの編集モードとなるため、以下を設定します

本ハンズオンでは以下を実行して下さい

45

$ cd /home/oracle/gg

$ ./ggsci

GGSCI> EDIT PARAM CAP01

EXTRACT CAP01

SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1")

SETENV (ORACLE_SID=orcl1)

USERID gg_user, PASSWORD gg_user

EXTTRAIL ./dirdat/lt

DDL INCLUDE MAPPED OBJNAME “ddd.*“

DDLOPTIONS ADDTRANDATA, REPORT

TABLE ddd.*;

ソース

$ cp $HOME/handson/Section1/cap01.prm /home/oracle/gg/dirprm/

Page 46: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

2. Captureプロセスの作成(2/4)

• パラメータファイルに設定した情報

46

EXTRACT CAP01

SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1")

SETENV (ORACLE_SID=orcl1)

USERID gg_user, PASSWORD gg_user

EXTTRAIL ./dirdat/lt

DDL INCLUDE MAPPED OBJNAME “ddd.*“

DDLOPTIONS ADDTRANDATA, REPORT

TABLE ddd.*;

Captureプロセスの名前 接続先DBの情報

GoldenGate ユーザの情報

Trail ファイル名

Capture対象の表の名前(* はワイルドカード) 表名の後にはセミコロン(;)が必須

ソース

DDLキャプチャと表作成 時のサプリメンタル・ロギング有効化の設定

Page 47: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

2. Captureプロセスの作成(3/4)

• Captureプロセスを作成します

• 作成状況を確認します

47

GGSCI> ADD EXTRACT CAP01, TRANLOG, BEGIN NOW

GGSCI> ADD EXTRACT CAP01, TRANLOG, BEGIN NOW

EXTRACT added.

GGSCI> INFO EXTRACT CAP01

EXTRACT CAP01 Initialized 2011-07-08 16:45 Status STOPPED

Checkpoint Lag 00:00:00 (updated 00:00:05 ago)

Log Read Checkpoint Oracle Redo Logs

2011-07-08 16:45:15 Seqno 0, RBA 0

実行例

設定内容

TRANLOG : オンラインREDOログファイルからの変更データの抽出

BEGIN NOW : Capture作成時からの変更データの抽出

Seqno : REDOのログ順序番号 RBA : relative block address

GGSCI> INFO EXTRACT CAP01

ソース

Page 48: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

2. Captureプロセスの作成(4/4)

• Captureしたデータを保存するTrailファイルを作成します

• 作成状況を確認します

48

GGSCI> ADD EXTTRAIL ./dirdat/lt,EXTRACT CAP01, MEGABYTES 50

GGSCI> INFO EXTTRAIL ./dirdat/lt

Extract Trail: ./dirdat/lt

Extract: CAP01

Seqno: 0

RBA: 0

File Size: 50MB

実行例

GGSCI> INFO EXTTRAIL ./dirdat/lt

GGSCI> EXIT

ソース

Page 49: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

3. Data Pumpプロセスの作成

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

• ソース側(Red)でData PumpプロセスとリモートTrailファイル定義を作成します

Trailファイル Capture Data Pump

Trailファイル

Collector

ソース

49

Page 50: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

3. Data Pumpプロセスの作成(1/4)

50

• Data Pumpプロセス(DP01)のパラメータファイルを

作成します

GGSCI より「EDIT PARAM DP01」と、Data Pump プロセス名を指定してコマンドを実行します

テキストの編集モードとなるため、以下を設定します

本ハンズオンでは以下を実行して下さい

$ cd /home/oracle/gg

$ ./ggsci

GGSCI> EDIT PARAM DP01

EXTRACT DP01

PASSTHRU

RMTHOST blue, MGRPORT 15001

RMTTRAIL ./dirdat/rt

TABLE ddd.*;

ソース

$ cp $HOME/handson/Section1/dp01.prm /home/oracle/gg/dirprm/

Page 51: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

EXTRACT DP01

PASSTHRU

RMTHOST blue, MGRPORT 15001

RMTTRAIL ./dirdat/rt

TABLE ddd.*;

51

3. Data Pumpプロセスの作成(2/4)

• パラメータファイルに設定した情報

Data Pumpプロセスの名前 DBへの接続を行わずにTrail ファイルから変更データを転送

ターゲットのホスト名とManagerのポート番号

ターゲットに作成される Trailファイル名

転送対象の 表の名前 表名の後にはセミコロン(;)が必須

ソース

Page 52: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved. 52

3. Data Pumpプロセスの作成(3/4)

• Data Pumpプロセスを作成します

• 作成状況を確認します

GGSCI> ADD EXTRACT DP01, EXTTRAILSOURCE ./dirdat/lt

GGSCI> ADD EXTRACT DP01, EXTTRAILSOURCE ./dirdat/lt

EXTRACT added.

GGSCI> INFO EXTRACT DP01

EXTRACT DP01 Initialized 2011-07-08 17:38 Status STOPPED

Checkpoint Lag 00:00:00 (updated 00:00:04 ago)

Log Read Checkpoint File ./dirdat/lt000000

First Record RBA 0

実行例

設定内容

EXTTRAILSOURCE : 読み込み対象のTrailファイルを指定

GGSCI> INFO EXTRACT DP01

ソース

Page 53: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved. 53

3. Data Pumpプロセスの作成(4/4)

• ターゲットへのTrailファイルの転送設定を行います

• 作成状況を確認します

GGSCI> ADD RMTTRAIL ./dirdat/rt,EXTRACT DP01, MEGABYTES 50

GGSCI> INFO RMTTRAIL ./dirdat/rt

Extract Trail: ./dirdat/rt

Extract: DP01

Seqno: 0

RBA: 0

File Size: 50MB

実行例

GGSCI> INFO RMTTRAIL ./dirdat/rt

ターゲット側のTrailファイルに関する設定は、ソース側で行います

ソース

Page 54: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

4. CaptureとData Pumpの起動

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

Trailファイル Capture Data Pump

Trailファイル

Collector

• ソース側(Red)でCapture プロセスとData Pumpプロセスを起動します

ソース

54

Page 55: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

4. CaptureとData Pumpの起動

• GGSCI より Capture/Data Pump のプロセスを起動します

• プロセスの状態を確認します

55

GGSCI> START EXTRACT CAP01

GGSCI> START EXTRACT DP01

GGSCI> INFO ALL

GGSCI> EXIT

GGSCI> START EXTRACT CAP01

Sending START request to MANAGER ...

EXTRACT CAP01 starting

GGSCI> START EXTRACT DP01

Sending START request to MANAGER ...

EXTRACT DP01 starting

GGSCI> INFO ALL

Program Status Group Lag Time Since Chkpt

MANAGER RUNNING

EXTRACT RUNNING CAP01 00:00:00 00:00:06

EXTRACT RUNNING DP01 00:00:00 00:00:07

実行例

ソース

Page 56: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

5. Checkpointテーブルの作成

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

Trailファイル Capture Data Pump

Trailファイル

Collector

• ターゲット側(Blue)にCheckpointテーブルを作成します

ターゲット

56

Page 57: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

5. Checkpointテーブルの作成(1/2)

• ターゲットの GLOBALS ファイルを編集します

• GLOBALSファイルでデフォルトのチェックポイントテーブルを指定します

以下の値を設定後、設定内容を保存します

• GLOBALSファイルの設定の有効化のため、一旦EXITします

• 本ハンズオンでは以下を実行して下さい

57

$ cd /home/oracle/gg

$ ./ggsci

GGSCI> EDIT PARAMS ./GLOBALS

CHECKPOINTTABLE gg_user.ggs_checkpoint

GGSCI> EXIT

ターゲット

$ cp $HOME/handson/Section1/GLOBALS /home/oracle/gg/

Page 58: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

5. Checkpointテーブルの作成(2/2)

• チェックポイントテーブルを作成します

58

$ ./ggsci

GGSCI> DBLOGIN USERID gg_user, PASSWORD gg_user

GGSCI> ADD CHECKPOINTTABLE

GGSCI> EXIT

GGSCI> DBLOGIN USERID gg_user, PASSWORD gg_user

Successfully logged into database.

GGSCI> ADD CHECKPOINTTABLE

No checkpoint table specified, using GLOBALS specification

(gg_user.ggs_checkpoint)...

Successfully created checkpoint table GG_USER.GGS_CHECKPOINT.

実行例

ターゲット

Page 59: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

6. Replicatプロセスの作成

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

Trailファイル Capture Data Pump

Trailファイル

Collector

• ターゲット側(Blue)でReplicatプロセスを作成します

Replicat

ターゲット

59

Page 60: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

6. Replicatプロセスの作成(1/3)

• Replicatプロセス(REP01)のパラメータファイルを作成します

GGSCI より「EDIT PARAM REP01」と、Replicat プロセス名を指定してコマンドを実行します

テキストの編集モードとなるため、以下を設定します

本ハンズオンでは以下を実行して下さい

60

$ cd /home/oracle/gg

$ ./ggsci

GGSCI> EDIT PARAM REP01

REPLICAT REP01

SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1")

SETENV (ORACLE_SID=orcl1)

USERID gg_user, PASSWORD gg_user

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/REP01.DSC, PURGE

DDL INCLUDE MAPPED

MAP ddd.*, TARGET ddd.*;

ターゲット

$ cp $HOME/handson/Section1/rep01.prm /home/oracle/gg/dirprm/

Page 61: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

REPLICAT REP01

SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1")

SETENV (ORACLE_SID=orcl1)

USERID gg_user, PASSWORD gg_user

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/REP01.DSC, PURGE

DDL INCLUDE MAPPED

MAP ddd.*, TARGET ddd.*;

6. Replicatプロセスの作成(2/3)

61

• パラメータファイルに設定した情報

Replicatプロセスの名前

表名の後にはセミコロン(;)が必須

接続先DBの情報 GoldenGate ユーザの情報

Capture対象の表の名前

ソースとターゲットで 列構成が同じ場合の設定

処理できなかったデータを記録するための設定

ターゲット

DDLレプリケーションの設定

Page 62: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

6. Replicatプロセスの作成(3/3)

• Replicatプロセスを追加します

ここでは追加のみを行います

起動は「初期ロード」の作業後に行います

62

GGSCI> ADD REPLICAT REP01, EXTTRAIL ./dirdat/rt

GGSCI> EXIT

GGSCI> ADD REPLICAT REP01, EXTTRAIL ./dirdat/rt

REPLICAT added.

実行例

ターゲット

Page 63: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

7. 初期ロード

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

Trailファイル Capture Data Pump

Trailファイル

Collector

• ソース表に挿入済みのデータをターゲット表にコピーします

Replicat

初期ロード(expdp/impdp)

ターゲット

ソース

63

Page 64: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

7. 初期ロード(1/5)

• Oracle DataPump を使用して、ソース(Red)の表定義とデータをターゲット(Blue)にコピーします

• まず、ソース(Red)で以下を実行します

出力先ディレクトリの作成

作成したディレクトリの登録と権限の付与

エクスポートの実行

64

$ mkdir /home/oracle/gg/datapump

$ sqlplus / as sysdba

SQL> create directory dp_dir as '/home/oracle/gg/datapump';

SQL> exit

$ expdp system/oracle directory=dp_dir dumpfile=dp.dmp

tables=ddd.sample

ソース

Page 65: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

7. 初期ロード(2/5)

65

$ expdp system/oracle directory=dp_dir dumpfile=dp.dmp tables=ddd.sample

Export: Release 11.2.0.2.0 - Production on 日 10月 30 11:43:21 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

接続先: Oracle Database 11g Release 11.2.0.2.0 - Production

“SYSTEM"."SYS_EXPORT_TABLE_01"を起動しています: system/******** directory=dp_dir dumpfile=dp.dmp tables=ddd.sample

BLOCKSメソッドを使用して見積り中です... オブジェクト型TABLE_EXPORT/TABLE/TABLE_DATAの処理中です BLOCKSメソッドを使用した見積り合計: 64 KB

オブジェクト型TABLE_EXPORT/TABLE/TABLEの処理中です オブジェクト型TABLE_EXPORT/TABLE/INDEX/INDEXの処理中です オブジェクト型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINTの処理中です オブジェクト型TABLE_EXPORT/TABLE/TRIGGERの処理中です . . "DDD"."SAMPLE" 7.648 KB 2行がエクスポートされました マスター表“SYSTEM"."SYS_EXPORT_TABLE_01"は正常にロード/アンロードされました ******************************************************************************

SYSTEM.SYS_EXPORT_TABLE_01に設定されたダンプ・ファイルは次のとおりです:

/home/oracle/gg/datapump/dp.dmp

ジョブ“SYSTEM"."SYS_EXPORT_TABLE_01"が11:43:30で正常に完了しました

実行例

• エクスポート実行時の画面ログは以下のようになります

ソース

Page 66: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

7. 初期ロード(3/5)

• ターゲット(Blue)からFTPでソースに作成されたダンプファイルをコピーします

• ディレクトリオブジェクトの作成と権限付与を行います

66

$ mkdir /home/oracle/gg/datapump

$ cd /home/oracle/gg/datapump

$ ftp red

ftp> cd /home/oracle/gg/datapump

ftp> bin

ftp> get dp.dmp

ftp> bye

$ sqlplus / as sysdba

SQL> create directory dp_dir as '/home/oracle/gg/datapump';

SQL> exit

ターゲット

Page 67: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

7. 初期ロード(4/5)

• ターゲット(Blue)でインポートを行います

67

$ impdp system/oracle directory=dp_dir dumpfile=dp.dmp

tables=ddd.sample content=data_only

$ impdp system/ddd directory=dp_dir dumpfile=dp.dmp tables=ddd.sample

content=data_only

Import: Release 11.2.0.2.0 - Production on 日 10月 30 11:22:46 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

接続先: Oracle Database 11g Release 11.2.0.2.0 - Production

マスター表“SYSTEM"."SYS_IMPORT_TABLE_01"は正常にロード/アンロードされました "DDD"."SYS_IMPORT_TABLE_01"を起動しています: system/******** directory=dp_dir dumpfile=dp.dmp tables=ddd.sample content=data_only

オブジェクト型TABLE_EXPORT/TABLE/TABLE_DATAの処理中です . . "DDD"."SAMPLE" 7.648 KB 2行がインポートされました ジョブ“SYSTEM"."SYS_IMPORT_TABLE_01"が11:22:53で正常に完了しました

実行例

ターゲット

Page 68: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved. 68

7. 初期ロード(5/5)

• ターゲット側アプリケーションでデータが参照できることを確認します

ターゲット

[oracle@blue ~]$ cat $HOME/URL.txt

http://192.168.56.112:8080/apex/f?p=102:1:882315928257206:::::

URLは以下を参照

Page 69: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

8. Replicatプロセスの起動

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

Trailファイル Capture Data Pump

Trailファイル

Collector

• ターゲット側(Blue)でReplicatプロセスを起動します

Replicat

ターゲット

69

Page 70: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

• ターゲットで Replicatプロセス(REP01)を起動します

• プロセスの状態を確認します

8. Replicatプロセスの起動

70

$ cd /home/oracle/gg

$ ./ggsci

GGSCI> START REPLICAT REP01

GGSCI> INFO ALL

GGSCI> EXIT

GGSCI> START REPLICAT REP01

Sending START request to MANAGER ...

REPLICAT REP01 starting

GGSCI> INFO ALL

Program Status Group Lag Time Since Chkpt

MANAGER RUNNING

REPLICAT RUNNING REP01 00:00:00 00:00:04

実行例

ReplicatのステータスがRUNNINGとなります

ターゲット

Page 71: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

9. レプリケーション動作の確認

ターゲット (Blue) ソース (Red)

REDOログ ファイル

Manager Manager

GG用ユーザ(GG_USER)

GG用ユーザ(GG_USER)

ターゲット表 (DDD.SAMPLE)

ソース表 (DDD.SAMPLE)

Oracle Instance Oracle Instance

Trailファイル Capture Data Pump

Trailファイル

Collector

• ソース側(Blue)でデータ挿入/変更/削除 等行い、それらの操作がレプリケーションされることを確認します

Replicat

ターゲット

ソース

71

Page 72: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

9. レプリケーション動作の確認

72

• ソース側(Red)でデータの挿入/変更/削除を行います

ソース

Page 73: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

10. 処理状況の確認

73

• GoldenGateの各プロセスの処理状態をSQL数で確認。

• 定期的に実行することで各プロセスの処理性能を確認可能。

• Capture の確認(ソース)

• Data Pump の確認(ソース)

• Replicat の確認(ターゲット)

GGSCI> STATS EXTRACT CAP01

GGSCI> STATS EXTRACT DP01

GGSCI> STATS REPLICAT REP01

ターゲット

ソース

Page 74: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

11. ラグの確認

• ソースDBとGoldenGate各プロセスの処理済みデータのタイムラグを確認。

Captureラグ : ローカルtrailファイルとのラグ

Data Pumpラグ : リモートtrailファイとのラグ

Replicat ラグ : ターゲットDBとのラグ

• 定期的に確認することで稼働状態を監視可能。

74

Trail

ターゲットDB ソースDB

Network

(TCP/IP)

Captureラグ

Data Pumpラグ

Data Pump

Capture Collector Replicat

Trail

GGSCI> LAG EXTRACT CAP01

GGSCI> LAG EXTRACT DP01

GGSCI> LAG REPLICAT REP01

Replicat ラグ

ターゲット

ソース

Page 75: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

12. DDLレプリケーションの動作確認(1/2)

• ターゲット側(blue)での表の存在確認

表は存在するか?

• ソース側(red)で表作成

• ターゲット側(blue)での表の存在確認

表は存在するか?

75

ターゲット

ソース

$ sqlplus ddd/ddd

SQL> desc test

$ sqlplus ddd/ddd

SQL> create table test (col1 number primary key, col2 char(10));

$ sqlplus ddd/ddd

SQL> desc test

Page 76: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

12. DDLレプリケーションの動作確認(2/2)

• ソース側(red)でtest 表に列追加

• ターゲット側(blue)での表の存在確認

表は変更されたか?

76

ターゲット

ソース

$ sqlplus ddd/ddd

SQL> alter table test add (col3 varchar2(100));

$ sqlplus ddd/ddd

SQL> desc test

Page 77: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

まとめ

• 本ハンズオンでは以下を実施しました

GoldenGate でのレプリケーションの設定

• ソースでの Capture/Data Pump の構成

• ターゲットでの Replicat の構成

データレプリケーションの動作確認

DDLレプリケーションの動作確認

77

Page 78: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

アジェンダ

• 製品概要

• ハンズオン環境の準備

• ハンズオン

• 参考情報

78

Page 79: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGate マニュアル 主に使用するもの

• Administration Guide

管理/操作全般について記述

• Reference Guide

パラメータやコマンドのリファレンス

• Oracle Installation and Setup Guide

Oracle Databaseのデータ連携に特化したマニュアル

• Troubleshooting and Tuning Guide

パフォーマンスチューニングと障害解析について記述

79

http://www.oracle.com/technetwork/jp/middleware/goldengate/documentation/index.html

Page 80: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Oracle GoldenGate 技術資料 Oracle GRID Center 検証資料

• 「Oracle GoldenGate 11g によるOracle Databaseの移行/

アップグレード ベストプラクティス」

富士通様との共同検証ホワイトペーパー。DB移行におけるGoldenGateの活用と実機検証について解説

• 「ゼロダウンタイムに挑戦!GoldenGate活用よるDBアップグレード」

富士通様との共同セミナーコンテンツ。移行用途に加え、リアルタイム・レプリケーション基盤としての性能検証の結果について解説

80

http://blogs.oracle.com/oracle4engineer/entry/material_goldengate_gridcenter_fujitsu

http://www.oracle.com/jp/gridcenter/partner/fujitsu/index.html

Page 81: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

掲載コンテンツカテゴリ(一部抜粋)

Database 基礎

Database 現場テクニック

Database スペシャリストが語る

Java

WebLogic Server/アプリケーション・グリッド

EPM/BI 技術情報

サーバー

ストレージ

例えばこんな使い方

• 製品概要を効率的につかむ

• 基礎を体系的に学ぶ/学ばせる

• 時間や場所を選ばず(オンデマンド)に受講

• スマートフォンで通勤中にも受講可能

100以上のコンテンツをログイン不要でダウンロードし放題

データベースからハードウェアまで充実のラインナップ

毎月、旬なトピックの新作コンテンツが続々登場

81

OTNオンデマンド

コンテンツ一覧 はこちら http://www.oracle.com/technetwork/jp/ondemand/index.html

新作&おすすめコンテンツ情報 はこちら http://oracletech.jp/seminar/recommended/000073.html 毎月チェック!

GoldenGateコンテンツも多数掲載!!

OTNセミナーオンデマンド 日本オラクルのエンジニアが作成したセミナー資料・動画ダウンロードサイト

Page 82: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.

Page 83: Oracle GoldenGate 体験ハンズオン · • 本シナリオでは、ソース側(Red)のDDDスキーマに作成さ れている表に対して実行した処理が、ターゲット側(Blue)

Copyright © Oracle Corporation Japan, 2011. All rights reserved.