D Oracle Databaseについてのトランザクション・ログ監査データ収集
Oracle DatabaseターゲットのREDOログ・パラメータを設定して、監査データ収集を微調整できます。
D.1 Oracle GoldenGateを使用したOracle Databaseトランザクション・ログ監査証跡の概要
Oracle GoldenGateを使用したREDOログ設定からの推奨される収集について学習します。
トランザクション・ログとも呼ばれるREDOログ・ファイルは、データベースで発生したすべてのトランザクションのログを保持するために、Oracle Databaseによって使用されるファイルです。この章では、TRANSACTION LOG監査証跡タイプを使用してOracle DatabaseターゲットのREDOログから監査データを収集するための初期化パラメータの設定に関する推奨事項について説明します。
これらのログ・ファイルを使用すると、障害発生時にOracle Databaseでデータベースに加えられた変更をリカバリできます。たとえば、ユーザーが従業員関連のデータを含む表で給与の値を更新すると、REDOレコードが生成されます。これには、この変更前の値(古い値)と変更後の新しい値が含まれます。REDOレコードは、クラッシュ時またはハードウェア障害時にACID (原子性、一貫性、独立性および永続性)のプロパティを保証するために使用されます。データベースがクラッシュした場合、データベース・データを最後のREDOレコードが書き込まれた時点の状態に戻す、データ・ファイルのすべての変更のREDO (再処理)が実行されます。
REDOログ・レコードには、DML (データ操作言語)およびDDL (データ定義言語)の各操作の前後の値が含まれます。Oracle Audit Vault and Database Firewallでは、トランザクション・ログ・コレクタを使用して、REDOログからの変更された値を監視できます。
トランザクション・ログ・コレクタは、Oracle GoldenGateの統合Extractプロセスを利用して、REDOログ・データをデータベースからXMLファイルに移動します。抽出プロセスは、ソース・データベースに対して実行するように構成されているか、ダウンストリーム・マイニング・データベース(Oracleのみ)で実行するように構成されています。構成済のオブジェクトに対して実行されるDML操作とDDL操作を取得します。トランザクション・ログから取得された操作は、GoldenGate XML証跡ファイルに転送されます。Oracle AVDFのトランザクション・ログ・コレクタは、生成されたXMLファイルからトランザクション・ログのレコードを収集します。こうしたログはAudit Vault Serverに転送され、変更の前と変更された後の値が「データ変更前後の値」レポートに示されます。DDLの変更は、「すべてのアクティビティ・レポート」で確認できます。DMLの変更は、「データ変更前後の値のレポート」で確認できます。
Oracle AVDF 20.10以降、「データ変更前後の値」レポートにはキー列に関する追加情報が含まれています。デフォルトでは、GoldenGateは表の主キー列をキー列として使用します。表に主キーが定義されていない場合や、別の列をキー列として使用する場合は、GoldenGateのパラメータ・ファイルでキー列を指定するオプションを使用できます。
関連項目:
REDOログから監査データを収集するための権限をOracle Databaseで設定する手順は、Oracle Databaseの設定スクリプトを参照してください。
D.2 サイズ設定のガイドライン
このトピックで説明されているサイズ設定のガイドラインを確認してそれに従います。
前提条件
Oracle GoldenGateのドキュメントの「システム要件とオペレーティング・システム要件」に記載されているシステムおよびサイズ設定の要件に従います。
一般的なサイズ設定のガイドライン
- メモリーおよびCPUの一般的な推奨事項は、マルチ・スレッド・プロセスであり、大規模トランザクションを処理するときに大規模メモリーを使用するため、統合Extractごとに32Gのメモリーと2つのCPUを使用して開始することです。トランザクション量およびトランザクション・パターンに応じて、Oracle GoldenGateのドキュメントのガイドラインに従ってリソースを適切にスケール・アップします。
- ディスク領域の一般的な推奨事項は、2Tで開始することですが、ソース・データベースから統合Extractが取得するデータ量に応じて異なります。Extractでは、処理するためにバッファするトランザクションが大きい場合、証跡ファイルにストレージを、キャッシュ・ファイルに一時ディスク領域を使用します。
ガイドラインで参照される計算式には、複数のデータベース・ディクショナリ・ビューがあります。これらによって、トランザクション・ログのサイズに関する情報が提供されます。たとえば、v$log
によって、各オンライン・ログの詳細情報が示されます。同様に、v$log_history/gv$log_history
から1日当たりのログ・スイッチの数を見積ることができます。
大規模トランザクションのための一時ディスク領域の要件によって、キャッシュが一杯になり、トランザクションでキャッシュされたデータまたは一時ファイルにオーバーフローする場合があります。アーカイブ・ポリシーを構成し、ファイルの保存期間を定義して、適宜リサイクルできるようにします。
大規模トランザクションを処理するために十分な物理メモリーを維持します。ガイドラインに従って、Extractで使用できるメモリーは32 GB以上にします。より正確な見積りを行うには、データベース・サーバーの実行履歴から統計を収集し、最大のトランザクションのサイズを確認します。Oracle GoldenGateでは、トランザクションの統計を表示するsend <extract> cachemgr, cachestats
コマンドが用意されており、これは見積りのベースラインを特定するのに役立ちます。
一般的に、Oracle GoldenGate統合Extractプロセスのサイズ設定、ストレージおよびメモリーは、トランザクション量とトランザクション・パターンに大きく依存します。標準値がないため、すべての単一データベース・サーバーからこれらの統計を収集して見積ります。
単一のGoldenGateインスタンスまたは統合Extractプロセスでサポートできるデータベースの数は、複数の抽出をサポートするシステム・リソースによって異なります。すべてのデータベースに対して1つの抽出を構成してください。
D.3 Oracle GoldenGateの制限付き使用ライセンス
Oracle GoldenGateの制限付きライセンスについて学習します。
Oracle GoldenGateの制限付き使用ライセンスは、Oracle Audit Vault and Database Firewallリリース20に付属しています。このライセンスでは、Oracle GoldenGateをインストールして、Oracle AVDFによって監視されるデータベース・システムのトランザクションの変更を取得するために統合Extractプロセスを使用できます。Oracle GoldenGateから抽出されたデータはOracle AVDFによってのみ消費されます。Oracle GoldenGate Microservices Architectureは、Oracle AVDFアプライアンスがデプロイされているサーバー以外の個別のサーバーにデプロイします。後で、Oracle GoldenGateの統合Extract機能を構成します。Oracle GoldenGateバージョン19.1.0.0.4は、Oracle Audit Vault and Database Firewall 20.9以前でサポートされる最小バージョンです。また、Oracle GoldenGate 21.9.0.0.0は、Oracle Audit Vault and Database Firewall 20.10以降でサポートされる最小バージョンです。12.2より前のOracle Databasesをサポートするには、ダウンストリーム・マイニングを構成する必要があります。これには、Oracle Database Enterprise Editionのデプロイメントが必要で、別途ライセンスが必要です。
D.4 Oracle GoldenGateのOracle Databaseへのインストール
Oracle DatabaseのためのOracle GoldenGateをインストールするには、次の手順を実行します。
Oracle GoldenGateは、Oracle AVDFアプライアンスがデプロイされているサーバー以外の別個のサーバーにデプロイします。その後で、Oracle GoldenGate統合Extract機能を構成します。
Oracle AVDF 20.9以前
Oracle Software Delivery Cloudから、Oracle GoldenGate 19.1.0.0.0 Microservices Architectureをダウンロードしてインストールします。
Oracle GoldenGate 19cドキュメントに記載された、「Oracle DatabaseのためのOracle GoldenGateのインストール」の手順を実行します。Oracle GoldenGateのインストール後に、My Oracle SupportからOracle GoldenGate 19.1.0.0.4 Microservices Architectureのパッチを適用します。
ノート:
Oracle GoldenGateのインストール後、Oracleサポートに連絡して、パッチ32175609
、32063871
、33701099
および34014874
を適用するためのマージ・ラベル・リクエストを作成します。このパッチは、Oracle GoldenGateのインストールに適用する必要があります。
Oracle AVDF 20.10以降
My Oracle Supportから、Oracle GoldenGate 21.9.0.0.0 Microservices Architectureをダウンロードしてインストールします(パッチ34958369完全インストール)。
Oracle GoldenGate 21cのOracle GoldenGate Microservicesドキュメントに記載された、「Oracle GoldenGateのインストール」の手順を実行します。
D.5 Oracle Database 12.2.0.1以降からのトランザクション・ログ・データの取得
Oracle Databaseバージョン12.2.0.1以降からトランザクション・ログ・データを取得する方法を学習します。
Oracle GoldenGate統合Extractプロセスは、Oracle Databaseバージョン12.2.0.1以降でのみサポートされます。この場合、Oracle GoldenGate統合Extractはソース・データベースで構成されます。Oracle Database 12.2.0.1以降からトランザクション・ログ・データを取得するには、次の項のステップを同じ順序で実行します。
D.6 12.2.0.1より前のOracle Databaseからトランザクション・ログ・データを取得するダウンストリーム・マイニング
12.2.0.1より前のバージョンのOracle Databaseからトランザクション・ログ・データを取得する方法を学習します。
Oracle GoldenGate統合Extractプロセスは、Oracle Databaseバージョン12.2.0.1以降でのみサポートされます。この場合、Oracle GoldenGate統合Extractはソース・データベースで構成されます。
12.2.0.1より前のバージョンのOracle Databaseからのトランザクション・ログ・データを取得するには、ダウンストリーム・マイニングを使用する必要があります。この場合、ソース・データベースとダウンストリーム・マイニング・データベースの2つのデータベースがあります。ソース・データベース(12.2.0.1より前のOracle Database)は、オンラインREDOログをダウンストリーム・データベース(Oracle Databaseバージョン12.2.0.1以降)に配布するように構成されます。次に、統合Extractがダウンストリーム・データベース上に構成されます。
ノート:
-
ダウンストリーム・マイニングを構成する前に、ソース・データベースとダウンストリーム・マイニング・データベースの両方で、ユーザーの作成および関連する権限の付与およびOracle Database用のOracle GoldenGateパラメータの構成の項のステップを実行します。
-
データストリーム・マイニングを構成します(「GoldenGateダウンストリーム・マイニングの構成」の項を参照)。
D.7 Oracle AVDF 12.2から20へのトランザクション・ログ監査証跡の移行
Oracle AVDF 12.2から20にトランザクション・ログ監査証跡を移行する方法を学習します。
トランザクション・ログ監査証跡は、Oracle AVDF 12.2から20に移行できます。Oracle AVDF 20にアップグレードする前に、次の手順を実行します。
- Oracle GoldenGateをインストールしてデプロイします。
-
Oracle AVDF 12.2で、すべてのトランザクション・ログ監査証跡に対して次の手順を実行します。
- Oracle AVDF 12.2のトランザクション・ログ監査証跡が、Oracleソース・データベースで実行されていることを確認します。Oracle Goldengate統合Extractを作成します。Oracleソース・データベースが12.2.0.1よりも前の場合は、ダウンストリーム・マイニングを構成して、ダウンストリーム・マイニング・データベースの統合Extractを作成します。Oracleソース・データベースがバージョン12.2.0.1以降の場合は、そのソース・データベースの統合Extractを作成します。
- ソース・データベース・インスタンスごとに、一意の場所に統合Extract XMLファイルを構成します。
- 統合Extractの作成後に5分間待機して、正常に実行されていることを確認します。統合Extractが失敗した場合は、「レポート」タブでログを調べて、問題を修正します。
- 統合Extractが正常に実行されていることを確認してから、DDL/DML文が実行されるまで待機します。XMLデータが統合Extractファイルに含まれていることを確認します。
- 12.2のトランザクション・ログ監査証跡を停止します。Oracle AVDF 12.2のトランザクション・ログ監査証跡を停止するまでの短時間、GoldenGate統合ExtractとOracle AVDF 12.2の両方のトランザクション・ログ監査証跡が同時に実行されます。そのため、この短い期間にのみ重複レコードが現れます。この短期間に観測された重複レコードは、安全に無視してください。
- ここに示したステップが、すべての12.2トランザクション・ログ監査証跡に対して正常に実行されたことを確認します。
- 現在のOracle AVDFのバージョンが12.2.0.9.0より前の場合は、まず、12.2.0.9.0にアップグレードしてから、Oracle AVDF 20にアップグレードします。
-
Oracle AVDF 20にアップグレードしたら、トランザクション・ログ監査証跡があるターゲット・データベースごとに、次のステップを実行します。
- 古いトランザクション・ログ監査証跡を削除します。
- 新しいトランザクション・ログ監査証跡を作成します。
- 証跡の場所が、統合Extract XMLファイルを格納しているディレクトリのフルパスであることを確認します。
D.8 ユーザーの作成および関連する権限の付与
ユーザーを作成し、必要な権限を付与する方法を学習します。
データベースのタイプに応じて新規ユーザーを作成します。
-
スタンドアロン・データベースの場合は、新規ユーザーを作成し、関連する権限をそのユーザーに付与します。この新しいユーザーは、Oracle GoldenGate統合Extractを使用してOracle DatabaseからREDOログ・データをフェッチできます。
-
マルチテナント・データベースの場合は、CDBで新規ユーザーを作成し、関連する権限をそのユーザーに付与します。この新しいCDBユーザーは、Oracle GoldenGate統合Extractを使用してOracle Databaseの個々のPDBからREDOログ・データをフェッチできます。
スタンドアロン・データベースの場合は、次の手順に従います。
- sysdbaでデータベースにログインします。
-
次のコマンドを実行して、サンプル・ユーザーavggadminを作成します。
create user avggadmin identified by avggadmin;
-
次のコマンドを実行して、新しく作成したユーザーに権限を付与します。
grant create session, resource, alter system to avggadmin;
grant unlimited tablespace to avggadmin;
-
次のコマンドを実行して、GoldenGateのadmin権限をサンプル・ユーザーavggadminに付与します。
begin DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE( 'avggadmin', '*', TRUE, TRUE, NULL, NULL, NULL, 'CURRENT'); end; /
マルチテナント・データベースの場合は、次の手順に従います。
D.9 Oracle Database用のOracle GoldenGateパラメータの構成
この手順に従って、Oracle Database用のOracle GoldenGateパラメータを構成します。
D.11 Oracle GoldenGate管理サーバーでの新しい統合Extractの作成
この手順に従って、Oracle GoldenGate管理サーバーでターゲット・データベース用の新しい統合Extractを作成します。
D.12 LogMinerディクショナリの定期的なバックアップ
LogMinerディクショナリのバックアップを作成するタイミングを学習します。
Oracle GoldenGateでは、LogMinerディクショナリの定期的なバックアップ(おそらく毎日)をお薦めします。これは、LogMinerディクショナリをREDOログ・ファイルに抽出することで実行できます。データベース・ジョブを作成して、定期的なバックアップを実行できます。
D.13 サンプルのOracle GoldenGate統合Extractパラメータ・ファイル
これらのOracle GoldenGate統合Extractパラメータ・ファイルをサンプルとして使用します。
一部の表を除くスキーマのDMLおよびDDLの監査
次のパラメータ・ファイルでは、次のものを取得するように統合Extractを構成します:
accounts
スキーマ内のオブジェクトを除く、すべてのオブジェクトに対するDDL操作scott
スキーマ内のemp
表を除く、scott
スキーマ内のすべての表に対するDML操作
extract <extract_name>
useridalias <credential_userid_alias> domain <credential_domain>
OUTPUTFORMAT XML _AUDIT_VAULT
exttrail <sub_directory>/<trail_name>
SOURCECATALOG cdb1_pdb1
DDL INCLUDE ALL, EXCLUDE OBJNAME accounts.*
TABLE scott.*;
TABLEEXCLUDE scott.emp
スキーマのすべてのDMLおよびDDLの監査
次のパラメータ・ファイルでは、次のものを取得するように統合Extractを構成します:
scott
スキーマ内のすべてのオブジェクトに対するDDL操作scott
スキーマ内のすべての表に対するDML操作
extract <extract_name>
useridalias <credential_userid_alias> domain <credential_domain>
OUTPUTFORMAT XML _AUDIT_VAULT
exttrail <sub_directory>/<trail_name>
SOURCECATALOG cdb1_pdb1
DDL INCLUDE OBJNAME scott.*
TABLE scott.*;
スキーマのDDLのみの監査
次のパラメータ・ファイルでは、scott
スキーマ内のすべてのオブジェクトに対するDDL操作を取得する統合Extractを構成します。
extract <extract_name>
useridalias <credential_userid_alias> domain <credential_domain>
OUTPUTFORMAT XML _AUDIT_VAULT
exttrail <sub_directory>/<trail_name>
SOURCECATALOG cdb1_pdb1
DDL INCLUDE OBJNAME scott.*
スキーマのDMLのみの監査
次のパラメータ・ファイルでは、scott
スキーマ内のすべての表に対するDML操作を取得する統合Extractを構成します。
extract <extract_name>
useridalias <credential_userid_alias> domain <credential_domain>
OUTPUTFORMAT XML _AUDIT_VAULT
exttrail <sub_directory>/<trail_name>
SOURCECATALOG cdb1_pdb1
TABLE scott.*;
すべてのスキーマのすべてのDDLの監査
次のパラメータ・ファイルでは、すべてのオブジェクトに対するDDL操作を取得する統合Extractを構成します。
extract <extract_name>
useridalias <credential_userid_alias> domain <credential_domain>
OUTPUTFORMAT XML _AUDIT_VAULT
exttrail <sub_directory>/<trail_name>
SOURCECATALOG cdb1_pdb1
DDL INCLUDE ALL
表のDMLを監査して、キー列として使用する列を設定します
次のパラメータ・ファイルは、統合Extractが次の操作を実行するように構成します:
scott
スキーマ内のemp
表に対するDML操作の取得empno
とename
のキー列としての設定
extract <extract_name>
useridalias <credential_userid_alias> domain <credential_domain>
OUTPUTFORMAT XML _AUDIT_VAULT
exttrail <sub_directory>/<trail_name>
SOURCECATALOG cdb1_pdb1
TABLE scott.emp, KEYCOLS (empno, ename);
関連トピック
D.14 Audit Vaultコンソールでの監査証跡の作成
監査証跡を作成する前に必須のターゲット属性を作成する方法を学習します。
監査証跡の作成前に、Audit Vault ServerコンソールのOracle Databaseターゲットで、必須のターゲット属性AV.COLLECTOR.TIMEZONEOFFSET
が設定されるようにします。この属性は、Oracle Databaseのタイムゾーン・オフセットに設定する必要があります。たとえば、正のオフセットは+03:00
、負のオフセットは-03:00
です。
次の詳細またはガイドラインを指定して、監査証跡を作成します。
- 証跡のタイプ: TRANSACTION LOG
- 証跡の場所: 統合ExtractのXMLファイルを含むディレクトリのフルパス
- エージェントは、証跡の場所にアクセスできるホスト・マシン上で実行されている必要があります
- エージェント・ユーザーには証跡の場所に対する読取り権限が必要です
D.15 監査証跡のクリーンアップ
Audit Vault Agentに読み取られたファイルを削除する方法を学習します。
Oracle GoldenGate Collectorは、チェックポイント情報を監査証跡のクリーンアップ(ATC)ファイルに書き込みます。このファイルは、<Agent_Home>/av/atc
ディレクトリにあります。ATCファイルには、ターゲット・タイプ、ターゲット名、証跡のタイプ、証跡ディレクトリおよびチェックポイント・タイムスタンプの情報が含まれます。ATCファイルの拡張子は.atc
です。チェックポイント・タイムスタンプより前のイベント・タイムスタンプを持つすべてのレコードは、Audit Vault Agentによって読み取られ、Audit Vault Serverのevent_log
表に書き込まれます。
ノート:
ATCファイルのタイムスタンプはUTC (協定世界時)タイムゾーンです。ATCファイルの例を次に示します。
securedTargetType=Oracle Database
SecuredTargetName=secured_target_oracle_one
TrailType=TRANSACTION LOG
TrailName=/foo/bar/trail_files
2020-06-30 07:11:46.0
Oracle AVDF 20.3以前の場合
Audit Vault Agentによって読み取られたファイルを削除するには、ファイルを削除するスクリプトを作成します。これらは、最終変更のタイムスタンプが、ATCファイル内に存在するチェックポイント・タイムスタンプよりも古いファイルです。このスクリプトは、定期的に実行するようにスケジュールできます。
Oracle AVDF 20.4以降の場合
Audit Vault Agentによって読み取られたファイルを削除するには、Oracle GoldenGate Extractクリーンアップ・ユーティリティを使用します。これは、Oracle AVDF 20.4以降で使用できます。
D.16 GoldenGateダウンストリーム・マイニングの構成
GoldenGateダウンストリーム・マイニングを構成する方法を学習します。
Oracle GoldenGate統合Extractプロセスは、Oracle Databaseバージョン12.2.0.1以降でのみサポートされます。この場合、Oracle GoldenGate統合Extractはソース・データベースで構成されます。12.2.0.1より前のバージョンのOracle Databaseからのトランザクション・ログ・データを取得するために、ダウンストリーム・マイニングが使用されます。この場合、ソース・データベースとダウンストリーム・マイニング・データベースの2つのデータベースがあります。ソース・データベース(12.2.0.1より前のバージョンのOracle Database)は、オンラインREDOログをダウンストリーム・データベース(Oracle Databaseバージョン12.2.0.1以降)に送信するように構成されます。この場合、ダウンストリーム・データベースで、_AUDIT_VAULT形式でXMLファイルを生成するように統合Extractが構成されます。
前提条件
ソース・データベースとダウンストリーム・マイニング・データベースの両方で、ユーザーの作成および関連する権限の付与およびOracle Database用のOracle GoldenGateパラメータの構成のステップを実行します。
パスワード・ファイルの構成
-
次のコマンドをソースデータベースで実行して、データベースの互換性を確認します。
show parameter compatible;
-
ソース・データベースのバージョンが12.1.0.2.0の場合は、次のコマンドを実行します。
alter system set compatible = '12.1.0.2.0' scope=spfile;
shutdown immediate
startup
-
次のコマンドを実行して、互換性が12.1.0.2.0に変更されているかどうかを確認します。
show parameter compatible;
-
次の問合せを実行して、ソース・データベースとダウンストリーム・マイニング・データベースの両方でglobal_nameを検索します。
select * from global_name;
-
ソース・データベースとダウンストリーム・マイニング・データベースに同じglobal_nameがないことを確認します。
-
ソース・データベースにリモート・ログイン・パスワード・ファイルがある場合は、そのファイルをマイニング・データベース・システムの適切なディレクトリにコピーします。パスワード・ファイルは、ソース・データベースおよびマイニング・データベースで同じである必要があります。ソース・データベースとダウンストリーム・マイニング・データベースに同じパスワード・ファイルがない場合、ソース・データベースで次のコマンドを実行し、ソース・パスワード・ファイルをダウンストリーム・マイニング・データベースにコピーします。
alter system set remote_login_passwordfile = 'shared' scope = spfile;
shutdown immediate
startup
-
ソース・データベースでは、このパスワード・ファイルは
$ORACLE_HOME/dbs/orapw<$ORACLE_SID>
です。サンプルのソース・パスワード・ファイルは、
/foo/bar/orapwsource
です。 -
ダウンストリーム・マイニング・データベースで次のコマンドを実行し、ダウンストリーム・パスワード・ファイルを検索します。
select file_name from v$passwordfile_info;
サンプルのダウンストリーム・パスワード・ファイルは、
/foo/bar/orapwdownstream
です。 -
次のコマンドを実行して、既存のダウンストリーム・パスワード・ファイルのバックアップを取得します。
cp /foo/bar/orapwdownstream /foo/bar/orapwdownstream_orig
-
次のコマンドを実行して、ソース・パスワード・ファイルをダウンストリーム・パスワード・ファイルの場所にコピーします。
cp /foo/bar/orapwsource /foo/bar/orapwdownstream
ソース・データベースの構成
この例では、ソース・データベースのデータベース一意名はsource_db_unique_name
で、ダウンストリーム・マイニング・データベースのデータベース一意名はdownstream_db_unique_name
です。
次のコマンドを実行して、データベース一意名を検索します。
select db_unique_name from v$database;
ソース・データベースで次のコマンドを実行して、ダウンストリーム・マイニング・データベースにREDOデータを送信するようにソース・データベースを構成します。LOG_ARCHIVE_DEST_2
パラメータの設定中に、ダウンストリーム・マイニング・データベースの接続詳細を指定する必要があります。
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(source_db_unique_name,downstream_db_unique_name)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=foo.bar.com)(PORT=1234))(CONNECT_DATA=(SERVICE_NAME=foo.bar.com)))" ASYNC OPTIONAL NOREGISTER VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=downstream_db_unique_name';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ダウンストリーム・マイニング・データベースの構成
-
アーカイブをダウンストリーム・マイニング・データベースで有効にし、統合Extractをリアルタイム統合取得モードで実行する必要があります。ダウンストリーム・マイニング・データベースで次のコマンドを実行して、ローカルのREDOログ・ファイルをアーカイブします。
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/foo/bar/arc_dest/local valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
-
ソース・データベースのオンラインREDOログからREDOデータを受け取るスタンバイREDOログをアーカイブするように、ダウンストリーム・マイニング・データベースを構成する必要があります。外部アーカイブ・ログは、ダウンストリーム・マイニング・データベースのリカバリ領域にはアーカイブされない必要があります。ダウンストリーム・マイニング・データベースで次のコマンドを実行して、スタンバイREDOログをローカルにアーカイブします。
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(source_db_unique_name,downstream_db_unique_name)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='LOCATION=/foo/bar/arc_dest/standbyredo VALID_FOR=(STANDBY_LOGFILE,PRIMARY_ROLE)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE ;
-
ソース・データベースで次のコマンドを実行し、結果をノートにとります。
select group#, thread#, bytes from v$log;
-
スタンバイ・ログ・ファイル・グループをマイニング・データベースに追加します。スタンバイ・ログ・ファイルのサイズは、少なくともソース・ログ・ファイルのサイズである必要があります。スタンバイ・ログ・ファイル・グループの数は、ソース・オンライン・ログ・ファイル・グループの数より1つ以上多くする必要があります。これはOracle RACインストールの場合に、各インスタンス(スレッド)に適用されます。ソース・データベースに
n
個のスレッドがあり、それぞれm
個のREDOログ・グループがある場合、ダウンストリーム・マイニング・データベースにn*(m+1)
個のREDOログ・グループを構成する必要があります。たとえば、次は、問合せ
select group#, thread#, bytes from v$log;
の結果であると仮定します。グループ番号 スレッド番号 バイト 1 1 26214400 2 1 26214400 スレッド数(n)は1です。
スレッド当たりのグループ数(m)は2です。
したがって、各ログ・グループのサイズが26214400バイト以上である必要があるダウンストリーム・マイニング・データベースには、
n*(m+1) = 3
個のREDOログ・グループが必要です。 -
この例では、ダウンストリーム・マイニング・データベースで次の問合せを実行します。
ALTER DATABASE ADD STANDBY LOGFILE GROUP 3 ('/foo/bar/arc_dest/standbyloggroups/slog3a.rdo', '/foo/bar/arc_dest/standbyloggroups/slog3b.rdo') SIZE 500M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/foo/bar/arc_dest/standbyloggroups/slog4a.rdo', '/foo/bar/arc_dest/standbyloggroups/slog4b.rdo') SIZE 500M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/foo/bar/arc_dest/standbyloggroups/slog5a.rdo', '/foo/bar/arc_dest/standbyloggroups/slog5b.rdo') SIZE 500M; SELECT * FROM V$STANDBY_LOG;
統合Extractの登録
-
Oracle GoldenGate管理サーバーでソース・データベースとダウンストリーム・マイニング・データベースの両方の資格証明を作成するために、「GoldenGate管理サーバーでの新しい資格証明の作成」のステップを実行します。
-
adminclientコマンドライン・インタフェースを起動します。
$GG_HOME/bin/adminclient
-
コマンドを実行して、GoldenGateサービス・マネージャに接続します。SSLが構成されている場合は、次のコマンドを実行します。
connect https://<hostname>:<port> as <username> password <password> !
SSLが構成されていない場合は、次のコマンドを実行します。
connect http://<hostname>:<port> as <username> password <password> !
SSLが構成されている場合のコマンド例:
connect https://localhost:1234 as ggadminuser password ggadminpassword !
SSLが構成されていない場合のコマンド例:
connect https://localhost:1234 as ggadminuser password ggadminpassword !
-
次のコマンドを実行して、adminclientのソース・データベースにログインします。
dblogin useridalias <source db user id> domain <source db domain>
たとえば:
dblogin useridalias avggadmin_remotesourceinst1 domain remotesourceinst1
-
次のコマンドを実行して、adminclientのダウンストリーム・マイニング・データベースにログインします。
miningdblogin useridalias <downstream db user id> domain <downstream db domain>
たとえば:
miningdblogin useridalias avggadmin_remotedowninst1 domain remotedowninst1
-
次のコマンドを実行して、統合Extractを追加および登録します。これらのステップを実行する前に、統合ExtractのXMLファイルを格納する必要があるサブディレクトリを手動で作成します。
ADD EXTRACT <extract name> INTEGRATED TRANLOG BEGIN NOW
REGISTER EXTRACT <extract name> DATABASE
ADD EXTTRAIL <subdirectory>/<trail name>, EXTRACT <extract name>
このコマンドを実行すると、
OGG-12029 The file with name '<extract name>.prm' does not exist
というメッセージが表示されることがあります。このメッセージは無視してください。たとえば:
ADD EXTRACT ext1 INTEGRATED TRANLOG BEGIN NOW REGISTER EXTRACT ext1 DATABASE ADD EXTTRAIL e1/e1, EXTRACT ext1
-
Oracle GoldenGate管理サーバーにログインします。
-
「Extract」パネルに、新しく作成された統合Extractが表示されます。統合Extractのパラメータ・ファイルを更新するには、次のステップに従います。
- 「統合Extract」アイコンの横にある「アクション」ドロップダウンをクリックします。
- 「詳細」を選択します。
-
「パラメータ」タブで、次のパラメータを入力します。
extract <extract name> useridalias <source db user id> domain <source db domain> TRANLOGOPTIONS MININGUSERALIAS <downstream db user id> domain <downstream db domain> TRANLOGOPTIONS INTEGRATEDPARAMS (downstream_real_time_mine Y) OUTPUTFORMAT XML _AUDIT_VAULT exttrail <subdirectory>/<trail name> DDL INCLUDE ALL TABLE <schema>.<table>;
たとえば:
extract ext1 useridalias avggadmin_remotesourceinst1 domain remotesourceinst1 TRANLOGOPTIONS MININGUSERALIAS avggadmin_remotedowninst1 domain remotedowninst1 TRANLOGOPTIONS INTEGRATEDPARAMS (downstream_real_time_mine Y) OUTPUTFORMAT XML _AUDIT_VAULT exttrail e1/e1 DDL INCLUDE ALL TABLE scott.*;
-
パラメータの更新後に、「適用」ボタンをクリックします。
-
「統合Extract」アイコンの横にある「アクション」ドロップダウンをクリックします。
-
「開始」ボタンをクリックして統合Extractを開始します。統合Extractが正常に開始されるまで5分間待機してから、バックグラウンドのログ・マイニング・プロセスを作成します。ログ・マイニング・プロセスはバックグラウンドで実行され、ユーザーには表示されません。
-
ソース・データベースで次のコマンドを実行して、ソース・データベースのログ・ファイルを切り替えます。
select * from v$log;
alter system switch logfile;
select * from v$log;
-
ログ・スイッチの実行後、5分間待機します。統合Extractでは、XMLファイルの作成を開始するには数分かかります。
ダウンストリーム・マイニングのステータスの確認
ソース・データベースとダウンストリーム・マイニング・データベースの両方で、次のコマンドを実行します。
select * from V$archive_dest_status;
select * from V$archive_dest;
LOG_ARCHIVE_DEST_1
およびLOG_ARCHIVE_DEST_2
の値を持つdest_name
列がある行で、ステータス列の値がVALID
でgap_status
列の値がNO GAP
またはnull
であることを確認します。
Status列の値がERROR
の場合は、エラー列に、関連するエラー・メッセージが表示されます。
統合Extractのステータスの確認
- Oracle GoldenGate管理サーバーにログインします。
- 「Extract」パネルを表示します。統合Extractが表示されます。
- 統合Extractのステータスを確認します。「統合Extract」アイコンの横にある「アクション」ドロップダウンをクリックします。
- 「詳細」を選択します。
- 「レポート」タブをクリックして、診断メッセージを表示します。Extractプロセスが失敗した場合、関連するエラーがレポートに表示されます。