oracle goldengate 体験ハンズオン · •...
TRANSCRIPT
<Insert Picture Here>
Oracle GoldenGate 体験ハンズオン 日本オラクル株式会社
Copyright © Oracle Corporation Japan, 2011. All rights reserved. 2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
3
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
Oracle GoldenGate とは
• 異機種データベース間での高速なレプリケーション機能を提供
OracleDB
GoldenGate
OracleDB
GoldenGate
双方向同期
データ移行/複製
ログの高速転送 ログの取得/適用 ログの取得/適用
4
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
Oracle GoldenGate の特徴
• 柔軟性 OS/DBバージョンに依存しない柔軟な構成
複数DB間で双方向の同期
スキーマ・オブジェクト単位での同期
データのフィルタリング・マッピング・変換
• パフォーマンス 最小限のデータ同期によるリアルタイムのデータ連携
低負荷
• 信頼性 トランザクションの実行順序の保証
障害時のリカバリ
5
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
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
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
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
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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
活用ケース1:リアルタイム情報連携
11
時間のかかる情報連携 リアルタイム情報連携
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
活用ケース2:リアルタイムDWの実現
12
データ鮮度の低下 リアルタイムDWの実現
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
活用ケース3:DB負荷軽減と情報活用
13
データベース負荷の限界 負荷軽減と情報活用が可能
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
活用ケース4:ノンストップ移行・統合
14
移行時間が長い ノンストップ移行が可能
複雑な移行計画 シンプルな統合・移行が可能
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
15
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
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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
4. [仮想アプライアンスインポートウィザード]が表示されるため、「選択」をクリックします
VirtualBox イメージのインポート方法(2/5)
18
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
5. ダウンロードしたイメージファイルを選択します
6. 「次へ」をクリックします
VirtualBox イメージのインポート方法(3/5)
19
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
7. インポートの設定を行います
CPU/RAM/仮想ディスクイメージは任意に変更して下さい
VirtualBox イメージのインポート方法(4/5)
20
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
8. 「Import」をクリックするとインポートが開始します
9. インポートが完了すると、VirtualBox マネージャ上にインポートされたホストの情報が出力されます。
(次のスライドは、Red と Blue の2つのホストをインポートした後のイメージになります)
VirtualBox イメージのインポート方法(5/5)
21
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
VirtualBox の起動方法
• インポート後、以下のような状況になります。
• ホスト名を選択して「起動」をクリックするか、
ホスト名をダブルクリックすることで起動可能です
22
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IP アドレスの変更
• 複数の Virtual Box のイメージをインポートすると、インポートされたホスト間で同じIPアドレスが使用
される可能性があります
(IPアドレスの確認方法は次のスライドを参照して下さい)
• その場合、以下のような対処が必要になります。
同じ IP アドレスを使用するホストを同時に起動しない
ホストのIPアドレスの設定を変更する
• 以降のスライドでは、ホストのIPアドレスの設定の
変更方法を説明します
23
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの確認方法(1/3)
• ホストを起動すると以下のような画面が表示されるため、OS ユーザ名とパスワードを入力し、ログインします
24
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの確認方法(2/3)
• [アプリケーション] – [アクセサリ] から「GNOME端末」を起動します
25
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの確認方法(3/3)
• ifconfig コマンドを実行します
以下の場合、192.168.56.112 となります
26
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの変更方法(1/6)
• ホストを起動すると以下のような画面が表示されるため、OS ユーザ名とパスワード(root/oracle)を入力し、ログインします
27
仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの変更方法(2/6)
• [システム] – [管理] からネットワークを選択します
28
仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの変更方法(3/6)
• [デバイス] から対象のデバイスを選択し[編集]ボタン
をクリックします
29
仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの変更方法(4/6)
• [固定のIPアドレス設定] で IP アドレスを指定します
変更後[OK]をクリックします
30
仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
IPアドレスの変更方法(5/6)
• 設定を有効にするため[停止]ボタンをクリックした後、[起動]ボタンで再度起動して下さい
31
仮想マシンのウィンドウから抜ける場合は、キーボードの右側のCtrlボタンを押します
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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
33
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
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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
ハンズオン環境
• ハンズオン環境では、Oracle Databaseの環境がセットアップ済みです
• ハンズオン環境では、GoldenGateの以下のセットアップが構成済みです
GoldenGate のインストール
データベース側の設定変更
• アーカイブログ・モードへの変更
• サプリメンタル・ロギングの設定
• GoldenGate 用Oracleユーザの作成
Manager プロセスの構成
DDLレプリケーションの設定
36
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
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
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
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
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は以下を参照
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は以下を参照
ターゲット
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
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
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/
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キャプチャと表作成 時のサプリメンタル・ロギング有効化の設定
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
ソース
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
ソース
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
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/
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ファイル名
転送対象の 表の名前 表名の後にはセミコロン(;)が必須
ソース
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
ソース
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ファイルに関する設定は、ソース側で行います
ソース
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
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
実行例
ソース
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
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/
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.
実行例
ターゲット
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
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/
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レプリケーションの設定
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.
実行例
ターゲット
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
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
ソース
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で正常に完了しました
実行例
• エクスポート実行時の画面ログは以下のようになります
ソース
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
ターゲット
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で正常に完了しました
実行例
ターゲット
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は以下を参照
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
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となります
ターゲット
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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
9. レプリケーション動作の確認
72
• ソース側(Red)でデータの挿入/変更/削除を行います
ソース
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
ターゲット
ソース
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 ラグ
ターゲット
ソース
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
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
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
まとめ
• 本ハンズオンでは以下を実施しました
GoldenGate でのレプリケーションの設定
• ソースでの Capture/Data Pump の構成
• ターゲットでの Replicat の構成
データレプリケーションの動作確認
DDLレプリケーションの動作確認
77
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
アジェンダ
• 製品概要
• ハンズオン環境の準備
• ハンズオン
• 参考情報
78
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
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
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セミナーオンデマンド 日本オラクルのエンジニアが作成したセミナー資料・動画ダウンロードサイト
Copyright © Oracle Corporation Japan, 2011. All rights reserved.
Copyright © Oracle Corporation Japan, 2011. All rights reserved.