Oracle GoldenGate 体験ハンズオン

<Insert Picture Here>
Oracle GoldenGate 体験ハンズオン
日本オラクル株式会社
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは
できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン
ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ
い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい
ては、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文
中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
2
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
3
Oracle GoldenGate とは
• 異機種データベース間での高速なレプリケー
ション機能を提供
データ移行/複製
双方向同期
ログの取得/適用
ログの高速転送
ログの取得/適用
GoldenGate
GoldenGate
OracleDB
OracleDB
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
4
Oracle GoldenGate の特徴
• 柔軟性
 OS/DBバージョンに依存しない柔軟な構成
 複数DB間で双方向の同期
 スキーマ・オブジェクト単位での同期
 データのフィルタリング・マッピング・変換
• パフォーマンス
 最小限のデータ同期によるリアルタイムのデータ連携
 低負荷
• 信頼性
 トランザクションの実行順序の保証
 障害時のリカバリ
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
5
Oracle GoldenGateデータ連携イメージ
Oracleクライアント
oracle
oracle
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
Oracle
Oracle
instance
instance
REDOログ
ファイル
ソース・データベースシステム
ターゲット・データベースシ
ステム
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
6
Oracle GoldenGateデータ連携イメージ
Oracleクライアント
oracle
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
oracle
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
Oracle
Oracle
instance
instance
REDOログ
ファイル
Trailファイル
Capture
DML 1
DML 2
COMMIT
COMMITされた
更新を即抽出
DML 1
DML 2
COMMITされた
COMMIT 更新を即抽出
ソース・データベースシステム
ターゲット・データベースシ
ステム
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
7
Oracle GoldenGateデータ連携イメージ
Oracleクライアント
oracle
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
oracle
Oracle
Oracle
instance
Data Pump
REDOログ
ファイル
Trailファイル
Capture
DML 1
DML 2
COMMIT
COMMITされた
更新を即抽出
instance
Collector
Trailファイル
DML 1
DML 2
COMMITされた
COMMIT 更新を即抽出
ソース・データベースシステム
ターゲット・データベースシ
ステム
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
8
Oracle GoldenGateデータ連携イメージ
Oracleクライアント
oracle
DML 1
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
DML 2
SELECT 1
SELECT 2
DML 1
DML 2
COMMIT
oracle
DML 1
instance
Data Pump
REDOログ
ファイル
Trailファイル
DML 1
DML 2
COMMIT
COMMITされた
更新を即抽出
•データ更新を反映
•ソースDBのトランザ
クション順序を保証
DML 2
COMMIT
Replicat
Oracle
Capture
COMMIT
oracle
Oracle
instance
Collector
Trailファイル
DML 1
DML 2
COMMITされた
COMMIT 更新を即抽出
ソース・データベースシステム
ターゲット・データベースシ
ステム
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
9
Oracle GoldenGateアーキテクチャ
※Data PumpはGoldenGateの独自コ
ンポーネントでありOracle Data Pump
ユーティリティとの関連はありません
Oracleクライアント
SQLを実行
GoldenGateプロセスを監視
oracle
oracle
Trailファイルの内容
をSQLに変換し、実
行
Extract = Capture + Data Pump
Manager
GoldenGateプロセスを監視
Replicat
Oracle
instance
Manager
Oracle
instance
checkpoint
Data Pump(※)
checkpoint
REDOログ
ファイル
Trailファイル
Trailファイルの内容を抽
出し、ターゲットに転送
Capture
checkpoint
oracle
REDOログから変更情報を読み取
り、独自形式に変換して書き出し
ソース・データベースシステム
Collector
DBに接続しSQLで更新
Checkpoint
Capture, Data Pump, Replicat
がデータをどこまで処理したか
ファイルに保持。Replicatの
Trailファイル
CheckpointはDBの表に保持。
受信した内容をTrail
ファイルに出力
Trailファイル
DBの変更情報を論理的な形式
で格納した中間ファイル
ターゲット・データベースシス
テム
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
10
活用ケース1:リアルタイム情報連携
時間のかかる情報連携
リアルタイム情報連携
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
11
活用ケース2:リアルタイムDWの実現
データ鮮度の低下
リアルタイムDWの実現
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
12
活用ケース3:DB負荷軽減と情報活用
データベース負荷の限界
負荷軽減と情報活用が可能
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
13
活用ケース4:ノンストップ移行・統合
移行時間が長い
ノンストップ移行が可能
複雑な移行計画
シンプルな統合・移行が可能
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
14
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
15
ハンズオン環境
• 本ハンズオンは、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アドレスの変更時に使用)
ハンズオン用PC
Blue
Red
SID=orcl1
Oracle
GoldenGate
SID=orcl1
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
16
VirtualBox イメージのインポート方法(1/5)
1. Oracle VM VirtualBox をインストールします
 ソフトウェアは以下からダウンロード可能です
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
2. インストール後、VirtualBox を起動します
3. [ファイル]タブから[仮想アプライアンスのインポート]
を選択します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
17
VirtualBox イメージのインポート方法(2/5)
4. [仮想アプライアンスインポートウィザード]が表示
されるため、「選択」をクリックします
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
18
VirtualBox イメージのインポート方法(3/5)
5. ダウンロードしたイメージファイルを選択します
6. 「次へ」をクリックします
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
19
VirtualBox イメージのインポート方法(4/5)
7. インポートの設定を行います

