SlideShare ist ein Scribd-Unternehmen logo
1 von 113
Downloaden Sie, um offline zu lesen
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGateでの資料採取
– トラブル時に採取すべき資料 –
Ver.1.3
2016年2月
日本オラクル株式会社
クラウド&テクノロジー事業統括
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
免責事項
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とす
るものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供すること
をコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。
他社名又は製品名は、それぞれ各社の商標である場合があります。
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アジェンダ
はじめに
基本資料
ケース別資料
デバッグ情報
まとめ
1
2
3
4
5
3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アジェンダ
はじめに
基本資料
ケース別資料
デバッグ情報
まとめ
1
4
2
3
4
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
本ドキュメントの目的と対象者(1/2)
• 本ドキュメントでは Oracle GoldenGate (以下、GoldenGate または OGG) の
動作に関する調査や障害対応時に採取すべき各種情報(本ドキュメントで
は「資料」と表現します)について紹介します。
• 主に、GoldenGateの設計、検証、構築に携わるエンジニア、データベース
管理者の方や、運用開始以降にサポート対応を行うサポートエンジ ニア、
弊社のパートナー企業で GoldenGate に関わる技術者の皆様を対象とし
た内容になっています。
• GoldenGateを実際に操作する技術者や製品のサポートエンジニアが、
環境から採取すべき資料に関する適切な理解を事前に得ておくことで、
検証や構築時の確認やサポートサービスへのお問い合わせの際に
スムーズな対応を可能とします。
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
本ドキュメントの目的と対象者(2/2)
• 本ドキュメントで御紹介する各種情報は、GoldenGate の内部動作に関す
る理解を深める上でも有益なコンテンツとなっていますので、幅広く技術
者の方に御活用頂く事が可能です。
• 本資料で紹介した資料を運用上の都合などで全て採取できない場合は、
採取可能なものをできるだけ採取します。
• 本資料で紹介した資料は、トラブル時に初見でスムーズに採取するのは
なかなか困難です。平常時にひととおり採取してみて慣れておくことが大
切です。
6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
本ドキュメントの構成について
• 2 章では GoldenGate の動作に関する調査時や障害対応時において、
基本的な採取すべき資料について紹介します。
• 3 章では GoldenGate の各動作におけるケース別(遅延、不整合、異常
停止 …)の採取すべき資料を紹介します。
• 4 章では GoldenGate のデバッグ情報を出力させるためのアクティビティ
ロギング、SQL トレースを紹介します。
• 5 章でまとめを行います。
7
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
内容に関する前提および補足
• 本ドキュメントでは以下を前提としています
– GoldenGate のバージョン : R11.2, R12.1
– 対象データベース : Oracle Database R11.2, R12.1
• Oracle Database 以外を接続対象とする場合、対象データベース固有の
情報については含まれておりませんが、GoldenGate に関する部分は
できるだけ活用可能な情報となっています。
• 本ドキュメント内で、弊社サポートサービス「My Oracle Support」から参照
可能な Document (「Doc Id xxx」と記述の情報)などについては、弊社
サポートサービスの契約が必要となります。
8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate 概要
• Oracle GoldenGate概要
– データ・レプリケーション製品
– 2009年旧GoldenGate社を買収
• Oracle GoldenGateの特徴
– データベースに行われた変更を他データベースへ反映
– 既存のデータベースやネットワークへの負荷は最小限
– 稼働中のデータベース同士で双方向に連携が可能
– 異なるデータベースやOSの種類・バージョンで構成され
たシステム間での連携が可能
– データベース全体だけではなく、表・列など必要な部分
に絞った柔軟な連携が可能
ソース・
データベース
ターゲット・
データベース
双方向同期
アプリ
GoldenGate
GoldenGate
アプリ
Active
Active
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate 基本アーキテクチャ - 全体像 -
Oracle GoldenGate
Trail
ファイル
差分ログ
Server A Server B
OS
Oracle GoldenGate
Trail
ファイル
OS
ターゲット
データベース
ソース
データベース
チェックポイント
ファイル
チェックポイント
ファイル
チェックポイント
ファイル
抽出プロセス
Extract
(Capture)
転送プロセス
Extract
(Data Pump)
管理プロセス
Manager
受信プロセス
Collector
適用プロセス
Replicat
管理プロセス
Manager
チェック
ポイント表
• データベースの差分ログをTrailファイルという汎用的なフォーマットに変換して転送
• 各プロセスの進行状況はチェックポイントファイル(バイナリファイルまたはDB上の表)に保存
• 上記の構成の他に、DBサーバと別のサーバにGoldenGateを切り出す構成などが可能
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate 基本アーキテクチャ - プロセス -
11
Oracle GoldenGate
Trailファイル
Server A Server B
Oracle GoldenGate
抽出プロセス
Extract
(Capture)
転送プロセス
Extract
(Data Pump)
管理プロセス
Manager
受信プロセス
Collector
適用プロセス
Replicat
管理プロセス
Manager
Trailファイル
• Captureプロセス:ソースDBから変更ログを抽出
してTrailファイルに書き出すプロセス
• Data Pumpプロセス:Captureプロセスが書き出
したTrailファイルからリモートのCollectorプロセス
にデータを転送するプロセス
• Collectorプロセス:ソース側のDataPumpプロセスか
らデータを受信して、Trailファイルに書き込むプロセス
(Managerが起動するためユーザによる操作は不要)
• Replicatプロセス:Trailファイルからデータを読み出し、
ターゲットDBに反映するためのプロセス
• Managerプロセス:OGGインスタンス全体を管理するプロセス
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate 基本アーキテクチャ - パラメータファイル -
12
Oracle GoldenGate
Trail
ファイル
Server A Server B
Oracle GoldenGate
Manager
Collector Replicat
Manager
Trail
ファイル
• GoldenGateのパラメータファイルは下記の2種類があります。プレーンテキスト形式です。
– GLOBALSパラメータファイル(ファイル名:GLOBALS):GoldenGateインスタンス全体を設定するた
めのパラメータファイル。ファイル名は大文字のGLOBALSで拡張子は不要。
– パラメータファイル(ファイル名:xxxx.prm):Capture等のプロセス実行時の設定をするためのファイル。
Collector以外の全てのプロセスで設定が必要。
GLOBALS
パラメータファイル
GLOBALS
パラメータファイル
パラメータファイル パラメータファイル
Capture DataPump
パラメータファイル
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate 基本アーキテクチャ - 主なファイル -
13
Oracle GoldenGate
Trail
ファイル
Server A Server B
Oracle GoldenGate
Collector
Trail
ファイル
• Trailファイル: OGG内で変更ログを格納するためのファイル。
• チェックポイントファイル:各プロセスがどこまで処理したかを記録するためのファイル。
• 破棄ファイル(Discardファイル):処理できなかったレコードを格納するためのファイル。
• ログファイル(ggserr.log):エラー等のメッセージが書き込まれるファイル。
チェックポイント
ファイル
チェックポイント
ファイル
チェックポイント
ファイル
破棄
ファイル
Capture
破棄
ファイル
破棄
ファイル
ReplicatDataPump
Manager Manager
ログファイル
ggserr.log
ログファイル
ggserr.log
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate 基本アーキテクチャ - 主なディレクトリ -
• GoldenGateホーム以下に作成される主なディレクトリと用途を説明します。
– dirprm:各プロセスのパラメータファイル用のディレクトリ。
– dirrpt:各プロセスから出力される破棄ファイル等のディレクトリ。編集不可。
– dirchk:チェックポイントファイル用のディレクトリ。編集不可。
– dirpcs:各プロセスのステータス情報を格納するディレクトリ。編集不可。
– dirsql:GoldenGateのSQLスクリプトを格納するディレクトリ。
– dirdat:Trailファイルを格納するディレクトリ。編集不可。
– dirtmp/dirdmp:一時ファイル、ダンプファイル用ディレクトリ。編集不可。
– dircrd/dirwlt:セキュリティ関連の情報を格納するディレクトリ。
*注:OGGバージョンによってディレクトリ構成が異なることがあります。
14
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
GoldenGateにおけるレプリケーション方式
ソース
データベース
GoldenGate
抽出(Extract)
Classic
Capture
ターゲット
データベース
変更履歴
(REDOログ等)
Non-integrated
Replicat
Coordinated
Replicat
(OGG12c~)
Integrated
Replicat
(OGG12c~)
Integrated
Capture
(OGG11gR2~)
Oracle Databaseのみ構成可能
Database
Logmining
Server
(Outbound)
ソース
オブジェクト
ターゲット
オブジェクト
Database
Logmining
Server
(Inbound)
GoldenGate
適用(Apply)
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
GoldenGateにおけるレプリケーション方式 - Capture -
ソース
データベース
GoldenGate
抽出(Extract)
Classic
Capture
変更履歴
(REDOログ等)
Integrated
Capture
(OGG11gR2~)
Oracle Databaseのみ
Database
Logmining
Server
(Outbound)
ソース
オブジェクト
• Classic Capture
– 従来からの抽出方法
– 全てのデータベースで利用可能
– 変更ログ(REDOログ等)から抽出
• 統合Capture(Integrated Capture)
– OGG11gR2からの新しい抽出方法
– Oracle Databaseでのみ利用可能
– DBの機能(Database Logmining Server)を
使用して変更情報を抽出
– Oracle Databaseへの高い親和性
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
GoldenGateにおけるレプリケーション方式 - Replicat -
• Non-integrated Replicat
– 従来からの適用方法
– 全てのデータベースで利用可能
– SQLを使用してターゲットに適用
• Coordinated Replicat
– Non-integrated をマルチスレッド化
• 統合Replicat(Integrated Replicat)
– Oracle Databaseでのみ利用可能
– DBの機能(Database Logmining Server)
を使用して変更情報を適用
– Oracle Databaseへの高い親和性
ターゲット
データベース
Non-integrated
Replicat
Coordinated
Replicat
(OGG12c~)
Integrated
Replicat
(OGG12c~)
Oracle Databaseのみ
ターゲット
オブジェクト
Database
Logmining
Server
(Inbound)
GoldenGate
適用(Apply)
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGateの管理
• コマンドラインによるGoldenGateの管理
– GGSCI(GoldenGate Software Command Interface)
• GUIによるGoldenGateの管理
18
Oracle GoldenGate Director Oracle GoldenGate Monitor
•C/Sツール及びWebによる基本
的な管理・監視機能を提供
•GoldenGate監視に特化した製品
•より高度な監視機能やSNMP連
携によるアラート機能を提供
Oracle GoldenGate Plug-in
For EMCC12c
•Oracle Enterprise Manager Cloud
Control 12cのプラグイン形式
•Oracle Databaseと同一のインタフェー
スやメトリックを使用して統合的な監
視が可能
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGateの管理 - Monitor/Pluginによる監視 -
• GoldenGateを監視するためにMonitorやPluginを使用する場合、
GoldenGateに含まれるJAgentというプロセスを使用して監視します。
19
Oracle GoldenGate ターゲット
データベースGoldenGate Core
JAgent
• Monitor R11.1/R11.2
– GoldenGateでJAgentを起動しデータ収集に使用
• Monitor R12.1.3
– Monitorに含まれるMonitor Agentを使用
• EM Plugin R12.1.0.x
– GoldenGateでJAgentを起動してデータ収集
– プロセス起動停止等の機能を使用したい場合は、
Monitor Agentが必要
Oracle Management
Agent
Oracle Management
Server
OGG Monitor Enterprise Manager Plug-in
GoldenGate
Monitor Server
Monitor
Agent12c
注:バージョンによってJAgentの利用有無が異なります。
前提知識
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アジェンダ
はじめに
基本資料
ケース別資料
デバッグ情報
まとめ
20
3
4
5
1
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
• GoldenGate に関する障害調査で採取すべき基本的な資料を紹介します
• 以下の 3 つとなります
① GoldenGate 側で採取する資料
• 必ず採取するようにしてください
② Database 側で採取する資料
• 問題が Database に関連する場合は採取するようにしてください
③ OS 側で採取する資料
• 可能な限り採取するようにしてください
21
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
• GoldenGate の基本的なログ
– <GG_HOME>/ggserr.log
– <GG_HOME>/GLOBALS
• GLOBALS は明示的に作成していなければ存在しません
– <GG_HOME>/dirprm ディレクトリ配下のファイル
– <GG_HOME>/dirrpt ディレクトリ配下のファイル
– DISCARDFILE
• DISCARDFILE パラメータで設定しているファイルです
• R11.2 までは DISCARDFILE パラメータを設定していない場合は出力されません
• R12.1 以降は DISCARDFILE パラメータを設定していない場合でも <GG_HOME>/dirrpt に出力されます
※ <GG_HOME> は GoldenGate ソフトウェアのインストールディレクトリを表します
① GoldenGate 側で採取する資料
22
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
• GGSCI のコマンドの出力
– INFO ALL
– INFO MANAGER
– INFO {EXTRACT | REPLICAT} <group> DETAIL
– INFO {EXTRACT | REPLICAT} <group>, SHOWCH
– INFO {EXTTRAIL | RMTTRAIL} <path name>
– LAG {EXTRACT | REPLICAT} <group> DETAIL
– STATS {EXTRACT | REPLICAT} <group>
① GoldenGate 側で採取する資料
23
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
<例>
INFO ALL
INFO MANAGER
INFO EXTRACT E01 DETAIL
INFO EXTRACT E01, SHOWCH
INFO EXTRACT P01 DETAIL
INFO EXTRACT P01, SHOWCH
INFO REPLICAT R01 DETAIL
INFO REPLICAT R01, SHOWCH
INFO EXTTRAIL /home/gg112120/gg/dirdat/mm
INFO RMTTRAIL /home/gg112120/gg/dirdat/nn
LAG EXTRACT E01 DETAIL
LAG EXTRACT P01 DETAIL
LAG REPLICAT R01 DETAIL
STATS EXTRACT E01
STATS EXTRACT P01
STATS REPLICAT R01
① GoldenGate 側で採取する資料
24
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
• 統合 Capture を使用している場合は以下のスクリプトの結果
– Doc ID 1448324.1
GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script
• 統合 Capture を使用している場合はパラメータに以下のような設定がされています
– TRANLOGOPTIONS INTEGRATEDPARAMS
• 統合 Replicat を使用している場合は以下のスクリプトの結果
– Doc ID 1448324.1
GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script
• 統合 Replicat を使用している場合はパラメータに以下のような設定がされています
– DBOPTIONS INTEGRATEDPARAMS
① GoldenGate 側で採取する資料
25
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
• Database の全てのインスタンスのアラートログ
• Database の全てのインスタンスの トレースファイル、インシデントファイル
– 問題が発生した時間帯以降のタイムスタンプを含むもののみで構いません
• ASM の全てのインスタンスの アラートログ
• ASM の全てのインスタンスの トレースファイル、インシデントファイル
– 問題が発生した時間帯以降のタイムスタンプを含むもののみで構いません
• opatch lsinventory -detail コマンドの実行結果(RDBMS、GI)
• Doc ID 1728259.1
インストールされている個別パッチの詳細を確認する方法 [OPatch](KROWN:89388)
② Database 側で採取する資料
26
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
② Database 側で採取する資料
27
spool <任意のファイルパス>
set lines 1000 pages 1000 trimspool on time on echo on term on
alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
select to_char(sysdate) start_time from dual;
select * from v$version;
select * from v$database;
select * from gv$instance;
select * from v$log;
select * from v$logfile;
select * from v$tablespace;
select * from DBA_TABLESPACES;
select * from DBA_DATA_FILES;
select * from DBA_TEMP_FILES;
select * from v$datafile;
select * from v$tempfile;
select * from v$archived_log order by RESETLOGS_CHANGE#, THREAD#, SEQUENCE#;
spool off
• Database のいずれかのインスタンスでの以下の実行結果
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
• OS のシスログ (messages、syslog)
– 問題が発生した時間帯以降のタイムスタンプを含むもののみで構いません
• 以下の OS コマンドの出力
• env | sort (または同等のコマンド) の情報
• mount (または同等のコマンド) の情報
• df -k (または同等のコマンド) の情報
• ls -Rl <GG_HOME> (または同等のコマンド) の情報
• ps -efl (または同等のコマンド) の情報
• top (または同等のコマンド) の情報
• vmstat (または同等のコマンド) の情報
• mpstat (または同等のコマンド) の情報
• iostat (または同等のコマンド) の情報
• net (または同等のコマンド) の情報
③ OS 側で採取する資料
28
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
基本資料
<例>
date
env | sort
mount
df -k
ls -Rl /home/gg112120/gg
ps -elf
top -b -n 1 | head -50
vmstat 1 3
mpstat 1 3
iostat -x 1 3
netstat -a -i -n
netstat -s
netstat -a -n -p
③ OS 側で採取する資料
29
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アジェンダ
はじめに
基本資料
ケース別資料
デバッグ情報
まとめ
30
4
5
1
2
3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ケース別資料
• 以下のケース別に採取すべき資料を紹介します
1. 遅延 …… パフォーマンス、LAG の発生、プロセスのハング
2. 不整合…… レプリケーション漏れの問題
3. 異常停止 …… プロセスの ABEND、CORE DUMP の問題
4. N/W …… ネットワークの問題
5. DDL レプリケーション …… DDL 文のレプリケーションの問題
6. サプリメンタルロギング…… ソース側のサプリメンタルロギングの問題
7. メモリリーク…… メモリリークの問題
8. jagent …… jagent の問題
31
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ケース別資料
• 以降のスライドでは、前スライドに記載のケース毎に、採取する資料を
まとめています
• 各スライドに記載の以下の情報は、2章にまとめた情報を意図しています
– ① OGG の資料 ….. 2章の「① GoldenGate 側で採取する資料」
– ② DB の資料 ….. 2章の「② Database 側で採取する資料」
– ③ OS の資料 ….. 2章の「③ OS 側で採取する資料」
32
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
• 以下のような障害発生時の採取情報をまとめています
– レプリケーション処理の遅延
– GoldenGate のプロセスでの LAG の増加
– GoldenGate のプロセスの処理の停止(ハング)
– GoldenGate のプロセスでの CPU 高騰
33
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
1. ① OGG の資料
2. デバッグ情報 - アクティビティロギング
– 事象に再現性がある場合に採取します
– 採取方法は 4章の「デバッグ情報」を参照して下さい
3. プロセス毎の情報
– Capture, Data Pump, Replicat のうち、遅延しているプロセスを対象に次のスライド
以降の情報を採取して下さい
a) GoldenGate 観点で採取する資料
34
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
3-1. Capture の処理が遅延している場合
– 以下の GGSCI のコマンドの出力を5 分間隔で3 回ずつ取得して下さい
• shell date
• SEND EXTRACT <group>, SHOWTRANS
• SEND EXTRACT <group>, LOGSTATS
• SEND EXTRACT <group>, CACHEMGR CACHESTATS
• SEND EXTRACT <group>, CACHEMGR CACHEQUEUES
• SEND EXTRACT <group>, CACHEMGR CACHEPOOL
• INFO EXTRACT <group>, SHOWCH
• SEND EXTRACT <group>, GETLAG
• SEND EXTRACT <group>, REPORT
※ <group> には対象の Capture プロセス名を指定します
a) GoldenGate 観点で採取する資料
35
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
3-2. Data Pump の処理が遅延している場合
– 以下の GGSCI のコマンドの出力を5 分間隔で 3 回ずつ取得して下さい
• shell date
• INFO EXTRACT <group>, SHOWCH
• SEND EXTRACT <group>, GETLAG
• SEND EXTRACT <group>, GETTCPSTATS
• SEND EXTRACT <group>, REPORT
※ <group> には対象の Data Pump プロセス名を指定します
a) GoldenGate 観点で採取する資料
36
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
3-3. Replicat の処理が遅延している場合
– 以下の GGSCI のコマンドの出力を5 分間隔で 3 回ずつ取得して下さい
• shell date
• INFO REPLICAT <group>, SHOWCH
• SEND REPLICAT <group>, GETLAG
• SEND REPLICAT <group>, REPORT
※ <group> には対象の Replicat プロセス名を指定します
a) GoldenGate 観点で採取する資料
37
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
• 事象が Database 側に関連する場合に採取して下さい
1. ② DB の資料
2. デバッグ情報 - SQLトレース
– 事象に再現性がある場合に採取します
– 採取方法は 4章の「デバッグ情報」を参照して下さい
3. 遅延が発生している状態での以下の資料
– Doc ID 1722721.1
ハング時に取得する情報およびその取得方法(Oracle9i以降対応版 シングルインスタンス対応)
b) Database 観点で採取する資料
38
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
4. 遅延が発生していた時間帯の 60 分インターバル AWR(12 時間分)
– 例)13:00-14:00、14:00-15:00
– (参考)
Doc ID 1752159.1
AWR レポートの作成手順と出力される項目について (11g)(KROWN:146855)
– AWR には Enterprise Edition で Diagnostic Pack オプションが別途必要です
5. 遅延が発生していた時間帯の ASH(1時間分)
– (参考)
Doc ID 1742219.1 Active Session History(ASH) 情報の取得方法(KROWN:127934)
– ASH には Enterprise Edition で Diagnostic Pack オプションが別途必要です
b) Database 観点で採取する資料
39
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
6. 遅延した処理で参照していた表および付随する索引の DDL 定義
– 遅延に関連している表を把握できている場合のみ採取して下さい
– ソース側、ターゲット側両方で採取してください
– (参考)
Doc ID 1721554.1
既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106)
7. 遅延に関連する SQL を特定できている場合はその実行計画
– (参考)
Doc ID 1734928.1 AWR から SQL 文の実行計画を抽出する方法(KROWN:120012)
– AWR には Enterprise Edition で Diagnostic Pack オプションが別途必要です
b) Database 観点で採取する資料
40
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
8. 統合 Capture を使用している場合
– 遅延が発生している状態での以下のスクリプトの結果(5 分間隔で 3 回)
• Doc ID 1448324.1
GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script
9. 統合 Replicat を使用している場合
– 遅延が発生している状態での以下のスクリプトの結果(5 分間隔で 3 回)
• Doc ID 1448324.1
GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script
b) Database 観点で採取する資料
41
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
1. ③ OS の資料
2. パフォーマンスに問題がある GoldenGate のプロセスの pstack (または同
等のコマンド) の出力(5 分間隔で 3 回ずつ)
c) OS 観点で採取する資料
42
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
c) OS 観点で採取する資料
43
<例>
$ ps -efl | grep extract | grep -i e01
:
0 S gg112120 12289 12284 0 80 0 - 53596 hrtime 09:10 ? 00:00:01 /home/gg112120/gg/extract
PARAMFILE /home/gg112120/gg/dirprm/e01.prm REPORTFILE /home/gg112120/gg/dirrpt/E01.rpt PROCESSID E01 USESUBDIRS
:
$ ps -efl | grep extract | grep -i p01
:
0 S gg112120 12290 12284 0 80 0 - 46624 hrtime 09:10 ? 00:00:04 /home/gg112120/gg/extract
PARAMFILE /home/gg112120/gg/dirprm/p01.prm REPORTFILE /home/gg112120/gg/dirrpt/P01.rpt PROCESSID P01 USESUBDIRS
:
$ ps -efl | grep replicat | grep -i r01
:
0 S gg112120 12291 12284 0 80 0 - 62380 hrtime 09:10 ? 00:00:28 /home/gg112120/gg/replicat
PARAMFILE /home/gg112120/gg/dirprm/r01.prm REPORTFILE /home/gg112120/gg/dirrpt/R01.rpt PROCESSID R01 USESUBDIRS
:
$ ps -efl | grep server | grep ggserr.log
:
0 S gg112120 23525 23477 0 80 0 - 34280 poll_s 17:26 ? 00:00:00
./server -w 300 -p 50141-50149 -m 50140 -k -l /home/gg112120/gg/ggserr.log <<<<< server は Collector です。
:
$ pstack 12291
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 遅延
3. パフォーマンスに問題がある GoldenGate のプロセスの OS のシステム
コールのトレース(10 分程度)
– プロセスがハングしたり CPU が高騰している場合採取してください
– 大量にログが出力されるため慎重に採取してください
c) OS 観点で採取する資料
44
<例>
strace -o xxx.log -ftt -p <GoldenGate のプロセスの PID>
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
• 以下のような障害発生時の採取情報をまとめています
– ソース側で更新したデータがターゲット側で更新されていない
– データの更新漏れによるエラーの発生
• ORA-1403 (対象のデータが存在しない)
• ORA-1 (重複データが存在している)
– ソース側でデータを更新したが、ターゲット側では別のデータに更新されている
45
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
• 現存する Trail ファイルは全て保全します
– PURGEOLDEXTRACTS で自動的に削除される対策です
• 現存する Database のアーカイブログファイルは全て保全します
a) 必要なファイルの保全
46
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
• 以下の情報をヒアリングします
• 問題の表をターゲット側で手動で編集したことがあるかどうか
• 問題の表に対してターゲット側でトリガーを設定していないかどうか
• 問題の表がパーティション表かどうか
• 問題の表に CLOB、BLOB の列を持つかどうか
• 不整合が発生したレコードの主キーの値が DISCARDFILE から特定できた場合は、
– {主キー = xxx}というデータから気づく点や独自の特徴はないかどうか
– {主キー = xxx}というデータはソース側で INSERT 後に主キーを変更する UPDATE が行われるかどうか
– {主キー = xxx}というデータはソース側でINSERT 後に DELETE されて再度同じ主キーで INSERT されるかどうか
• ソース側とターゲット側の問題の表の初期同期は、いつ、どのような方法で行ったのか
– 例:2014/11/18 12:00 に expdp/impdp で初期同期
b) 事象発生時の状況のヒアリング
47
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
• ① OGG の資料
• ターゲット側の直近 5 つ程度の Trail ファイル
c) GoldenGate 観点で採取する資料
48
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
1. ② DBの資料
2. 問題の表および付随する索引の DDL 定義
– ソース側、ターゲット側両方で採取してください
– (参考)
Doc ID 1721554.1
既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106)
d) Database 観点で採取する資料
49
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
3. LogMiner の情報
– はじめに
• 不整合に関連した SQL 文の調査のため、LogMiner を使用して REDOログ/アーカイブログファイル
から SQL 文の情報を確認します
– 注意点
• ソース側とターゲット側の両方で採取します
• LogMiner は指定した期間の全ての REDO を読み込むため時間がかかります
• LogMiner は全ての REDO を読み込むためデータベースに負荷がかかります
d) Database 観点で採取する資料
50
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
3. LogMiner の情報
– アクションプラン
• LogMiner の情報により、不整合が発生したレコードが INSERT 後にどのような変遷をたどったのか
を確認することができます
• そして、その遷移が、ソース側とターゲット側でどのように異なるのかを確認することで調査を進め
ることができます
• LogMiner では調査対象の期間のアーカイブログを指定する必要があります
• ただ、どの期間にソース側とターゲット側で差異ができて不整合が発生したかどうかを確認すること
は容易ではありません
• ユーザーにヒアリングして問題のレコードがどの期間に更新されたかどうかや疑いのある期間を確
認します
• 期間が不明で特定できない場合は、まずは、問題発生 7 日程度前から問題発生時までの期間を
調査します
d) Database 観点で採取する資料
51
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
3. LogMiner の情報
① LogMiner での調査対象の期間のアーカイブログを以下のように特定します
(例) 2014-10-12 18:00 から 2014-11-11 00:45 を調査対象とする場合
d) Database 観点で採取する資料
52
SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
SQL> select THREAD#, SEQUENCE#,NAME,FIRST_TIME,NEXT_CHANGE#,NEXT_TIME,RESETLOGS_CHANGE#
from v$archived_log
where FIRST_TIME
between to_timestamp('14-10-12 18:00:00','YY-MM-DD HH24:MI:SS')
and to_timestamp('14-11-11 00:45:00','YY-MM-DD HH24:MI:SS')
order by THREAD#, SEQUENCE#;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2. 不整合
3. LogMiner の情報
② ①で特定した全てのアーカイブログを以下のように DBMS_LOGMNR.ADD_LOGFILE
に指定し、 下記のスプールファイルを採取します
d) Database 観点で採取する資料
53
SQL> conn / as sysdba
SQL> spool <任意のファイルパス>
SQL> set lines 1000 pages 1000 echo on term on trimspool on time on
SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
SQL> select to_char(sysdate) start_time from dual;
SQL> REM 上記で特定したアーカイブログをすべて指定します。
SQL> exec DBMS_LOGMNR.ADD_LOGFILE('<アーカイブログのフルパス>');
:
SQL> exec DBMS_LOGMNR.ADD_LOGFILE('<アーカイブログのフルパス>');
SQL> exec DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
SQL> SELECT operation, seg_owner, seg_name, table_name, username,to_char(timestamp,'YYYY/MM/DD HH24:MI:SS') timestamp,sql_redo
FROM v$logmnr_contents
WHERE seg_owner = '<問題のユーザ>' and table_name='<問題のテーブル>' and sql_redo like '%<主キーのデータなど>%';
SQL> spool off
SQL> exit
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
• 以下のような障害発生時の採取情報をまとめています
– GoldenGate のプロセスが ABEND して停止している
– GoldenGate のプロセスが CORE DUMP している
– GoldenGate のプロセスがエラーを出力していないが止まってしまっている
54
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
• Capture の場合
– ソース側の現存する Trail ファイルは全て保全します
• PURGEOLDEXTRACTS で自動的に削除される対策です
– ソース側の現存する Database のアーカイブログは全て保存します
• Data Pump の場合
– ソース側の現存する Trail ファイルは全て保全します
– ターゲット側の現存する Trail ファイルは全て保全します
• PURGEOLDEXTRACTS で自動的に削除される対策です
a) 必要なファイルの保全
55
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
• Replicat の場合
– ターゲット側の現存する Trail ファイルは全て保全します
• PURGEOLDEXTRACTS で自動的に削除される対策です
a) 必要なファイルの保全
56
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
1. ① OGG の資料
2. 直近 5 つ程度の Trail ファイル
– Capture の場合はソース側のもの
– Data Pump の場合はソース側とターゲット側両方のもの
– Replicat の場合はターゲット側のもの
b) GoldenGate 観点で採取する資料
57
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
3. デバッグ情報 - アクティビティロギング
– 事象に再現性がある場合に採取します
– 採取方法は 4章の「デバッグ情報」を参照して下さい
4. スタックトレース
– <GG_HOME> 下に core が出力されている場合に採取します
– (参考)
Doc ID 1702968.1 デバッガを使用したスタックトレースの採取方法(KROWN:13101)
b) GoldenGate 観点で採取する資料
58
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
b) GoldenGate 観点で採取する資料
59
<Capture、Data Pump の core のスタックトレースの採取例>
----------------------------------
$ cd /home/gg112120/gg
$ file core.12289
--
core.12289: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'extract'
--
$ ls -l core.12289
$ gdb /home/gg112120/gg/extract core.12289
(gdb) where
(gdb) info reg
(gdb) quit
----------------------------------
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
b) GoldenGate 観点で採取する資料
60
<Replicat の core のスタックトレースの採取例>
----------------------------------
$ cd /home/gg112120/gg
$ file core.12291
--
core.12291: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'replicat'
--
$ ls -l core.12291
$ gdb /home/gg112120/gg/replicat core.12291
(gdb) where
(gdb) info reg
(gdb) quit
----------------------------------
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
b) GoldenGate 観点で採取する資料
61
<Manager の core のスタックトレースの採取例>
----------------------------------
$ cd /home/gg112120/gg
$ file core.12284
--
core.12284: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'mgr'
--
$ ls -l core.12284
$ gdb /home/gg112120/gg/mgr core.12284
(gdb) where
(gdb) info reg
(gdb) quit
----------------------------------
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
• ② DB の資料
• デバッグ情報 - SQL トレース
– 事象に再現性がある場合に採取します
– 採取方法は 4章の「デバッグ情報」を参照して下さい
• 問題の表および付随する索引の DDL 定義
– 特定の表固有の問題であることが切り分けられた場合に採取します
– (参考)
Doc ID 1721554.1
既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106)
c) Database 観点で採取する資料
62
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3. 異常停止
• ③ OS の資料
d) OS 観点で採取する資料
63
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
• 以下のような障害発生時の採取情報をまとめています
– ネットワークの障害に影響を受けて以下のような状況が発生している
• レプリケーションの遅延・LAG の発生
• GoldenGate のプロセスの ABEND
• GoldenGate のプロセスの起動失敗
64
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
• 以下の情報をヒアリングします
– 再現性がある場合はどのような状況で発生するのか
– ソース側とターゲット側の間の経路にあるルーター、スイッチ、O/S 等に問題がなかったどうか
– Firewall を設定しているかどうか
– ソース側とターゲット側の Trail ファイルの格納場所
• 例:ローカルの ext3, NFS , ACFS , DBFS
– N/W のパフォーマンスが劣化していると思われる場合は、ソースからターゲットに手動で Trail ファイル
をコピーしても時間がかかるかどうか
– ターゲット側の Trail ファイルの格納場所が NFS、ACFS、DBFS などの共有ファイルシステムで N/W の
パフォーマンスが劣化していると思われる場合は、格納場所をローカルに変更してパフォーマンスに
変化があるかどうか
a) 事象発生時の状況のヒアリング
65
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
• Database は通常 GoldenGate の N/W に関与しませんので採取は必須では
ありませんが、構成を確認する意味で有用になります
• ② DB の資料
b) Database 観点で採取する資料
66
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
1. ③ OS の資料
2. OS の以下のファイル (または同等のファイル)
– /etc/hosts
– /etc/nsswitch.conf
– /etc/resolv.conf
c) OS 観点で採取する資料
67
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
3. 以下の OS コマンドの出力(ソース、ターゲットの両方)
– hostname (または同等のコマンド) の情報
– netstat -in (または同等のコマンド) の情報
– ifconfig -a (または同等のコマンド) の情報
– ping -c 4 <通信先の IP アドレス> (または同等のコマンド) の情報
– ping -c 4 <通信先のホスト名> (または同等のコマンド) の情報
– traceroute<通信先の IP アドレス> (または同等のコマンド) の情報
– traceroute<通信先のホスト名> (または同等のコマンド) の情報
– nslookup <通信先の IP アドレス> (または同等のコマンド) の情報
– nslookup <通信先のホスト名> (または同等のコマンド) の情報
c) OS 観点で採取する資料
68
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
c) OS 観点で採取する資料
69
<例>
date
hostname
/bin/netstat -in
/sbin/ifconfig -a
/bin/ping -c 4 192.168.0.10
/bin/ping -c 4 host1
/bin/traceroute 192.168.0.10
/bin/traceroute host1
/usr/bin/nslookup 192.168.0.10
/usr/bin/nslookup host1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
4. N/W
4. Data Pump、Collector の pstack (または同等のコマンド)
– 5 分間隔で 3 回ずつ
– 採取方法は、前述の [1. 遅延 c) OS観点で採取する資料] を参照
5. Data Pump、Collector の OS のシステムコールのトレース(10 分程度)
– プロセスがハングしたり CPU が高騰している場合採取してください
– 大量にログが出力されますので慎重に採取してください
– 採取方法は、前述の [1. 遅延 c) OS観点で採取する資料] を参照
c) OS 観点で採取する資料
70
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
• 以下のような障害発生時の採取情報をまとめています
– DDL 文のレプリケーションで以下のような状況が発生している
• ソース側で実行した DDL 文がターゲット側で実行されていない
• ターゲット側で DDL 文実行時にエラーが発生している
• DDL 文のレプリケーションが遅延している
71
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
1. ① OGG の資料
2. デバッグ情報 - アクティビティロギング
– 事象に再現性がある場合に採取します
– 採取方法は 4章の「デバッグ情報」を参照して下さい
a) GoldenGate 観点で採取する資料
72
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
3. ggs_ddl_trace.log
– ソース側に作成されます
– Database のトレースファイルと同じディレクトリに出力されます
• DB が 11g 未満の場合は user_dump_dest に出力されます
• DB が 11g 以降の場合は以下のパスに出力されます。
– <diagnostic_dest>/diag/rdbms/<dbname>/<instname>/trace/ggs_ddl_trace.log
– RAC 環境での注意事項
• ggs_ddl_trace.log の出力先は ddl_setup.sql 実行時の user_dump_dest を元に決定します
• user_dump_dest はインスタンス毎にパスが異なるため、ddl_setup.sql を実行したインスタンスのuser_dump_dest
に設定されているディレクトリを、他のノードでも作成する必要があります
– ディレクトリが存在しない場合、そのノードにはファイルが作成されません
• ggs_ddl_trace.log の出力先は変更できません
a) GoldenGate 観点で採取する資料
73
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
• (参考) DDL のデバッグ
– GoldenGate のプロセスの動作を変更するものではありません
– DDL のデバッグを有効/無効にするには GoldenGate のプロセスの再起動は不要です
– 大量のログが ggs_ddl_trace.log に出力され負荷が発生するため、検証環境等で影響
を確認のうえで、慎重に設定します
– 問題が発生して ggs_ddl_trace.log を採取できた場合、速やかに DDL のデバッグを
無効にします
a) GoldenGate 観点で採取する資料
74
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
• (参考) DDL のデバッグ
– DDL のデバッグを有効にする代表的なケースは以下となります
• サポートからの指示
• 検証環境
• 本番前のフェーズで負荷を気にする必要がない
• 再現性が高く高頻度の確率で問題が発生する
• 内部動作の確認
a) GoldenGate 観点で採取する資料
75
Oracle GoldenGate Oracle インストレーションおよびセットアップ・ ガイド リリース 11.2.1
http://docs.oracle.com/cd/E35586_01/doc.1121/b70206.pdf
p.7-32
7.21 DDL トリガーのトレース
ddl_tracelevel スクリプト: このスクリプトを編集して実行し、トレース・レベルを設定します。 値 None では、致命的エラーとイン
ストール・ログ以外、DDL トレースは生成されません。 デフォルト値の 0 では、最小限のトレース情報が生成されます。 値 1 または
2 では、トレース・ファイルに多くの情報が生成されます。 サポート・ケースの一環として Oracle GoldenGate テクニカル・サポート
のアナリストから求められないかぎり、1 または 2 は使用しないでください。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
• (参考) DDL のデバッグ
a) GoldenGate 観点で採取する資料
76
<有効化の方法の例>
$ cd <GG_HOME>
$ sqlplus / as sysdba
SQL> @ddl_tracelevel
:
Enter GoldenGate schema name (read above first):gguser <-- ★ GoldenGate ユーザ
Please enter trace level:2 <-- ★ 2 を設定
:
<無効化の方法の例>
$ cd <GG_HOME>
$ sqlplus / as sysdba
SQL> @ddl_tracelevel
:
Enter GoldenGate schema name (read above first):gguser <-- ★ GoldenGate ユーザ
Please enter trace level:2 <-- ★ 0 を設定
:
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
5. DDL レプリケーション
• ② DB の資料
b) Database 観点で採取する資料
77
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
6. サプリメンタルロギング
• 以下のような障害発生時の採取情報をまとめています
– サプリメンタルロギングの設定に失敗する
– サプリメンタルロギングを設定したはずが解除されてしまっている
78
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
6. サプリメンタルロギング
• ① OGG の資料
• 以下の GGSCI のコマンドの出力
– shell date
– dblogin userid <GoldenGate ユーザ>, password <GoldenGate ユーザのパスワード>
– info trandata <問題のユーザ>.*
– info schematrandata <問題のユーザ>
– capture tabledefs <問題のユーザ>.*
a) GoldenGate 観点で採取する資料
79
<例>
shell date
dblogin userid gguser, password gguser
info trandata SCOTT.*
info schematrandata SCOTT
capture tabledefs SCOTT.*
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
6. サプリメンタルロギング
1. ② DB の資料
2. 問題の表を特定できている場合、その表および付随する索引の DDL 定義
– (参考)
Doc ID 1721554.1
既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106)
b) Database 観点で採取する資料
80
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
6. サプリメンタルロギング
3. いずれかのインスタンスの問題のユーザの全てのテーブルの以下の結果
– SELECT * FROM TABLE(LOGMNR$ALWAYS_SUPLOG_COLUMNS('<問題のユーザ>', '
<問題のユーザのテーブル>'));
• テーブルは以下のような SQL で取得します。
– SELECT OWNER, TABLE_NAME FROM DBA_TABLES WHERE OWNER = 'SCOTT';
b) Database 観点で採取する資料
81
<例>
SELECT OWNER, TABLE_NAME FROM DBA_TABLES WHERE OWNER = 'SCOTT';
SELECT * FROM TABLE(LOGMNR$ALWAYS_SUPLOG_COLUMNS('SCOTT', 'EMP'));
:
SELECT * FROM TABLE(LOGMNR$ALWAYS_SUPLOG_COLUMNS('SCOTT', 'DEPT'));
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
6. サプリメンタルロギング
4. いずれかのインスタンスの以下のスプールファイル
b) Database 観点で採取する資料
82
spool <任意のファイルパス>
set lines 1000 pages 1000 trimspool on time on echo on;
alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
select to_char(sysdate) start_time from dual;
select * from v$database;
select * from dba_objects where owner ='<問題のユーザ>';
select * from DBA_LOG_GROUPS where owner ='<問題のユーザ>';
select owner, log_group_name, table_name, COLUMN_NAME, POSITION
from DBA_LOG_GROUP_COLUMNS where owner ='<問題のユーザ>' order by log_group_name, POSITION;
select * from LOGMNR$SCHEMA_ALLKEY_SUPLOG;
select * from DBA_CAPTURE_PREPARED_SCHEMAS;
SELECT * FROM DBA_GOLDENGATE_PRIVILEGES;
spool off
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
• 以下のような障害発生時の採取情報をまとめています
– GoldenGate のプロセスのメモリ使用量が増加している
83
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
1. ① OGG の資料
2. デバッグ情報 - アクティビティロギング
– 事象に再現性がある場合に採取します
– 採取方法は 4章の「デバッグ情報」を参照して下さい
3. プロセス毎の情報
– Capture, Data Pump, Replicat のうち、遅延しているプロセスを対象に次のスライド
以降の情報を採取して下さい
a) GoldenGate 観点で採取する資料
84
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
3-1. Capture でメモリリークが発生している場合
– 以下の GGSCI のコマンドの出力を N 分間隔で3 回ずつ取得して下さい
• shell date
• SEND EXTRACT <group>, SHOWTRANS
• SEND EXTRACT <group>, LOGSTATS
• SEND EXTRACT <group>, CACHEMGR CACHESTATS
• SEND EXTRACT <group>, CACHEMGR CACHEQUEUES
• SEND EXTRACT <group>, CACHEMGR CACHEPOOL
• INFO EXTRACT <group>, SHOWCH
• SEND EXTRACT <group>, GETLAG
• SEND EXTRACT <group>, REPORT
※ N はメモリリークを観測できる間隔を指定します
たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります
a) GoldenGate 観点で採取する資料
85
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
3-2. Data Pumpでメモリリークが発生している場合
– 以下の GGSCI のコマンドの出力を N 分間隔で 3 回ずつ取得して下さい
• shell date
• INFO EXTRACT <group>, SHOWCH
• SEND EXTRACT <group>, GETLAG
• SEND EXTRACT <group>, GETTCPSTATS
• SEND EXTRACT <group>, REPORT
※ N はメモリリークを観測できる間隔を指定します
たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります
a) GoldenGate 観点で採取する資料
86
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
3-3. Replicatでメモリリークが発生している場合
– 以下の GGSCI のコマンドの出力を N 分間隔で 3 回ずつ取得して下さい
• shell date
• INFO REPLICAT <group>, SHOWCH
• SEND REPLICAT <group>, GETLAG
• SEND REPLICAT <group>, REPORT
※ N はメモリリークを観測できる間隔を指定します
たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります
a) GoldenGate 観点で採取する資料
87
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
• ② DB の資料
b) Database 観点で採取する資料
88
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
• ③ OS の資料
• 問題がある GoldenGate のプロセスへの以下の OS コマンドの出力
– 以下の GGSCI のコマンドの出力を N 分間隔で 3 回ずつ取得して下さい
• cat /proc/meminfo (または同等のコマンド)
• ps alx --sort -rss (または同等のコマンド)
• pmap -d <GoldenGate のプロセスの PID> (または同等のコマンド)
• pmap -x <GoldenGate のプロセスの PID> (または同等のコマンド)
• pstack <GoldenGate のプロセスの PID> (または同等のコマンド)
※ N はメモリリークを観測できる間隔を指定します
たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります
c) OS 観点で採取する資料
89
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. メモリリーク
c) OS 観点で採取する資料
90
<例>
$ date
$ cat /proc/meminfo
$ ps alx --sort -rss
$ pmap -d 12291
$ pmap -x 12291
$ pstack 12291
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
8. jagent
• 以下のような障害発生時の採取情報をまとめています
– jagent でエラーが発生している
– jagent の起動に失敗する
– jagent の処理がハングまたはスピンしている
91
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
8. jagent
• ① OGG の資料
• 以下の GoldenGate の資料
– <GG_HOME>/jagent.log
– <GG_HOME>/cfg
• Java のバージョン
a) GoldenGate 観点で採取する資料
92
<例>
$JAVA_HOME/bin/java -version
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
8. jagent
• ② DB の資料
b) Database 観点で採取する資料
93
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
8. jagent
• ③ OS の資料
• ハング、スピン、処理が進まない問題の場合は jstack の情報
– 5 分間隔で 3 回ずつ
c) OS 観点で採取する資料
94
<例>
$ ps -efl | grep java | grep jagent
:
0 S moni1110 25864 25788 4 80 0 - 215281 futex_ 18:22 ? 00:00:05
java -jar -Xms64m -Xmx512m dirjar/jagent.jar
:
$ $JAVA_HOME/bin/jstack 25864
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アジェンダ
はじめに
基本資料
ケース別資料
デバッグ情報
まとめ
95
3
4
5
1
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
デバッグ情報
• 以下の GoldenGate のデバッグ情報を紹介します
– アクティビティロギング
• GoldenGate のプロセスの動作の詳細をログに出力させます
– SQL トレース
• GoldenGate のプロセスが発行する全ての SQL を SQL トレースとして出力させます
96
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アクティビティロギング
• アクティビティロギングについて
– GoldenGate のプロセスの動作を変更するものではありません
– 有効/無効にするには GoldenGate のプロセスの再起動が必要です
– 大量にログが出力され負荷が発生します
• 検証環境等で影響を確認のうえで、慎重に設定して下さい
– ログファイル
• <GG_HOME> 下に gglog-<group 名>.log、gglog-<group 名>.log.1 ... gglog-<group 名>.log.20
のようなログファイルが生成されます
• ABEND した場合は gglog-<group 名>.dmp というファイルも生成されます
• 自動的にローテーションするため、ログファイルの合計サイズは一定量に保たれます
– 必要なファイルはローテーションされる前に速やかに採取して下さい
97
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アクティビティロギング
• アクティビティロギングについて
– 問題が発生しログファイルを採取後、速やかにアクティビティロギングを無効にします
– アクティビティロギングを設定する代表的なケースは以下となります
• サポートからの指示
• 検証環境
• 本番前のフェーズで負荷を気にする必要がない
• GoldenGate のプロセスを起動後に必ず問題が発生する
• 再現性が高く高頻度の確率で問題が発生する
• 内部動作の確認
– (参考)
Doc ID 1204284.1 OGG v11.1.1.0 Activity Logging tracing Activity Trace
98
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アクティビティロギング
• 設定例
99
<E01 という Capture にアクティビティロギングを設定する例>
アクティビティロギングを設定して現象の再現を確認後、後述の情報を取得します
手順は以下となります。
※ ログが大量に出力されることで負荷が増大します
※ ログは最大で 4000 MB 程度出力されますが、ローテーションするためそれ以上
は増大しません。
1) E01 を停止します。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アクティビティロギング
100
2) 以下の gglog-E01.xml という名前のファイルを <GG_HOME> 下に作成します。
===========================
<?xml version="1.0" ?>
<configuration reset="true">
<appender name="traceini" class="RollingFileAppender">
<param name="BufferedIO" value="false" />
<param name="Append" value="true" />
<param name="File" value="gglog-%I.log" />
<param name="MaxBackupIndex" value="20" /> ★ ★ ★ 何世代でローテーションするか。変更可能。
<param name="MaxFileSize" value="200MB" /> ★ ★ ★ ログファイルのサイズ。変更可能。
<layout class="PatternLayout">
<param name="Pattern" value="%d{%m/%d %H:%M:%S} [%C{1}:%L] %m%n" />
</layout>
</appender>
<logger name="gglog.std">
<level value="all" />
<appender-ref name="traceini" />
</logger>
<logger name="gglog.std.utility">
<level value="off" />
<appender-ref name="traceini" />
</logger>
</configuration>
===========================
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アクティビティロギング
101
3) E01 を開始します。
※ <GG_HOME> 下に gglog-E01.log、gglog-E01.log.1 ... gglog-E01.log.20、
という各 200 MB のファイルにローテーションでログが出力されます。
4) 問題の発生を確認します。
5) E01 を停止します。
6) アクティビティロギングを停止するために上記 2) の gglog-E01.xml を削除
します。
7) 以下の情報をご提供いただけるでしょうか。
- <GG_HOME>/gglog-E01.log、gglog-E01.log.1 ... gglog-E01.log.20
- <GG_HOME>/*.dmp ※ 出力されない場合もあります。
※ ローテーションの世代、ログファイルのサイズは任意に変更可能です。
※ gglog-E01.xml の E01 は GoldenGate の group 名にあわせて変更します。
Collector の場合は gglog-server.xml というファイルになります。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SQLトレース
• SQL トレースについて
– GoldenGate のプロセスの動作を変更するものではありません
– GoldenGate のプロセスが発行する全ての SQL を SQL トレースとして出力させます
– 有効/無効にするには GoldenGate のプロセスの再起動が必要です
– 大量にログが出力され負荷が発生します
• 検証環境等で影響を確認のうえで、慎重に設定して下さい
– Database のトレースファイルに情報が出力されます
– 問題が発生しトレースファイルを採取後、速やかに SQL トレースを無効にします
102
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SQLトレース
– SQL トレースを設定する代表的なケースは以下となります
• サポートからの指示
• 検証環境
• 本番前のフェーズで負荷を気にする必要がない
• GoldenGate のプロセスを起動後に必ず問題が発生する
• 再現性が高く高頻度の確率で問題が発生する
• 内部動作の確認
103
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SQLトレース
• 設定例
104
<E01 という Capture に SQL トレースを設定する例>
SQL トレースを設定して、設定して現象の再現を確認後、後述の情報を取得します
手順は以下となります。
※ ログが大量に出力されますので負荷が増大します。
1) E01 を停止します。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SQLトレース
105
2) E01 のパラメータに以下の ★★★ を追加します。
===========================
EXTRACT e01
SETENV (ORACLE_HOME=/home/ora11204/app/oracle/product)
SETENV (ORACLE_SID=gg112113)
userid gguser , password gguser
sqlexec "alter session set tracefile_identifier='OGG_debug'" ★★★
sqlexec "alter session set events '10046 trace name context forever, level 4'" ★★★
EXTTRAIL /home/gg112113/gg/dirdat/mm
....
===========================
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SQLトレース
106
3) E01 を開始します。
4) 問題の発生を確認します。
5) E01 を停止します。
6) SQL トレースを停止するために上記 2) で追加したパラメータを削除します。
7) 以下の情報をご提供いただけるでしょうか。
- OGG_debug という名前を含む Database のトレースファイル
※ Capture 以外にも、 Data Pump 、Replicat に設定可能です。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SQLトレース
• その他
– sqlexec には、SQL トレース以外の ALTER SESSION 文を設定可能です
– 例えば以下のような設定を行い、 GoldenGate のプロセスの Database 上の
パラメータをセッションレベルで変更することができます
107
===========================
EXTRACT e01
SETENV (ORACLE_HOME=/home/ora11204/app/oracle/product)
SETENV (ORACLE_SID=gg112113)
userid gguser , password gguser
sqlexec "alter session set CURSOR_SHARING = force"
EXTTRAIL /home/gg112113/gg/dirdat/mm
....
===========================
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アジェンダ
はじめに
基本資料
ケース別資料
デバッグ情報
まとめ
108
3
4
5
1
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
まとめ
• 本資料で紹介した資料を初期段階で採取いただくことで、SR 発行での資
料の受け渡しの回数を減らすことでき、解決までの期間を短縮できます。
• 本資料で紹介した資料を運用上の都合などで全て採取できない場合は、
採取可能なものをできるだけ採取します。
• 本資料で紹介した資料は、トラブル時に初見でスムーズに採取するのは
なかなか困難です。平常時にひととおり採取してみて慣れておくことが大
切です。
• 本資料で紹介した資料は、検証時に GoldenGate の内部動作を確認する
場合や、現状の GoldenGate の構成を確認する場合にも役立ちます。
109
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Document Control
Author
日本オラクル株式会社
• 正木 能長
Reviewer
日本オラクル株式会社
• 谷川 信朗
• 後藤 陽介
• 南野 英梨子
• 浅井 純
• 小西 亮輔
• 別府 真由美
• 植田 智広
• 舟橋 直美
110
変更履歴
Date Version
2015/4 1.0 Created.
2015/8 1.1 Monitor11.2の記載追加
2015/9 1.2 テンプレート変更
2016/2 1.3 先頭スライド削除
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 112
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)

Weitere ähnliche Inhalte

Was ist angesagt?

[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
オラクルエンジニア通信
 
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
Insight Technology, Inc.
 
Rac rac one_node説明資料
Rac rac one_node説明資料Rac rac one_node説明資料
Rac rac one_node説明資料
Hiroki Morita
 

Was ist angesagt? (20)

Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
 
Oracle GoldenGate 概要 2020年11月版
Oracle GoldenGate 概要 2020年11月版Oracle GoldenGate 概要 2020年11月版
Oracle GoldenGate 概要 2020年11月版
 
Oracle GoldenGate Cloud Serviceユーザーズガイド
Oracle GoldenGate Cloud ServiceユーザーズガイドOracle GoldenGate Cloud Serviceユーザーズガイド
Oracle GoldenGate Cloud Serviceユーザーズガイド
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
 
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
 
Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介
 
Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
 
監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜
 
Oracle GoldenGate Veridata 12cR2 セットアップガイド
Oracle GoldenGate Veridata 12cR2 セットアップガイドOracle GoldenGate Veridata 12cR2 セットアップガイド
Oracle GoldenGate Veridata 12cR2 セットアップガイド
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
 
DataGuard体験記
DataGuard体験記DataGuard体験記
DataGuard体験記
 
Zero Data Loss Recovery Applianceのご紹介
Zero Data Loss Recovery Applianceのご紹介Zero Data Loss Recovery Applianceのご紹介
Zero Data Loss Recovery Applianceのご紹介
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
 
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
 
Rac rac one_node説明資料
Rac rac one_node説明資料Rac rac one_node説明資料
Rac rac one_node説明資料
 
Oracle Cloud Infrastructure セキュリティの取り組み [2021年8月版]
Oracle Cloud Infrastructure セキュリティの取り組み [2021年8月版]Oracle Cloud Infrastructure セキュリティの取り組み [2021年8月版]
Oracle Cloud Infrastructure セキュリティの取り組み [2021年8月版]
 

Andere mochten auch

Andere mochten auch (6)

Oracle GoldenGate Monitor 12cR2 セットアップガイド
Oracle GoldenGate Monitor 12cR2 セットアップガイドOracle GoldenGate Monitor 12cR2 セットアップガイド
Oracle GoldenGate Monitor 12cR2 セットアップガイド
 
Oracle GoldenGate Studio概要
Oracle GoldenGate Studio概要Oracle GoldenGate Studio概要
Oracle GoldenGate Studio概要
 
Oracle GoldenGate Studioセットアップガイド
Oracle GoldenGate StudioセットアップガイドOracle GoldenGate Studioセットアップガイド
Oracle GoldenGate Studioセットアップガイド
 
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
 
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
 
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
 

Ähnlich wie Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)

Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
SolarisJP
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
Insight Technology, Inc.
 

Ähnlich wie Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料) (20)

Oracle GoldenGate Studio R12.2.1.1 セットアップガイド
Oracle GoldenGate Studio R12.2.1.1 セットアップガイドOracle GoldenGate Studio R12.2.1.1 セットアップガイド
Oracle GoldenGate Studio R12.2.1.1 セットアップガイド
 
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイド
 
Oracle GoldenGate EM Plugin 13c セットアップガイド
Oracle GoldenGate EM Plugin 13c セットアップガイドOracle GoldenGate EM Plugin 13c セットアップガイド
Oracle GoldenGate EM Plugin 13c セットアップガイド
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
 
Oracle Audit Vault and Database Vault のご紹介
Oracle Audit Vault and Database Vault のご紹介Oracle Audit Vault and Database Vault のご紹介
Oracle Audit Vault and Database Vault のご紹介
 
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
 
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
 
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
 
Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介
 
Oracle Management Cloudのご紹介
Oracle Management Cloudのご紹介Oracle Management Cloudのご紹介
Oracle Management Cloudのご紹介
 
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
 
Oracle Database Appliance 2.9 アップデート及びパッチ管理について
Oracle Database Appliance 2.9 アップデート及びパッチ管理についてOracle Database Appliance 2.9 アップデート及びパッチ管理について
Oracle Database Appliance 2.9 アップデート及びパッチ管理について
 
Tech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_shareTech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_share
 
PCCC20 日本オラクル株式会社「Oracle Cloud Infrastructure for HPC」
PCCC20 日本オラクル株式会社「Oracle Cloud Infrastructure for HPC」PCCC20 日本オラクル株式会社「Oracle Cloud Infrastructure for HPC」
PCCC20 日本オラクル株式会社「Oracle Cloud Infrastructure for HPC」
 
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
 
Oracle Exadata MAA - Platinum層特化版プレゼンテーション
Oracle Exadata MAA - Platinum層特化版プレゼンテーション Oracle Exadata MAA - Platinum層特化版プレゼンテーション
Oracle Exadata MAA - Platinum層特化版プレゼンテーション
 
Oracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデート
 
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
 

Mehr von オラクルエンジニア通信

Mehr von オラクルエンジニア通信 (20)

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートOracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートOracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
 
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートOracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートOracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
 
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデートOracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGateでの資料採取 – トラブル時に採取すべき資料 – Ver.1.3 2016年2月 日本オラクル株式会社 クラウド&テクノロジー事業統括
  • 2. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 免責事項 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とす るものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供すること をコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。 Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。 他社名又は製品名は、それぞれ各社の商標である場合があります。 2
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジェンダ はじめに 基本資料 ケース別資料 デバッグ情報 まとめ 1 2 3 4 5 3
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジェンダ はじめに 基本資料 ケース別資料 デバッグ情報 まとめ 1 4 2 3 4 5
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 本ドキュメントの目的と対象者(1/2) • 本ドキュメントでは Oracle GoldenGate (以下、GoldenGate または OGG) の 動作に関する調査や障害対応時に採取すべき各種情報(本ドキュメントで は「資料」と表現します)について紹介します。 • 主に、GoldenGateの設計、検証、構築に携わるエンジニア、データベース 管理者の方や、運用開始以降にサポート対応を行うサポートエンジ ニア、 弊社のパートナー企業で GoldenGate に関わる技術者の皆様を対象とし た内容になっています。 • GoldenGateを実際に操作する技術者や製品のサポートエンジニアが、 環境から採取すべき資料に関する適切な理解を事前に得ておくことで、 検証や構築時の確認やサポートサービスへのお問い合わせの際に スムーズな対応を可能とします。 5
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 本ドキュメントの目的と対象者(2/2) • 本ドキュメントで御紹介する各種情報は、GoldenGate の内部動作に関す る理解を深める上でも有益なコンテンツとなっていますので、幅広く技術 者の方に御活用頂く事が可能です。 • 本資料で紹介した資料を運用上の都合などで全て採取できない場合は、 採取可能なものをできるだけ採取します。 • 本資料で紹介した資料は、トラブル時に初見でスムーズに採取するのは なかなか困難です。平常時にひととおり採取してみて慣れておくことが大 切です。 6
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 本ドキュメントの構成について • 2 章では GoldenGate の動作に関する調査時や障害対応時において、 基本的な採取すべき資料について紹介します。 • 3 章では GoldenGate の各動作におけるケース別(遅延、不整合、異常 停止 …)の採取すべき資料を紹介します。 • 4 章では GoldenGate のデバッグ情報を出力させるためのアクティビティ ロギング、SQL トレースを紹介します。 • 5 章でまとめを行います。 7
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 内容に関する前提および補足 • 本ドキュメントでは以下を前提としています – GoldenGate のバージョン : R11.2, R12.1 – 対象データベース : Oracle Database R11.2, R12.1 • Oracle Database 以外を接続対象とする場合、対象データベース固有の 情報については含まれておりませんが、GoldenGate に関する部分は できるだけ活用可能な情報となっています。 • 本ドキュメント内で、弊社サポートサービス「My Oracle Support」から参照 可能な Document (「Doc Id xxx」と記述の情報)などについては、弊社 サポートサービスの契約が必要となります。 8
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGate 概要 • Oracle GoldenGate概要 – データ・レプリケーション製品 – 2009年旧GoldenGate社を買収 • Oracle GoldenGateの特徴 – データベースに行われた変更を他データベースへ反映 – 既存のデータベースやネットワークへの負荷は最小限 – 稼働中のデータベース同士で双方向に連携が可能 – 異なるデータベースやOSの種類・バージョンで構成され たシステム間での連携が可能 – データベース全体だけではなく、表・列など必要な部分 に絞った柔軟な連携が可能 ソース・ データベース ターゲット・ データベース 双方向同期 アプリ GoldenGate GoldenGate アプリ Active Active 前提知識
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGate 基本アーキテクチャ - 全体像 - Oracle GoldenGate Trail ファイル 差分ログ Server A Server B OS Oracle GoldenGate Trail ファイル OS ターゲット データベース ソース データベース チェックポイント ファイル チェックポイント ファイル チェックポイント ファイル 抽出プロセス Extract (Capture) 転送プロセス Extract (Data Pump) 管理プロセス Manager 受信プロセス Collector 適用プロセス Replicat 管理プロセス Manager チェック ポイント表 • データベースの差分ログをTrailファイルという汎用的なフォーマットに変換して転送 • 各プロセスの進行状況はチェックポイントファイル(バイナリファイルまたはDB上の表)に保存 • 上記の構成の他に、DBサーバと別のサーバにGoldenGateを切り出す構成などが可能 前提知識
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGate 基本アーキテクチャ - プロセス - 11 Oracle GoldenGate Trailファイル Server A Server B Oracle GoldenGate 抽出プロセス Extract (Capture) 転送プロセス Extract (Data Pump) 管理プロセス Manager 受信プロセス Collector 適用プロセス Replicat 管理プロセス Manager Trailファイル • Captureプロセス:ソースDBから変更ログを抽出 してTrailファイルに書き出すプロセス • Data Pumpプロセス:Captureプロセスが書き出 したTrailファイルからリモートのCollectorプロセス にデータを転送するプロセス • Collectorプロセス:ソース側のDataPumpプロセスか らデータを受信して、Trailファイルに書き込むプロセス (Managerが起動するためユーザによる操作は不要) • Replicatプロセス:Trailファイルからデータを読み出し、 ターゲットDBに反映するためのプロセス • Managerプロセス:OGGインスタンス全体を管理するプロセス 前提知識
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGate 基本アーキテクチャ - パラメータファイル - 12 Oracle GoldenGate Trail ファイル Server A Server B Oracle GoldenGate Manager Collector Replicat Manager Trail ファイル • GoldenGateのパラメータファイルは下記の2種類があります。プレーンテキスト形式です。 – GLOBALSパラメータファイル(ファイル名:GLOBALS):GoldenGateインスタンス全体を設定するた めのパラメータファイル。ファイル名は大文字のGLOBALSで拡張子は不要。 – パラメータファイル(ファイル名:xxxx.prm):Capture等のプロセス実行時の設定をするためのファイル。 Collector以外の全てのプロセスで設定が必要。 GLOBALS パラメータファイル GLOBALS パラメータファイル パラメータファイル パラメータファイル Capture DataPump パラメータファイル 前提知識
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGate 基本アーキテクチャ - 主なファイル - 13 Oracle GoldenGate Trail ファイル Server A Server B Oracle GoldenGate Collector Trail ファイル • Trailファイル: OGG内で変更ログを格納するためのファイル。 • チェックポイントファイル:各プロセスがどこまで処理したかを記録するためのファイル。 • 破棄ファイル(Discardファイル):処理できなかったレコードを格納するためのファイル。 • ログファイル(ggserr.log):エラー等のメッセージが書き込まれるファイル。 チェックポイント ファイル チェックポイント ファイル チェックポイント ファイル 破棄 ファイル Capture 破棄 ファイル 破棄 ファイル ReplicatDataPump Manager Manager ログファイル ggserr.log ログファイル ggserr.log 前提知識
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGate 基本アーキテクチャ - 主なディレクトリ - • GoldenGateホーム以下に作成される主なディレクトリと用途を説明します。 – dirprm:各プロセスのパラメータファイル用のディレクトリ。 – dirrpt:各プロセスから出力される破棄ファイル等のディレクトリ。編集不可。 – dirchk:チェックポイントファイル用のディレクトリ。編集不可。 – dirpcs:各プロセスのステータス情報を格納するディレクトリ。編集不可。 – dirsql:GoldenGateのSQLスクリプトを格納するディレクトリ。 – dirdat:Trailファイルを格納するディレクトリ。編集不可。 – dirtmp/dirdmp:一時ファイル、ダンプファイル用ディレクトリ。編集不可。 – dircrd/dirwlt:セキュリティ関連の情報を格納するディレクトリ。 *注:OGGバージョンによってディレクトリ構成が異なることがあります。 14 前提知識
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | GoldenGateにおけるレプリケーション方式 ソース データベース GoldenGate 抽出(Extract) Classic Capture ターゲット データベース 変更履歴 (REDOログ等) Non-integrated Replicat Coordinated Replicat (OGG12c~) Integrated Replicat (OGG12c~) Integrated Capture (OGG11gR2~) Oracle Databaseのみ構成可能 Database Logmining Server (Outbound) ソース オブジェクト ターゲット オブジェクト Database Logmining Server (Inbound) GoldenGate 適用(Apply) 前提知識
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | GoldenGateにおけるレプリケーション方式 - Capture - ソース データベース GoldenGate 抽出(Extract) Classic Capture 変更履歴 (REDOログ等) Integrated Capture (OGG11gR2~) Oracle Databaseのみ Database Logmining Server (Outbound) ソース オブジェクト • Classic Capture – 従来からの抽出方法 – 全てのデータベースで利用可能 – 変更ログ(REDOログ等)から抽出 • 統合Capture(Integrated Capture) – OGG11gR2からの新しい抽出方法 – Oracle Databaseでのみ利用可能 – DBの機能(Database Logmining Server)を 使用して変更情報を抽出 – Oracle Databaseへの高い親和性 前提知識
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | GoldenGateにおけるレプリケーション方式 - Replicat - • Non-integrated Replicat – 従来からの適用方法 – 全てのデータベースで利用可能 – SQLを使用してターゲットに適用 • Coordinated Replicat – Non-integrated をマルチスレッド化 • 統合Replicat(Integrated Replicat) – Oracle Databaseでのみ利用可能 – DBの機能(Database Logmining Server) を使用して変更情報を適用 – Oracle Databaseへの高い親和性 ターゲット データベース Non-integrated Replicat Coordinated Replicat (OGG12c~) Integrated Replicat (OGG12c~) Oracle Databaseのみ ターゲット オブジェクト Database Logmining Server (Inbound) GoldenGate 適用(Apply) 前提知識
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGateの管理 • コマンドラインによるGoldenGateの管理 – GGSCI(GoldenGate Software Command Interface) • GUIによるGoldenGateの管理 18 Oracle GoldenGate Director Oracle GoldenGate Monitor •C/Sツール及びWebによる基本 的な管理・監視機能を提供 •GoldenGate監視に特化した製品 •より高度な監視機能やSNMP連 携によるアラート機能を提供 Oracle GoldenGate Plug-in For EMCC12c •Oracle Enterprise Manager Cloud Control 12cのプラグイン形式 •Oracle Databaseと同一のインタフェー スやメトリックを使用して統合的な監 視が可能 前提知識
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle GoldenGateの管理 - Monitor/Pluginによる監視 - • GoldenGateを監視するためにMonitorやPluginを使用する場合、 GoldenGateに含まれるJAgentというプロセスを使用して監視します。 19 Oracle GoldenGate ターゲット データベースGoldenGate Core JAgent • Monitor R11.1/R11.2 – GoldenGateでJAgentを起動しデータ収集に使用 • Monitor R12.1.3 – Monitorに含まれるMonitor Agentを使用 • EM Plugin R12.1.0.x – GoldenGateでJAgentを起動してデータ収集 – プロセス起動停止等の機能を使用したい場合は、 Monitor Agentが必要 Oracle Management Agent Oracle Management Server OGG Monitor Enterprise Manager Plug-in GoldenGate Monitor Server Monitor Agent12c 注:バージョンによってJAgentの利用有無が異なります。 前提知識
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジェンダ はじめに 基本資料 ケース別資料 デバッグ情報 まとめ 20 3 4 5 1 2
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 • GoldenGate に関する障害調査で採取すべき基本的な資料を紹介します • 以下の 3 つとなります ① GoldenGate 側で採取する資料 • 必ず採取するようにしてください ② Database 側で採取する資料 • 問題が Database に関連する場合は採取するようにしてください ③ OS 側で採取する資料 • 可能な限り採取するようにしてください 21
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 • GoldenGate の基本的なログ – <GG_HOME>/ggserr.log – <GG_HOME>/GLOBALS • GLOBALS は明示的に作成していなければ存在しません – <GG_HOME>/dirprm ディレクトリ配下のファイル – <GG_HOME>/dirrpt ディレクトリ配下のファイル – DISCARDFILE • DISCARDFILE パラメータで設定しているファイルです • R11.2 までは DISCARDFILE パラメータを設定していない場合は出力されません • R12.1 以降は DISCARDFILE パラメータを設定していない場合でも <GG_HOME>/dirrpt に出力されます ※ <GG_HOME> は GoldenGate ソフトウェアのインストールディレクトリを表します ① GoldenGate 側で採取する資料 22
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 • GGSCI のコマンドの出力 – INFO ALL – INFO MANAGER – INFO {EXTRACT | REPLICAT} <group> DETAIL – INFO {EXTRACT | REPLICAT} <group>, SHOWCH – INFO {EXTTRAIL | RMTTRAIL} <path name> – LAG {EXTRACT | REPLICAT} <group> DETAIL – STATS {EXTRACT | REPLICAT} <group> ① GoldenGate 側で採取する資料 23
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 <例> INFO ALL INFO MANAGER INFO EXTRACT E01 DETAIL INFO EXTRACT E01, SHOWCH INFO EXTRACT P01 DETAIL INFO EXTRACT P01, SHOWCH INFO REPLICAT R01 DETAIL INFO REPLICAT R01, SHOWCH INFO EXTTRAIL /home/gg112120/gg/dirdat/mm INFO RMTTRAIL /home/gg112120/gg/dirdat/nn LAG EXTRACT E01 DETAIL LAG EXTRACT P01 DETAIL LAG REPLICAT R01 DETAIL STATS EXTRACT E01 STATS EXTRACT P01 STATS REPLICAT R01 ① GoldenGate 側で採取する資料 24
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 • 統合 Capture を使用している場合は以下のスクリプトの結果 – Doc ID 1448324.1 GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script • 統合 Capture を使用している場合はパラメータに以下のような設定がされています – TRANLOGOPTIONS INTEGRATEDPARAMS • 統合 Replicat を使用している場合は以下のスクリプトの結果 – Doc ID 1448324.1 GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script • 統合 Replicat を使用している場合はパラメータに以下のような設定がされています – DBOPTIONS INTEGRATEDPARAMS ① GoldenGate 側で採取する資料 25
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 • Database の全てのインスタンスのアラートログ • Database の全てのインスタンスの トレースファイル、インシデントファイル – 問題が発生した時間帯以降のタイムスタンプを含むもののみで構いません • ASM の全てのインスタンスの アラートログ • ASM の全てのインスタンスの トレースファイル、インシデントファイル – 問題が発生した時間帯以降のタイムスタンプを含むもののみで構いません • opatch lsinventory -detail コマンドの実行結果(RDBMS、GI) • Doc ID 1728259.1 インストールされている個別パッチの詳細を確認する方法 [OPatch](KROWN:89388) ② Database 側で採取する資料 26
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 ② Database 側で採取する資料 27 spool <任意のファイルパス> set lines 1000 pages 1000 trimspool on time on echo on term on alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'; select to_char(sysdate) start_time from dual; select * from v$version; select * from v$database; select * from gv$instance; select * from v$log; select * from v$logfile; select * from v$tablespace; select * from DBA_TABLESPACES; select * from DBA_DATA_FILES; select * from DBA_TEMP_FILES; select * from v$datafile; select * from v$tempfile; select * from v$archived_log order by RESETLOGS_CHANGE#, THREAD#, SEQUENCE#; spool off • Database のいずれかのインスタンスでの以下の実行結果
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 • OS のシスログ (messages、syslog) – 問題が発生した時間帯以降のタイムスタンプを含むもののみで構いません • 以下の OS コマンドの出力 • env | sort (または同等のコマンド) の情報 • mount (または同等のコマンド) の情報 • df -k (または同等のコマンド) の情報 • ls -Rl <GG_HOME> (または同等のコマンド) の情報 • ps -efl (または同等のコマンド) の情報 • top (または同等のコマンド) の情報 • vmstat (または同等のコマンド) の情報 • mpstat (または同等のコマンド) の情報 • iostat (または同等のコマンド) の情報 • net (または同等のコマンド) の情報 ③ OS 側で採取する資料 28
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 基本資料 <例> date env | sort mount df -k ls -Rl /home/gg112120/gg ps -elf top -b -n 1 | head -50 vmstat 1 3 mpstat 1 3 iostat -x 1 3 netstat -a -i -n netstat -s netstat -a -n -p ③ OS 側で採取する資料 29
  • 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジェンダ はじめに 基本資料 ケース別資料 デバッグ情報 まとめ 30 4 5 1 2 3
  • 31. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ケース別資料 • 以下のケース別に採取すべき資料を紹介します 1. 遅延 …… パフォーマンス、LAG の発生、プロセスのハング 2. 不整合…… レプリケーション漏れの問題 3. 異常停止 …… プロセスの ABEND、CORE DUMP の問題 4. N/W …… ネットワークの問題 5. DDL レプリケーション …… DDL 文のレプリケーションの問題 6. サプリメンタルロギング…… ソース側のサプリメンタルロギングの問題 7. メモリリーク…… メモリリークの問題 8. jagent …… jagent の問題 31
  • 32. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ケース別資料 • 以降のスライドでは、前スライドに記載のケース毎に、採取する資料を まとめています • 各スライドに記載の以下の情報は、2章にまとめた情報を意図しています – ① OGG の資料 ….. 2章の「① GoldenGate 側で採取する資料」 – ② DB の資料 ….. 2章の「② Database 側で採取する資料」 – ③ OS の資料 ….. 2章の「③ OS 側で採取する資料」 32
  • 33. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 • 以下のような障害発生時の採取情報をまとめています – レプリケーション処理の遅延 – GoldenGate のプロセスでの LAG の増加 – GoldenGate のプロセスの処理の停止(ハング) – GoldenGate のプロセスでの CPU 高騰 33
  • 34. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 1. ① OGG の資料 2. デバッグ情報 - アクティビティロギング – 事象に再現性がある場合に採取します – 採取方法は 4章の「デバッグ情報」を参照して下さい 3. プロセス毎の情報 – Capture, Data Pump, Replicat のうち、遅延しているプロセスを対象に次のスライド 以降の情報を採取して下さい a) GoldenGate 観点で採取する資料 34
  • 35. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 3-1. Capture の処理が遅延している場合 – 以下の GGSCI のコマンドの出力を5 分間隔で3 回ずつ取得して下さい • shell date • SEND EXTRACT <group>, SHOWTRANS • SEND EXTRACT <group>, LOGSTATS • SEND EXTRACT <group>, CACHEMGR CACHESTATS • SEND EXTRACT <group>, CACHEMGR CACHEQUEUES • SEND EXTRACT <group>, CACHEMGR CACHEPOOL • INFO EXTRACT <group>, SHOWCH • SEND EXTRACT <group>, GETLAG • SEND EXTRACT <group>, REPORT ※ <group> には対象の Capture プロセス名を指定します a) GoldenGate 観点で採取する資料 35
  • 36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 3-2. Data Pump の処理が遅延している場合 – 以下の GGSCI のコマンドの出力を5 分間隔で 3 回ずつ取得して下さい • shell date • INFO EXTRACT <group>, SHOWCH • SEND EXTRACT <group>, GETLAG • SEND EXTRACT <group>, GETTCPSTATS • SEND EXTRACT <group>, REPORT ※ <group> には対象の Data Pump プロセス名を指定します a) GoldenGate 観点で採取する資料 36
  • 37. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 3-3. Replicat の処理が遅延している場合 – 以下の GGSCI のコマンドの出力を5 分間隔で 3 回ずつ取得して下さい • shell date • INFO REPLICAT <group>, SHOWCH • SEND REPLICAT <group>, GETLAG • SEND REPLICAT <group>, REPORT ※ <group> には対象の Replicat プロセス名を指定します a) GoldenGate 観点で採取する資料 37
  • 38. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 • 事象が Database 側に関連する場合に採取して下さい 1. ② DB の資料 2. デバッグ情報 - SQLトレース – 事象に再現性がある場合に採取します – 採取方法は 4章の「デバッグ情報」を参照して下さい 3. 遅延が発生している状態での以下の資料 – Doc ID 1722721.1 ハング時に取得する情報およびその取得方法(Oracle9i以降対応版 シングルインスタンス対応) b) Database 観点で採取する資料 38
  • 39. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 4. 遅延が発生していた時間帯の 60 分インターバル AWR(12 時間分) – 例)13:00-14:00、14:00-15:00 – (参考) Doc ID 1752159.1 AWR レポートの作成手順と出力される項目について (11g)(KROWN:146855) – AWR には Enterprise Edition で Diagnostic Pack オプションが別途必要です 5. 遅延が発生していた時間帯の ASH(1時間分) – (参考) Doc ID 1742219.1 Active Session History(ASH) 情報の取得方法(KROWN:127934) – ASH には Enterprise Edition で Diagnostic Pack オプションが別途必要です b) Database 観点で採取する資料 39
  • 40. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 6. 遅延した処理で参照していた表および付随する索引の DDL 定義 – 遅延に関連している表を把握できている場合のみ採取して下さい – ソース側、ターゲット側両方で採取してください – (参考) Doc ID 1721554.1 既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106) 7. 遅延に関連する SQL を特定できている場合はその実行計画 – (参考) Doc ID 1734928.1 AWR から SQL 文の実行計画を抽出する方法(KROWN:120012) – AWR には Enterprise Edition で Diagnostic Pack オプションが別途必要です b) Database 観点で採取する資料 40
  • 41. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 8. 統合 Capture を使用している場合 – 遅延が発生している状態での以下のスクリプトの結果(5 分間隔で 3 回) • Doc ID 1448324.1 GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script 9. 統合 Replicat を使用している場合 – 遅延が発生している状態での以下のスクリプトの結果(5 分間隔で 3 回) • Doc ID 1448324.1 GoldenGate Integrated Capture and Integrated Replicat Healthcheck Script b) Database 観点で採取する資料 41
  • 42. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 1. ③ OS の資料 2. パフォーマンスに問題がある GoldenGate のプロセスの pstack (または同 等のコマンド) の出力(5 分間隔で 3 回ずつ) c) OS 観点で採取する資料 42
  • 43. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 c) OS 観点で採取する資料 43 <例> $ ps -efl | grep extract | grep -i e01 : 0 S gg112120 12289 12284 0 80 0 - 53596 hrtime 09:10 ? 00:00:01 /home/gg112120/gg/extract PARAMFILE /home/gg112120/gg/dirprm/e01.prm REPORTFILE /home/gg112120/gg/dirrpt/E01.rpt PROCESSID E01 USESUBDIRS : $ ps -efl | grep extract | grep -i p01 : 0 S gg112120 12290 12284 0 80 0 - 46624 hrtime 09:10 ? 00:00:04 /home/gg112120/gg/extract PARAMFILE /home/gg112120/gg/dirprm/p01.prm REPORTFILE /home/gg112120/gg/dirrpt/P01.rpt PROCESSID P01 USESUBDIRS : $ ps -efl | grep replicat | grep -i r01 : 0 S gg112120 12291 12284 0 80 0 - 62380 hrtime 09:10 ? 00:00:28 /home/gg112120/gg/replicat PARAMFILE /home/gg112120/gg/dirprm/r01.prm REPORTFILE /home/gg112120/gg/dirrpt/R01.rpt PROCESSID R01 USESUBDIRS : $ ps -efl | grep server | grep ggserr.log : 0 S gg112120 23525 23477 0 80 0 - 34280 poll_s 17:26 ? 00:00:00 ./server -w 300 -p 50141-50149 -m 50140 -k -l /home/gg112120/gg/ggserr.log <<<<< server は Collector です。 : $ pstack 12291
  • 44. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 遅延 3. パフォーマンスに問題がある GoldenGate のプロセスの OS のシステム コールのトレース(10 分程度) – プロセスがハングしたり CPU が高騰している場合採取してください – 大量にログが出力されるため慎重に採取してください c) OS 観点で採取する資料 44 <例> strace -o xxx.log -ftt -p <GoldenGate のプロセスの PID>
  • 45. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 • 以下のような障害発生時の採取情報をまとめています – ソース側で更新したデータがターゲット側で更新されていない – データの更新漏れによるエラーの発生 • ORA-1403 (対象のデータが存在しない) • ORA-1 (重複データが存在している) – ソース側でデータを更新したが、ターゲット側では別のデータに更新されている 45
  • 46. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 • 現存する Trail ファイルは全て保全します – PURGEOLDEXTRACTS で自動的に削除される対策です • 現存する Database のアーカイブログファイルは全て保全します a) 必要なファイルの保全 46
  • 47. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 • 以下の情報をヒアリングします • 問題の表をターゲット側で手動で編集したことがあるかどうか • 問題の表に対してターゲット側でトリガーを設定していないかどうか • 問題の表がパーティション表かどうか • 問題の表に CLOB、BLOB の列を持つかどうか • 不整合が発生したレコードの主キーの値が DISCARDFILE から特定できた場合は、 – {主キー = xxx}というデータから気づく点や独自の特徴はないかどうか – {主キー = xxx}というデータはソース側で INSERT 後に主キーを変更する UPDATE が行われるかどうか – {主キー = xxx}というデータはソース側でINSERT 後に DELETE されて再度同じ主キーで INSERT されるかどうか • ソース側とターゲット側の問題の表の初期同期は、いつ、どのような方法で行ったのか – 例:2014/11/18 12:00 に expdp/impdp で初期同期 b) 事象発生時の状況のヒアリング 47
  • 48. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 • ① OGG の資料 • ターゲット側の直近 5 つ程度の Trail ファイル c) GoldenGate 観点で採取する資料 48
  • 49. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 1. ② DBの資料 2. 問題の表および付随する索引の DDL 定義 – ソース側、ターゲット側両方で採取してください – (参考) Doc ID 1721554.1 既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106) d) Database 観点で採取する資料 49
  • 50. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 3. LogMiner の情報 – はじめに • 不整合に関連した SQL 文の調査のため、LogMiner を使用して REDOログ/アーカイブログファイル から SQL 文の情報を確認します – 注意点 • ソース側とターゲット側の両方で採取します • LogMiner は指定した期間の全ての REDO を読み込むため時間がかかります • LogMiner は全ての REDO を読み込むためデータベースに負荷がかかります d) Database 観点で採取する資料 50
  • 51. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 3. LogMiner の情報 – アクションプラン • LogMiner の情報により、不整合が発生したレコードが INSERT 後にどのような変遷をたどったのか を確認することができます • そして、その遷移が、ソース側とターゲット側でどのように異なるのかを確認することで調査を進め ることができます • LogMiner では調査対象の期間のアーカイブログを指定する必要があります • ただ、どの期間にソース側とターゲット側で差異ができて不整合が発生したかどうかを確認すること は容易ではありません • ユーザーにヒアリングして問題のレコードがどの期間に更新されたかどうかや疑いのある期間を確 認します • 期間が不明で特定できない場合は、まずは、問題発生 7 日程度前から問題発生時までの期間を 調査します d) Database 観点で採取する資料 51
  • 52. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 3. LogMiner の情報 ① LogMiner での調査対象の期間のアーカイブログを以下のように特定します (例) 2014-10-12 18:00 から 2014-11-11 00:45 を調査対象とする場合 d) Database 観点で採取する資料 52 SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'; SQL> select THREAD#, SEQUENCE#,NAME,FIRST_TIME,NEXT_CHANGE#,NEXT_TIME,RESETLOGS_CHANGE# from v$archived_log where FIRST_TIME between to_timestamp('14-10-12 18:00:00','YY-MM-DD HH24:MI:SS') and to_timestamp('14-11-11 00:45:00','YY-MM-DD HH24:MI:SS') order by THREAD#, SEQUENCE#;
  • 53. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2. 不整合 3. LogMiner の情報 ② ①で特定した全てのアーカイブログを以下のように DBMS_LOGMNR.ADD_LOGFILE に指定し、 下記のスプールファイルを採取します d) Database 観点で採取する資料 53 SQL> conn / as sysdba SQL> spool <任意のファイルパス> SQL> set lines 1000 pages 1000 echo on term on trimspool on time on SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'; SQL> select to_char(sysdate) start_time from dual; SQL> REM 上記で特定したアーカイブログをすべて指定します。 SQL> exec DBMS_LOGMNR.ADD_LOGFILE('<アーカイブログのフルパス>'); : SQL> exec DBMS_LOGMNR.ADD_LOGFILE('<アーカイブログのフルパス>'); SQL> exec DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG); SQL> SELECT operation, seg_owner, seg_name, table_name, username,to_char(timestamp,'YYYY/MM/DD HH24:MI:SS') timestamp,sql_redo FROM v$logmnr_contents WHERE seg_owner = '<問題のユーザ>' and table_name='<問題のテーブル>' and sql_redo like '%<主キーのデータなど>%'; SQL> spool off SQL> exit
  • 54. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 • 以下のような障害発生時の採取情報をまとめています – GoldenGate のプロセスが ABEND して停止している – GoldenGate のプロセスが CORE DUMP している – GoldenGate のプロセスがエラーを出力していないが止まってしまっている 54
  • 55. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 • Capture の場合 – ソース側の現存する Trail ファイルは全て保全します • PURGEOLDEXTRACTS で自動的に削除される対策です – ソース側の現存する Database のアーカイブログは全て保存します • Data Pump の場合 – ソース側の現存する Trail ファイルは全て保全します – ターゲット側の現存する Trail ファイルは全て保全します • PURGEOLDEXTRACTS で自動的に削除される対策です a) 必要なファイルの保全 55
  • 56. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 • Replicat の場合 – ターゲット側の現存する Trail ファイルは全て保全します • PURGEOLDEXTRACTS で自動的に削除される対策です a) 必要なファイルの保全 56
  • 57. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 1. ① OGG の資料 2. 直近 5 つ程度の Trail ファイル – Capture の場合はソース側のもの – Data Pump の場合はソース側とターゲット側両方のもの – Replicat の場合はターゲット側のもの b) GoldenGate 観点で採取する資料 57
  • 58. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 3. デバッグ情報 - アクティビティロギング – 事象に再現性がある場合に採取します – 採取方法は 4章の「デバッグ情報」を参照して下さい 4. スタックトレース – <GG_HOME> 下に core が出力されている場合に採取します – (参考) Doc ID 1702968.1 デバッガを使用したスタックトレースの採取方法(KROWN:13101) b) GoldenGate 観点で採取する資料 58
  • 59. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 b) GoldenGate 観点で採取する資料 59 <Capture、Data Pump の core のスタックトレースの採取例> ---------------------------------- $ cd /home/gg112120/gg $ file core.12289 -- core.12289: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'extract' -- $ ls -l core.12289 $ gdb /home/gg112120/gg/extract core.12289 (gdb) where (gdb) info reg (gdb) quit ----------------------------------
  • 60. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 b) GoldenGate 観点で採取する資料 60 <Replicat の core のスタックトレースの採取例> ---------------------------------- $ cd /home/gg112120/gg $ file core.12291 -- core.12291: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'replicat' -- $ ls -l core.12291 $ gdb /home/gg112120/gg/replicat core.12291 (gdb) where (gdb) info reg (gdb) quit ----------------------------------
  • 61. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 b) GoldenGate 観点で採取する資料 61 <Manager の core のスタックトレースの採取例> ---------------------------------- $ cd /home/gg112120/gg $ file core.12284 -- core.12284: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'mgr' -- $ ls -l core.12284 $ gdb /home/gg112120/gg/mgr core.12284 (gdb) where (gdb) info reg (gdb) quit ----------------------------------
  • 62. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 • ② DB の資料 • デバッグ情報 - SQL トレース – 事象に再現性がある場合に採取します – 採取方法は 4章の「デバッグ情報」を参照して下さい • 問題の表および付随する索引の DDL 定義 – 特定の表固有の問題であることが切り分けられた場合に採取します – (参考) Doc ID 1721554.1 既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106) c) Database 観点で採取する資料 62
  • 63. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 3. 異常停止 • ③ OS の資料 d) OS 観点で採取する資料 63
  • 64. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W • 以下のような障害発生時の採取情報をまとめています – ネットワークの障害に影響を受けて以下のような状況が発生している • レプリケーションの遅延・LAG の発生 • GoldenGate のプロセスの ABEND • GoldenGate のプロセスの起動失敗 64
  • 65. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W • 以下の情報をヒアリングします – 再現性がある場合はどのような状況で発生するのか – ソース側とターゲット側の間の経路にあるルーター、スイッチ、O/S 等に問題がなかったどうか – Firewall を設定しているかどうか – ソース側とターゲット側の Trail ファイルの格納場所 • 例:ローカルの ext3, NFS , ACFS , DBFS – N/W のパフォーマンスが劣化していると思われる場合は、ソースからターゲットに手動で Trail ファイル をコピーしても時間がかかるかどうか – ターゲット側の Trail ファイルの格納場所が NFS、ACFS、DBFS などの共有ファイルシステムで N/W の パフォーマンスが劣化していると思われる場合は、格納場所をローカルに変更してパフォーマンスに 変化があるかどうか a) 事象発生時の状況のヒアリング 65
  • 66. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W • Database は通常 GoldenGate の N/W に関与しませんので採取は必須では ありませんが、構成を確認する意味で有用になります • ② DB の資料 b) Database 観点で採取する資料 66
  • 67. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W 1. ③ OS の資料 2. OS の以下のファイル (または同等のファイル) – /etc/hosts – /etc/nsswitch.conf – /etc/resolv.conf c) OS 観点で採取する資料 67
  • 68. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W 3. 以下の OS コマンドの出力(ソース、ターゲットの両方) – hostname (または同等のコマンド) の情報 – netstat -in (または同等のコマンド) の情報 – ifconfig -a (または同等のコマンド) の情報 – ping -c 4 <通信先の IP アドレス> (または同等のコマンド) の情報 – ping -c 4 <通信先のホスト名> (または同等のコマンド) の情報 – traceroute<通信先の IP アドレス> (または同等のコマンド) の情報 – traceroute<通信先のホスト名> (または同等のコマンド) の情報 – nslookup <通信先の IP アドレス> (または同等のコマンド) の情報 – nslookup <通信先のホスト名> (または同等のコマンド) の情報 c) OS 観点で採取する資料 68
  • 69. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W c) OS 観点で採取する資料 69 <例> date hostname /bin/netstat -in /sbin/ifconfig -a /bin/ping -c 4 192.168.0.10 /bin/ping -c 4 host1 /bin/traceroute 192.168.0.10 /bin/traceroute host1 /usr/bin/nslookup 192.168.0.10 /usr/bin/nslookup host1
  • 70. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4. N/W 4. Data Pump、Collector の pstack (または同等のコマンド) – 5 分間隔で 3 回ずつ – 採取方法は、前述の [1. 遅延 c) OS観点で採取する資料] を参照 5. Data Pump、Collector の OS のシステムコールのトレース(10 分程度) – プロセスがハングしたり CPU が高騰している場合採取してください – 大量にログが出力されますので慎重に採取してください – 採取方法は、前述の [1. 遅延 c) OS観点で採取する資料] を参照 c) OS 観点で採取する資料 70
  • 71. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション • 以下のような障害発生時の採取情報をまとめています – DDL 文のレプリケーションで以下のような状況が発生している • ソース側で実行した DDL 文がターゲット側で実行されていない • ターゲット側で DDL 文実行時にエラーが発生している • DDL 文のレプリケーションが遅延している 71
  • 72. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション 1. ① OGG の資料 2. デバッグ情報 - アクティビティロギング – 事象に再現性がある場合に採取します – 採取方法は 4章の「デバッグ情報」を参照して下さい a) GoldenGate 観点で採取する資料 72
  • 73. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション 3. ggs_ddl_trace.log – ソース側に作成されます – Database のトレースファイルと同じディレクトリに出力されます • DB が 11g 未満の場合は user_dump_dest に出力されます • DB が 11g 以降の場合は以下のパスに出力されます。 – <diagnostic_dest>/diag/rdbms/<dbname>/<instname>/trace/ggs_ddl_trace.log – RAC 環境での注意事項 • ggs_ddl_trace.log の出力先は ddl_setup.sql 実行時の user_dump_dest を元に決定します • user_dump_dest はインスタンス毎にパスが異なるため、ddl_setup.sql を実行したインスタンスのuser_dump_dest に設定されているディレクトリを、他のノードでも作成する必要があります – ディレクトリが存在しない場合、そのノードにはファイルが作成されません • ggs_ddl_trace.log の出力先は変更できません a) GoldenGate 観点で採取する資料 73
  • 74. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション • (参考) DDL のデバッグ – GoldenGate のプロセスの動作を変更するものではありません – DDL のデバッグを有効/無効にするには GoldenGate のプロセスの再起動は不要です – 大量のログが ggs_ddl_trace.log に出力され負荷が発生するため、検証環境等で影響 を確認のうえで、慎重に設定します – 問題が発生して ggs_ddl_trace.log を採取できた場合、速やかに DDL のデバッグを 無効にします a) GoldenGate 観点で採取する資料 74
  • 75. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション • (参考) DDL のデバッグ – DDL のデバッグを有効にする代表的なケースは以下となります • サポートからの指示 • 検証環境 • 本番前のフェーズで負荷を気にする必要がない • 再現性が高く高頻度の確率で問題が発生する • 内部動作の確認 a) GoldenGate 観点で採取する資料 75 Oracle GoldenGate Oracle インストレーションおよびセットアップ・ ガイド リリース 11.2.1 http://docs.oracle.com/cd/E35586_01/doc.1121/b70206.pdf p.7-32 7.21 DDL トリガーのトレース ddl_tracelevel スクリプト: このスクリプトを編集して実行し、トレース・レベルを設定します。 値 None では、致命的エラーとイン ストール・ログ以外、DDL トレースは生成されません。 デフォルト値の 0 では、最小限のトレース情報が生成されます。 値 1 または 2 では、トレース・ファイルに多くの情報が生成されます。 サポート・ケースの一環として Oracle GoldenGate テクニカル・サポート のアナリストから求められないかぎり、1 または 2 は使用しないでください。
  • 76. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション • (参考) DDL のデバッグ a) GoldenGate 観点で採取する資料 76 <有効化の方法の例> $ cd <GG_HOME> $ sqlplus / as sysdba SQL> @ddl_tracelevel : Enter GoldenGate schema name (read above first):gguser <-- ★ GoldenGate ユーザ Please enter trace level:2 <-- ★ 2 を設定 : <無効化の方法の例> $ cd <GG_HOME> $ sqlplus / as sysdba SQL> @ddl_tracelevel : Enter GoldenGate schema name (read above first):gguser <-- ★ GoldenGate ユーザ Please enter trace level:2 <-- ★ 0 を設定 :
  • 77. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5. DDL レプリケーション • ② DB の資料 b) Database 観点で採取する資料 77
  • 78. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 6. サプリメンタルロギング • 以下のような障害発生時の採取情報をまとめています – サプリメンタルロギングの設定に失敗する – サプリメンタルロギングを設定したはずが解除されてしまっている 78
  • 79. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 6. サプリメンタルロギング • ① OGG の資料 • 以下の GGSCI のコマンドの出力 – shell date – dblogin userid <GoldenGate ユーザ>, password <GoldenGate ユーザのパスワード> – info trandata <問題のユーザ>.* – info schematrandata <問題のユーザ> – capture tabledefs <問題のユーザ>.* a) GoldenGate 観点で採取する資料 79 <例> shell date dblogin userid gguser, password gguser info trandata SCOTT.* info schematrandata SCOTT capture tabledefs SCOTT.*
  • 80. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 6. サプリメンタルロギング 1. ② DB の資料 2. 問題の表を特定できている場合、その表および付随する索引の DDL 定義 – (参考) Doc ID 1721554.1 既存の表・索引・表領域のDDL文を作成する方法 (DBMS_METADATA.GET_DDL)(KROWN:63106) b) Database 観点で採取する資料 80
  • 81. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 6. サプリメンタルロギング 3. いずれかのインスタンスの問題のユーザの全てのテーブルの以下の結果 – SELECT * FROM TABLE(LOGMNR$ALWAYS_SUPLOG_COLUMNS('<問題のユーザ>', ' <問題のユーザのテーブル>')); • テーブルは以下のような SQL で取得します。 – SELECT OWNER, TABLE_NAME FROM DBA_TABLES WHERE OWNER = 'SCOTT'; b) Database 観点で採取する資料 81 <例> SELECT OWNER, TABLE_NAME FROM DBA_TABLES WHERE OWNER = 'SCOTT'; SELECT * FROM TABLE(LOGMNR$ALWAYS_SUPLOG_COLUMNS('SCOTT', 'EMP')); : SELECT * FROM TABLE(LOGMNR$ALWAYS_SUPLOG_COLUMNS('SCOTT', 'DEPT'));
  • 82. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 6. サプリメンタルロギング 4. いずれかのインスタンスの以下のスプールファイル b) Database 観点で採取する資料 82 spool <任意のファイルパス> set lines 1000 pages 1000 trimspool on time on echo on; alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'; select to_char(sysdate) start_time from dual; select * from v$database; select * from dba_objects where owner ='<問題のユーザ>'; select * from DBA_LOG_GROUPS where owner ='<問題のユーザ>'; select owner, log_group_name, table_name, COLUMN_NAME, POSITION from DBA_LOG_GROUP_COLUMNS where owner ='<問題のユーザ>' order by log_group_name, POSITION; select * from LOGMNR$SCHEMA_ALLKEY_SUPLOG; select * from DBA_CAPTURE_PREPARED_SCHEMAS; SELECT * FROM DBA_GOLDENGATE_PRIVILEGES; spool off
  • 83. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク • 以下のような障害発生時の採取情報をまとめています – GoldenGate のプロセスのメモリ使用量が増加している 83
  • 84. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク 1. ① OGG の資料 2. デバッグ情報 - アクティビティロギング – 事象に再現性がある場合に採取します – 採取方法は 4章の「デバッグ情報」を参照して下さい 3. プロセス毎の情報 – Capture, Data Pump, Replicat のうち、遅延しているプロセスを対象に次のスライド 以降の情報を採取して下さい a) GoldenGate 観点で採取する資料 84
  • 85. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク 3-1. Capture でメモリリークが発生している場合 – 以下の GGSCI のコマンドの出力を N 分間隔で3 回ずつ取得して下さい • shell date • SEND EXTRACT <group>, SHOWTRANS • SEND EXTRACT <group>, LOGSTATS • SEND EXTRACT <group>, CACHEMGR CACHESTATS • SEND EXTRACT <group>, CACHEMGR CACHEQUEUES • SEND EXTRACT <group>, CACHEMGR CACHEPOOL • INFO EXTRACT <group>, SHOWCH • SEND EXTRACT <group>, GETLAG • SEND EXTRACT <group>, REPORT ※ N はメモリリークを観測できる間隔を指定します たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります a) GoldenGate 観点で採取する資料 85
  • 86. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク 3-2. Data Pumpでメモリリークが発生している場合 – 以下の GGSCI のコマンドの出力を N 分間隔で 3 回ずつ取得して下さい • shell date • INFO EXTRACT <group>, SHOWCH • SEND EXTRACT <group>, GETLAG • SEND EXTRACT <group>, GETTCPSTATS • SEND EXTRACT <group>, REPORT ※ N はメモリリークを観測できる間隔を指定します たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります a) GoldenGate 観点で採取する資料 86
  • 87. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク 3-3. Replicatでメモリリークが発生している場合 – 以下の GGSCI のコマンドの出力を N 分間隔で 3 回ずつ取得して下さい • shell date • INFO REPLICAT <group>, SHOWCH • SEND REPLICAT <group>, GETLAG • SEND REPLICAT <group>, REPORT ※ N はメモリリークを観測できる間隔を指定します たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります a) GoldenGate 観点で採取する資料 87
  • 88. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク • ② DB の資料 b) Database 観点で採取する資料 88
  • 89. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク • ③ OS の資料 • 問題がある GoldenGate のプロセスへの以下の OS コマンドの出力 – 以下の GGSCI のコマンドの出力を N 分間隔で 3 回ずつ取得して下さい • cat /proc/meminfo (または同等のコマンド) • ps alx --sort -rss (または同等のコマンド) • pmap -d <GoldenGate のプロセスの PID> (または同等のコマンド) • pmap -x <GoldenGate のプロセスの PID> (または同等のコマンド) • pstack <GoldenGate のプロセスの PID> (または同等のコマンド) ※ N はメモリリークを観測できる間隔を指定します たとえば 30 分に 10 MB のメモリリークを観測できる場合は N は 30 分になります c) OS 観点で採取する資料 89
  • 90. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. メモリリーク c) OS 観点で採取する資料 90 <例> $ date $ cat /proc/meminfo $ ps alx --sort -rss $ pmap -d 12291 $ pmap -x 12291 $ pstack 12291
  • 91. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8. jagent • 以下のような障害発生時の採取情報をまとめています – jagent でエラーが発生している – jagent の起動に失敗する – jagent の処理がハングまたはスピンしている 91
  • 92. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8. jagent • ① OGG の資料 • 以下の GoldenGate の資料 – <GG_HOME>/jagent.log – <GG_HOME>/cfg • Java のバージョン a) GoldenGate 観点で採取する資料 92 <例> $JAVA_HOME/bin/java -version
  • 93. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8. jagent • ② DB の資料 b) Database 観点で採取する資料 93
  • 94. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8. jagent • ③ OS の資料 • ハング、スピン、処理が進まない問題の場合は jstack の情報 – 5 分間隔で 3 回ずつ c) OS 観点で採取する資料 94 <例> $ ps -efl | grep java | grep jagent : 0 S moni1110 25864 25788 4 80 0 - 215281 futex_ 18:22 ? 00:00:05 java -jar -Xms64m -Xmx512m dirjar/jagent.jar : $ $JAVA_HOME/bin/jstack 25864
  • 95. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジェンダ はじめに 基本資料 ケース別資料 デバッグ情報 まとめ 95 3 4 5 1 2
  • 96. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | デバッグ情報 • 以下の GoldenGate のデバッグ情報を紹介します – アクティビティロギング • GoldenGate のプロセスの動作の詳細をログに出力させます – SQL トレース • GoldenGate のプロセスが発行する全ての SQL を SQL トレースとして出力させます 96
  • 97. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アクティビティロギング • アクティビティロギングについて – GoldenGate のプロセスの動作を変更するものではありません – 有効/無効にするには GoldenGate のプロセスの再起動が必要です – 大量にログが出力され負荷が発生します • 検証環境等で影響を確認のうえで、慎重に設定して下さい – ログファイル • <GG_HOME> 下に gglog-<group 名>.log、gglog-<group 名>.log.1 ... gglog-<group 名>.log.20 のようなログファイルが生成されます • ABEND した場合は gglog-<group 名>.dmp というファイルも生成されます • 自動的にローテーションするため、ログファイルの合計サイズは一定量に保たれます – 必要なファイルはローテーションされる前に速やかに採取して下さい 97
  • 98. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アクティビティロギング • アクティビティロギングについて – 問題が発生しログファイルを採取後、速やかにアクティビティロギングを無効にします – アクティビティロギングを設定する代表的なケースは以下となります • サポートからの指示 • 検証環境 • 本番前のフェーズで負荷を気にする必要がない • GoldenGate のプロセスを起動後に必ず問題が発生する • 再現性が高く高頻度の確率で問題が発生する • 内部動作の確認 – (参考) Doc ID 1204284.1 OGG v11.1.1.0 Activity Logging tracing Activity Trace 98
  • 99. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アクティビティロギング • 設定例 99 <E01 という Capture にアクティビティロギングを設定する例> アクティビティロギングを設定して現象の再現を確認後、後述の情報を取得します 手順は以下となります。 ※ ログが大量に出力されることで負荷が増大します ※ ログは最大で 4000 MB 程度出力されますが、ローテーションするためそれ以上 は増大しません。 1) E01 を停止します。
  • 100. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アクティビティロギング 100 2) 以下の gglog-E01.xml という名前のファイルを <GG_HOME> 下に作成します。 =========================== <?xml version="1.0" ?> <configuration reset="true"> <appender name="traceini" class="RollingFileAppender"> <param name="BufferedIO" value="false" /> <param name="Append" value="true" /> <param name="File" value="gglog-%I.log" /> <param name="MaxBackupIndex" value="20" /> ★ ★ ★ 何世代でローテーションするか。変更可能。 <param name="MaxFileSize" value="200MB" /> ★ ★ ★ ログファイルのサイズ。変更可能。 <layout class="PatternLayout"> <param name="Pattern" value="%d{%m/%d %H:%M:%S} [%C{1}:%L] %m%n" /> </layout> </appender> <logger name="gglog.std"> <level value="all" /> <appender-ref name="traceini" /> </logger> <logger name="gglog.std.utility"> <level value="off" /> <appender-ref name="traceini" /> </logger> </configuration> ===========================
  • 101. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アクティビティロギング 101 3) E01 を開始します。 ※ <GG_HOME> 下に gglog-E01.log、gglog-E01.log.1 ... gglog-E01.log.20、 という各 200 MB のファイルにローテーションでログが出力されます。 4) 問題の発生を確認します。 5) E01 を停止します。 6) アクティビティロギングを停止するために上記 2) の gglog-E01.xml を削除 します。 7) 以下の情報をご提供いただけるでしょうか。 - <GG_HOME>/gglog-E01.log、gglog-E01.log.1 ... gglog-E01.log.20 - <GG_HOME>/*.dmp ※ 出力されない場合もあります。 ※ ローテーションの世代、ログファイルのサイズは任意に変更可能です。 ※ gglog-E01.xml の E01 は GoldenGate の group 名にあわせて変更します。 Collector の場合は gglog-server.xml というファイルになります。
  • 102. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SQLトレース • SQL トレースについて – GoldenGate のプロセスの動作を変更するものではありません – GoldenGate のプロセスが発行する全ての SQL を SQL トレースとして出力させます – 有効/無効にするには GoldenGate のプロセスの再起動が必要です – 大量にログが出力され負荷が発生します • 検証環境等で影響を確認のうえで、慎重に設定して下さい – Database のトレースファイルに情報が出力されます – 問題が発生しトレースファイルを採取後、速やかに SQL トレースを無効にします 102
  • 103. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SQLトレース – SQL トレースを設定する代表的なケースは以下となります • サポートからの指示 • 検証環境 • 本番前のフェーズで負荷を気にする必要がない • GoldenGate のプロセスを起動後に必ず問題が発生する • 再現性が高く高頻度の確率で問題が発生する • 内部動作の確認 103
  • 104. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SQLトレース • 設定例 104 <E01 という Capture に SQL トレースを設定する例> SQL トレースを設定して、設定して現象の再現を確認後、後述の情報を取得します 手順は以下となります。 ※ ログが大量に出力されますので負荷が増大します。 1) E01 を停止します。
  • 105. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SQLトレース 105 2) E01 のパラメータに以下の ★★★ を追加します。 =========================== EXTRACT e01 SETENV (ORACLE_HOME=/home/ora11204/app/oracle/product) SETENV (ORACLE_SID=gg112113) userid gguser , password gguser sqlexec "alter session set tracefile_identifier='OGG_debug'" ★★★ sqlexec "alter session set events '10046 trace name context forever, level 4'" ★★★ EXTTRAIL /home/gg112113/gg/dirdat/mm .... ===========================
  • 106. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SQLトレース 106 3) E01 を開始します。 4) 問題の発生を確認します。 5) E01 を停止します。 6) SQL トレースを停止するために上記 2) で追加したパラメータを削除します。 7) 以下の情報をご提供いただけるでしょうか。 - OGG_debug という名前を含む Database のトレースファイル ※ Capture 以外にも、 Data Pump 、Replicat に設定可能です。
  • 107. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SQLトレース • その他 – sqlexec には、SQL トレース以外の ALTER SESSION 文を設定可能です – 例えば以下のような設定を行い、 GoldenGate のプロセスの Database 上の パラメータをセッションレベルで変更することができます 107 =========================== EXTRACT e01 SETENV (ORACLE_HOME=/home/ora11204/app/oracle/product) SETENV (ORACLE_SID=gg112113) userid gguser , password gguser sqlexec "alter session set CURSOR_SHARING = force" EXTTRAIL /home/gg112113/gg/dirdat/mm .... ===========================
  • 108. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジェンダ はじめに 基本資料 ケース別資料 デバッグ情報 まとめ 108 3 4 5 1 2
  • 109. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | まとめ • 本資料で紹介した資料を初期段階で採取いただくことで、SR 発行での資 料の受け渡しの回数を減らすことでき、解決までの期間を短縮できます。 • 本資料で紹介した資料を運用上の都合などで全て採取できない場合は、 採取可能なものをできるだけ採取します。 • 本資料で紹介した資料は、トラブル時に初見でスムーズに採取するのは なかなか困難です。平常時にひととおり採取してみて慣れておくことが大 切です。 • 本資料で紹介した資料は、検証時に GoldenGate の内部動作を確認する 場合や、現状の GoldenGate の構成を確認する場合にも役立ちます。 109
  • 110. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Document Control Author 日本オラクル株式会社 • 正木 能長 Reviewer 日本オラクル株式会社 • 谷川 信朗 • 後藤 陽介 • 南野 英梨子 • 浅井 純 • 小西 亮輔 • 別府 真由美 • 植田 智広 • 舟橋 直美 110 変更履歴 Date Version 2015/4 1.0 Created. 2015/8 1.1 Monitor11.2の記載追加 2015/9 1.2 テンプレート変更 2016/2 1.3 先頭スライド削除
  • 111. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
  • 112. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 112