<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は以下を参照 [oracle@red ~]$ 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は以下を参照 [oracle@blue ~]$ 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は以下を参照 [oracle@blue ~]$ 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.
© Copyright 2024 ExpyDoc