CPU/RAM/仮想ディスクイメージは任意に変更して下さい
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
20
VirtualBox イメージのインポート方法(5/5)
8. 「Import」をクリックするとインポートが開始します
9. インポートが完了すると、VirtualBox マネージャ上に
インポートされたホストの情報が出力されます。
(次のスライドは、Red と Blue の2つのホストをイン
ポートした後のイメージになります)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
21
VirtualBox の起動方法
• インポート後、以下のような状況になります。
• ホスト名を選択して「起動」をクリックするか、
ホスト名をダブルクリックすることで起動可能です
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
22
IP アドレスの変更
• 複数の Virtual Box のイメージをインポートすると、
インポートされたホスト間で同じIPアドレスが使用
される可能性があります
(IPアドレスの確認方法は次のスライドを参照して下
さい)
• その場合、以下のような対処が必要になります。
 同じ IP アドレスを使用するホストを同時に起動しない
 ホストのIPアドレスの設定を変更する
• 以降のスライドでは、ホストのIPアドレスの設定の
変更方法を説明します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
23
IPアドレスの確認方法(1/3)
• ホストを起動すると以下のような画面が表示される
ため、OS ユーザ名とパスワードを入力し、ログイン
します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
24
IPアドレスの確認方法(2/3)
• [アプリケーション] – [アクセサリ] から「GNOME端
末」を起動します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
25
IPアドレスの確認方法(3/3)
• ifconfig コマンドを実行します
 以下の場合、192.168.56.112 となります
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
26
IPアドレスの変更方法(1/6)
• ホストを起動すると以下のような画面が表示される
ため、OS ユーザ名とパスワード(root/oracle)を入
力し、ログインします
仮想マシンのウィンドウ
から抜ける場合は、キー
ボードの右側のCtrlボタ
ンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
27
IPアドレスの変更方法(2/6)
• [システム] – [管理] からネットワークを選択します
仮想マシンのウィンドウ
から抜ける場合は、キー
ボードの右側のCtrlボタ
ンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
28
IPアドレスの変更方法(3/6)
• [デバイス] から対象のデバイスを選択し[編集]ボタン
をクリックします
仮想マシンのウィンドウ
から抜ける場合は、キー
ボードの右側のCtrlボタ
ンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
29
IPアドレスの変更方法(4/6)
• [固定のIPアドレス設定] で IP アドレスを指定します
 変更後[OK]をクリックします
仮想マシンのウィンドウ
から抜ける場合は、キー
ボードの右側のCtrlボタ
ンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
30
IPアドレスの変更方法(5/6)
• 設定を有効にするため[停止]ボタンをクリックした後、
[起動]ボタンで再度起動して下さい
仮想マシンのウィンドウ
から抜ける場合は、キー
ボードの右側のCtrlボタ
ンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
31
IPアドレスの変更方法(6/6)
• 以上で設定の変更は完了です
• 「IPアドレスの確認方法」の手順で、設定した値が
出力されるか確認して下さい
• IPアドレスを変更する場合、以下のファイルへの変更
も必要です
 $ORACLE_HOME/network/admin/tnsnames.ora
 $ORACLE_HOME/network/admin/listener.ora
 /etc/hosts
• 仮想マシンのウィンドウから抜ける場合は、キーボ
ードの右側のCtrlボタンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
32
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
33
レプリケーション体験
•
本シナリオでは、ソース側(Red)のDDDスキーマに作成さ
れている表に対して実行した処理が、ターゲット側(Blue)
にレプリケートされるように設定を行います。
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
初期ロード
(expdp/impdp)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Replicat
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
34
ハンズオン環境
• 本ハンズオン資料では、2つのOSにそれぞれ一つの Oracle Database を作
成して実行する手順を紹介しています
 ソース
: Red (IP=192.168.56.111)
 ターゲット : Blue(IP=192.168.56.112)
 OS user/password は共に oracle/oracle
ハンズオン用PC
Blue
Red
SID=orcl1
Oracle
GoldenGate
SID=orcl1
 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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
35
ハンズオン環境
• ハンズオン環境では、Oracle Databaseの環境がセッ
トアップ済みです
• ハンズオン環境では、GoldenGateの以下のセットア
ップが構成済みです
 GoldenGate のインストール
 データベース側の設定変更
• アーカイブログ・モードへの変更
• サプリメンタル・ロギングの設定
• GoldenGate 用Oracleユーザの作成
 Manager プロセスの構成
 DDLレプリケーションの設定
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
36
セットアップスクリプト
• ソース(red) およびターゲット(blue)には以下のセット
アップスクリプトが用意されています
$ ls $HOME/script
cleanup.sh start.sh
stop.sh
 cleanup.sh : ハンズオンで作成したGoldenGateプロセスや
ユーザーデータを削除します
(Oracle DB / GoldenGate起動状態で実行)
 start.sh : Oracleインスタンス、Oracleリスナー、
GoldenGate各プロセスを起動します
 stop.sh : Oracleインスタンス、Oracleリスナー、
GoldenGate各プロセスを停止します
 実行はOSユーザ oracle より行います
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
37
現在の状態
プロセスが起動中
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Manager
ソース (Red)
Manager
GG用ユーザ
(GG_USER)
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
38
レプリケーション体験
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
テストデータの挿入
Captureプロセスの作成
Data Pumpプロセスの作成
CaptureとData Pumpの起動
Checkpointテーブルの作成
Replicatプロセスの作成
初期ロードの実行
Replicatの起動
レプリケーション動作の確認
処理状況の確認
ラグの確認
DDLレプリケーションの動作確認
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
39
ソース
1. テストデータの挿入
•
ソース表にデータを挿入します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Manager
ソース (Red)
Manager
GG用ユーザ
(GG_USER)
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
40
1. テストデータの挿入
• 使用するアプリケーション(ソース側)
• データを2, 3 件挿入してください
ソース
データ挿入
データ更新/削除
URLは以下を参照
[[email protected] ~]$ cat $HOME/URL.txt
http://192.168.56.111:8080/apex/f?p=102:1:197159710526183:::::
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
41
1. テストデータの挿入
ターゲット
• 使用するアプリケーション(ターゲット側)
• データは挿入しません(参照のみ)
URLは以下を参照
[[email protected] ~]$ cat $HOME/URL.txt
http://192.168.56.112:8080/apex/f?p=102:1:882315928257206:::::
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
42
ソース
2. Captureプロセスの作成
•
ソース側(Red)でCaptureプロセスとローカル
Trailファイル定義を作成します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
GG用ユーザ
(GG_USER)
Trailファイル
ソース (Red)
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
43
(補足) 端末エミュレータでの作業について
• TeraTerm等のツールからSSH経由でのハンズオン環
境へのアクセスが可能です
 ソース
: Red (IP=192.168.56.111)
 ターゲット : Blue(IP=192.168.56.112)
 OS user/password は共に oracle/oracle
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
44
ソース
2. Captureプロセスの作成(1/4)
• Captureプロセス(CAP01)のパラメータファイルを作成
します
 GGSCI より「EDIT PARAM CAP01」と、Capture プロセス名
を指定してコマンドを実行します
$ 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/
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
45
ソース
2. Captureプロセスの作成(2/4)
• パラメータファイルに設定した情報
Captureプロセスの名前
接続先DBの情報
Trail
ファイル名
EXTRACT CAP01
SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1")
SETENV (ORACLE_SID=orcl1)
GoldenGate
USERID gg_user, PASSWORD gg_user
ユーザの情報
EXTTRAIL ./dirdat/lt
DDL INCLUDE MAPPED OBJNAME “ddd.*“
DDLOPTIONS ADDTRANDATA, REPORT
TABLE ddd.*;
DDLキャプチャと表作成
時のサプリメンタル・ロ
ギング有効化の設定
Capture対象の表
の名前(* はワイ
ルドカード)
表名の後にはセミコロン(;)が必須
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
46
ソース
2. Captureプロセスの作成(3/4)
• Captureプロセスを作成します
GGSCI> ADD EXTRACT CAP01, TRANLOG, BEGIN NOW
設定内容
TRANLOG : オンラインREDOログファイルからの変更データの抽出
BEGIN NOW : Capture作成時からの変更データの抽出
• 作成状況を確認します
GGSCI> INFO EXTRACT CAP01
実行例
GGSCI> ADD EXTRACT CAP01, TRANLOG, BEGIN NOW
EXTRACT added.
Seqno : REDOのログ順序番号
RBA : relative block address
GGSCI> INFO EXTRACT CAP01
EXTRACT
CAP01
Checkpoint Lag
Log Read Checkpoint
Initialized
2011-07-08 16:45
Status STOPPED
00:00:00 (updated 00:00:05 ago)
Oracle Redo Logs
2011-07-08 16:45:15 Seqno 0, RBA 0
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
47
ソース
2. Captureプロセスの作成(4/4)
• Captureしたデータを保存するTrailファイルを作成します
GGSCI> ADD EXTTRAIL ./dirdat/lt,EXTRACT CAP01, MEGABYTES 50
• 作成状況を確認します
GGSCI> INFO EXTTRAIL ./dirdat/lt
GGSCI> EXIT
実行例
GGSCI> INFO EXTTRAIL ./dirdat/lt
Extract Trail: ./dirdat/lt
Extract: CAP01
Seqno: 0
RBA: 0
File Size: 50MB
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
48
ソース
3. Data Pumpプロセスの作成
•
ソース側(Red)でData PumpプロセスとリモートTrailファ
イル定義を作成します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
49
ソース
3. Data Pumpプロセスの作成(1/4)
• 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/
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
50
ソース
3. Data Pumpプロセスの作成(2/4)
• パラメータファイルに設定した情報
Data Pumpプロセスの名前
DBへの接続を行わずにTrail
ファイルから変更データを転送
EXTRACT DP01
PASSTHRU
RMTHOST blue, MGRPORT 15001
RMTTRAIL ./dirdat/rt
TABLE ddd.*;
ターゲットのホスト名と
Managerのポート番号
ターゲットに作成される
Trailファイル名
転送対象の
表の名前
表名の後にはセミコロン(;)が必須
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
51
ソース
3. Data Pumpプロセスの作成(3/4)
• Data Pumpプロセスを作成します
GGSCI> ADD EXTRACT DP01, EXTTRAILSOURCE ./dirdat/lt
設定内容
EXTTRAILSOURCE : 読み込み対象のTrailファイルを指定
• 作成状況を確認します
GGSCI> INFO EXTRACT DP01
実行例
GGSCI> ADD EXTRACT DP01, EXTTRAILSOURCE ./dirdat/lt
EXTRACT added.
GGSCI> INFO EXTRACT DP01
EXTRACT
DP01
Checkpoint Lag
Log Read Checkpoint
Initialized
2011-07-08 17:38
00:00:00 (updated 00:00:04 ago)
File ./dirdat/lt000000
First Record RBA 0
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
Status STOPPED
52
ソース
3. Data Pumpプロセスの作成(4/4)
• ターゲットへのTrailファイルの転送設定を行います
GGSCI> ADD RMTTRAIL ./dirdat/rt,EXTRACT DP01, MEGABYTES 50
ターゲット側のTrailファイルに関する設定は、ソース側で行います
• 作成状況を確認します
GGSCI> INFO RMTTRAIL ./dirdat/rt
実行例
GGSCI> INFO RMTTRAIL ./dirdat/rt
Extract Trail: ./dirdat/rt
Extract: DP01
Seqno: 0
RBA: 0
File Size: 50MB
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
53
ソース
4. CaptureとData Pumpの起動
•
ソース側(Red)でCapture プロセスとData Pumpプロセ
スを起動します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
54
ソース
4. CaptureとData Pumpの起動
• GGSCI より Capture/Data Pump のプロセスを起動します
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
MANAGER
EXTRACT
EXTRACT
Status
RUNNING
RUNNING
RUNNING
Group
Lag
Time Since Chkpt
CAP01
DP01
00:00:00
00:00:00
00:00:06
00:00:07
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
55
5. Checkpointテーブルの作成
•
ターゲット
ターゲット側(Blue)にCheckpointテーブルを作成します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
56
5. Checkpointテーブルの作成(1/2)
ターゲット
• ターゲットの GLOBALS ファイルを編集します
$ cd /home/oracle/gg
$ ./ggsci
GGSCI> EDIT PARAMS ./GLOBALS
• GLOBALSファイルでデフォルトのチェックポイントテーブルを
指定します
 以下の値を設定後、設定内容を保存します
CHECKPOINTTABLE gg_user.ggs_checkpoint
• GLOBALSファイルの設定の有効化のため、一旦EXITします
GGSCI> EXIT
• 本ハンズオンでは以下を実行して下さい
$ cp $HOME/handson/Section1/GLOBALS /home/oracle/gg/
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
57
5. Checkpointテーブルの作成(2/2)
ターゲット
• チェックポイントテーブルを作成します
$ ./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.
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
58
6. Replicatプロセスの作成
•
ターゲット
ターゲット側(Blue)でReplicatプロセスを作成します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Replicat
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
59
6. Replicatプロセスの作成(1/3)
ターゲット
• Replicatプロセス(REP01)のパラメータファイルを作成
します
 GGSCI より「EDIT PARAM REP01」と、Replicat プロセス名
を指定してコマンドを実行します
$ 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/
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
60
6. Replicatプロセスの作成(2/3)
ターゲット
• パラメータファイルに設定した情報
Replicatプロセスの名前
接続先DBの情報
GoldenGate
ユーザの情報
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
DDLレプリケーションの
MAP ddd.*, TARGET ddd.*;
設定
処理できなかったデータ
を記録するための設定
Capture対象の
表の名前
表名の後にはセミコロン(;)が必須
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
61
6. Replicatプロセスの作成(3/3)
ターゲット
• Replicatプロセスを追加します
GGSCI> ADD REPLICAT REP01, EXTTRAIL ./dirdat/rt
GGSCI> EXIT
 ここでは追加のみを行います
 起動は「初期ロード」の作業後に行います
実行例
GGSCI> ADD REPLICAT REP01, EXTTRAIL ./dirdat/rt
REPLICAT added.
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
62
ソース
7. 初期ロード
•
ターゲット
ソース表に挿入済みのデータをターゲット表にコピーします
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
初期ロード
(expdp/impdp)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Replicat
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
63
7. 初期ロード(1/5)
ソース
• Oracle DataPump を使用して、ソース(Red)の表定義
とデータをターゲット(Blue)にコピーします
• まず、ソース(Red)で以下を実行します
 出力先ディレクトリの作成
$ 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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
64
ソース
7. 初期ロード(2/5)
• エクスポート実行時の画面ログは以下のようになります
実行例
$ 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で正常に完了しました
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
65
7. 初期ロード(3/5)
ターゲット
• ターゲット(Blue)からFTPでソースに作成されたダンプ
ファイルをコピーします
$ 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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
66
7. 初期ロード(4/5)
ターゲット
• ターゲット(Blue)でインポートを行います
$ 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で正常に完了しました
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
67
7. 初期ロード(5/5)
ターゲット
• ターゲット側アプリケーションでデータが参照でき
ることを確認します
URLは以下を参照
[[email protected] ~]$ cat $HOME/URL.txt
http://192.168.56.112:8080/apex/f?p=102:1:882315928257206:::::
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
68
8. Replicatプロセスの起動
•
ターゲット
ターゲット側(Blue)でReplicatプロセスを起動します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Replicat
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
69
8. Replicatプロセスの起動
ターゲット
• ターゲットで Replicatプロセス(REP01)を起動します
$ 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
REPLICAT
RUNNING
RUNNING
REP01
00:00:00
00:00:04
ReplicatのステータスがRUNNINGとなります
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
70
ソース
9. レプリケーション動作の確認
•
ターゲット
ソース側(Blue)でデータ挿入/変更/削除 等行い、それら
の操作がレプリケーションされることを確認します
Oracle Instance
Oracle Instance
ソース表
(DDD.SAMPLE)
ターゲット表
(DDD.SAMPLE)
GG用ユーザ
(GG_USER)
REDOログ
ファイル
Capture
Manager
Manager
Trailファイル
ソース (Red)
GG用ユーザ
(GG_USER)
Trailファイル
Data Pump
Replicat
Collector
ターゲット (Blue)
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
71
9. レプリケーション動作の確認
ソース
• ソース側(Red)でデータの挿入/変更/削除を行います
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
72
10. 処理状況の確認
ソース
ターゲット
•
•
GoldenGateの各プロセスの処理状態をSQL数で確認。
定期的に実行することで各プロセスの処理性能を確認可能。
•
Capture の確認(ソース)
GGSCI> STATS EXTRACT CAP01
•
Data Pump の確認(ソース)
GGSCI> STATS EXTRACT DP01
•
Replicat の確認(ターゲット)
GGSCI> STATS REPLICAT REP01
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
73
ソース
11. ラグの確認
ターゲット
• ソースDBとGoldenGate各プロセスの処理済みデータの
タイムラグを確認。
 Captureラグ
: ローカルtrailファイルとのラグ
GGSCI> LAG EXTRACT CAP01
 Data Pumpラグ : リモートtrailファイとのラグ
GGSCI> LAG EXTRACT DP01
 Replicat ラグ
: ターゲットDBとのラグ
GGSCI> LAG REPLICAT REP01
• 定期的に確認することで稼働状態を監視可能。
Replicat ラグ
Data Pumpラグ
Captureラグ
Data
Pump
Capture
Trail
Network
(TCP/IP)
Collector
Replicat
Trail
ターゲットDB
ソースDB
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
74
ソース
12. DDLレプリケーションの動作確認(1/2)
ターゲット
• ターゲット側(blue)での表の存在確認
 表は存在するか?
$ sqlplus ddd/ddd
SQL> desc test
• ソース側(red)で表作成
$ sqlplus ddd/ddd
SQL> create table test (col1 number primary key, col2 char(10));
• ターゲット側(blue)での表の存在確認
 表は存在するか?
$ sqlplus ddd/ddd
SQL> desc test
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
75
ソース
12. DDLレプリケーションの動作確認(2/2)
ターゲット
• ソース側(red)でtest 表に列追加
$ sqlplus ddd/ddd
SQL> alter table test add (col3 varchar2(100));
• ターゲット側(blue)での表の存在確認
 表は変更されたか?
$ sqlplus ddd/ddd
SQL> desc test
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
76
まとめ
• 本ハンズオンでは以下を実施しました
 GoldenGate でのレプリケーションの設定
• ソースでの Capture/Data Pump の構成
• ターゲットでの Replicat の構成
 データレプリケーションの動作確認
 DDLレプリケーションの動作確認
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
77
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
78
Oracle GoldenGate マニュアル
主に使用するもの
• Administration Guide
 管理/操作全般について記述
• Reference Guide
 パラメータやコマンドのリファレンス
• Oracle Installation and Setup Guide
 Oracle Databaseのデータ連携に特化したマニュアル
• Troubleshooting and Tuning Guide
 パフォーマンスチューニングと障害解析について記述
http://www.oracle.com/technetwork/jp/middleware/goldengate/documentation/index.html
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
79
Oracle GoldenGate 技術資料
Oracle GRID Center 検証資料
• 「Oracle GoldenGate 11g によるOracle Databaseの移行/
アップグレード ベストプラクティス」
 富士通様との共同検証ホワイトペーパー。DB移行における
GoldenGateの活用と実機検証について解説
http://www.oracle.com/jp/gridcenter/partner/fujitsu/index.htm
l
• 「ゼロダウンタイムに挑戦!GoldenGate活用よるDBアップグレ
ード」
 富士通様との共同セミナーコンテンツ。移行用途に加え、リアルタイ
ム・レプリケーション基盤としての性能検証の結果について解説
http://blogs.oracle.com/oracle4engineer/entry/material_goldengate_gridcenter_fujitsu
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
80
OTNセミナーオンデマンド
日本オラクルのエンジニアが作成したセミナー資料・動画ダウンロード
サイト
掲載コンテンツカテゴリ(一部抜粋)
100以上のコンテンツをログイン不要でダウンロードし放題
Database 基礎
データベースからハードウェアまで充実のラインナップ
Database 現場テクニック
Database スペシャリストが語る
毎月、旬なトピックの新作コンテンツが続々登場
Java
GoldenGateコンテンツも多数掲載!!
WebLogic Server/アプリケーション・グリ
ッド
EPM/BI 技術情報
サーバー
ストレージ
例えばこんな使い方
•
•
•
•
製品概要を効率的につかむ
基礎を体系的に学ぶ/学ばせる
時間や場所を選ばず(オンデマンド)に受講
スマートフォンで通勤中にも受講可能
コンテンツ一覧 はこちら
http://www.oracle.com/technetwork/jp/ondemand/index.html
毎月チェック!
新作&おすすめコンテンツ情報 はこちら
http://oracletech.jp/seminar/recommended/000073.html
OTNオンデマンド
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
81
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
Copyright © Oracle Corporation Japan, 2011. All rights reserved.