10 「クラシック・キャプチャを使用する場合の追加構成手順」
これらの要件は、「クラシック・モードでのキャプチャの構成」 に記載されている基本的な構成要件を補完します
内容は次のとおりです。
- クラシック・キャプチャ・モードでのOracle TDE Dataの構成
この項は、統合キャプチャ・モードのExtractには適用されません。 - Oracle RAC環境でのクラシック・キャプチャの使用
次の一般的なガイドラインは、クラシック・キャプチャ・モードでExtractが実行される場合のOracle RACに適用されます。 - クラシック・キャプチャ・モードでのASMストアド・ログのマイニング
この項では、Oracle Automatic Storage Management (ASM)に格納されているトランザクション・ログをOracle GoldenGateがマイニングする場合に適用される追加の構成要件について説明します。 - クラシック・キャプチャでのデータ可用性の確保
Extractがクラシック・キャプチャ・モードで動作する場合、キャプチャ処理の継続性および整合性を保証するには、アーカイブ・ロギングを有効にします。 - アーカイブ・ログ専用モードでのクラシック・キャプチャの構成
Extractは、アーカイブ・ログからのみ読取りを行うよう構成できます。これはアーカイブ・ログのみ(ALO)モードと呼ばれます。 - Oracle Active Data Guard専用モードでのクラシック・キャプチャの構成
Oracle Active Data Guardを使用して、REDOデータおよびメタデータの両方にリアルタイムでアクセスし、ソース・データベース・アクティビティを正常にレプリケートするように、クラシックExtractを構成できます。これは、Active Data Guard (ADG)モードと呼ばれます。 - クラシック・キャプチャでのログ読取りのボトルネックの回避
Oracle GoldenGateによってREDOログからデータがキャプチャされると、データベースのロギング・メカニズムによって書き込まれている同じファイルがExtractで読み取られるため、I/Oボトルネックが発生する可能性があります。
クラシック・キャプチャ・モードでのOracle TDEデータの構成
この項は、統合キャプチャ・モードのExtractには適用されません。
クラシック・キャプチャ・モードでのExtractの場合、TDEをサポートするには、次の特別な構成手順が必要です。
注意:
統合モードでは、Extractはデータベース・ロギング・サーバーを活用して、特別な設定要件やパラメータ設定なしで、TDE列の暗号化とTDE表領域の暗号化をサポートします。統合キャプチャの詳細は、「キャプチャおよび適用モードの選択」を参照してください。
- クラシック・キャプチャ・モードでのTDEサポートの概要
- クラシック・キャプチャ・モードでのTDEのキャプチャの要件
- TDEサポートに必要なデータベース・パッチ
- TDEサポートのクラシック・キャプチャの構成
- 復号化後のデータのセキュリティを維持するための推奨事項
- TDEキャプチャがアクティブな場合のDDLの実行
- データベースのアップグレード後の鍵の更新
- パラメータ・ファイルでのOracle共通鍵の更新
親トピック: クラシック・キャプチャを使用する場合の追加構成手順
クラシック・キャプチャ・モードでのTDEサポートの概要
クラシック・キャプチャ・モードでのExtractの場合、TDEサポートには2種類の鍵の交換が必要です。
-
暗号化鍵は、表鍵(列レベルの暗号化)、暗号化REDOログ鍵(表領域レベルの暗号化)、またはその両方のいずれにすることも可能です。この鍵はOracle DatabaseとExtract間で共有されます。
-
復号化鍵には
ORACLEGG
の名前が付けられ、そのパスワードは共通鍵と呼ばれます。この鍵は、OracleおよびOracle GoldenGateドメインに安全に格納されます。共通鍵を所有するユーザーのみが、表およびREDOログ鍵を復号化できます。
復号化キーは、組込みPL/SQLコードによってExtractプロセスに配信されます。Extractでは共通鍵を使用してデータが復号化されます。Extractでは、ウォレットのマスター・キー自体は処理されず、またマスター・キーのパスワードも認識されません。これらは、Oracle Databaseセキュリティ・フレームワークの範囲内です。
Extractでは、復号化されたデータが破棄ファイル(DISCARDFILE
パラメータで指定)を含む証跡ファイル以外のファイルに書き込まれることはありません。"ENCRYPTED
"という語が使用中の破棄ファイルに書き込まれます。
Oracle GoldenGateのパフォーマンスに対するこの機能の影響には、データベース・パフォーマンスに対する復号化の影響が反映されます。Extractの起動時間がわずかに長くなる以外は、TDEデータのレプリケートによるパフォーマンスへの影響は最小限です。
クラシック・キャプチャ・モードでのTDEのキャプチャの要件
ExtractでTDEキャプチャをサポートするための要件は次のとおりです。
-
高いセキュリティ基準を維持するため、Oracle GoldenGate Extractプロセスは
oracle
ユーザー(Oracle Databaseを実行するユーザー)の一部として実行する必要があります。これにより、oracle
ユーザーと同じ権限でメモリー内で鍵が保護されます。 -
Extractプロセスは、データベースのインストールと同じマシン上で実行される必要があります。
-
ハードウェア・セキュリティ・モジュールでTDEを使用している場合でも、ソフトウェア・ウォレットを使用する必要があります。HSMのみの構成からHSMとウォレットの構成に移行し、
sqlnet.ora
ファイルを正しく構成するための各手順の詳細は、「Oracleセキュリティ担当者のタスク」の構成手順を参照してください。 -
ソース・データベースがアップグレードされる場合は、マスター・キーを必ず更新する必要があります。
TDEサポートに必要なデータベース・パッチ
Oracle 11.2.0.2でTDEをサポートするには、My Oracle Support Webサイト(https://support.oracle.com
)の記事1557031.1を参照してください。
TDEサポートのクラシック・キャプチャの構成
次に、OracleサーバーとExtractプロセス間の通信を確立するためにOracleセキュリティ担当者およびOracle GoldenGate管理者が実行する手順を説明します。
Oracleの基準を満たす共通鍵の共有
Oracleパスワードの基準以上の共通鍵パスワードを共有します。このパスワードは他のユーザーに知られないようにする必要があります。安全なパスワードの作成のガイドラインについては、『Oracle Databaseセキュリティ・ガイド』を参照してください。
親トピック: TDEサポートのクラシック・キャプチャの構成
Oracleセキュリティ担当者のタスク
-
Oracle GoldenGateでは、HSMともソフトウェア・ウォレットを使用する必要があります。HSMのみのモードを現在使用している場合は、次の手順に従って、HSMとウォレットのモードに移行します。
-
次の例に示すように、
sqlnet.ora
ファイル構成を変更します(ウォレット・ディレクトリは、Oracle Databaseの所有者によってアクセス可能な(rwx)ディスク上の任意の場所が可能です)。次の例は、ベスト・プラクティスの場所(my_db
は$ORACLE_SID
)を示します。ENCRYPTION_WALLET_LOCATION= (SOURCE=(METHOD=HSM)(METHOD_DATA= (DIRECTORY=/etc/oracle/wallets/my_db)))
-
Oracle Databaseの所有者として
orapki
(またはWallet Manager)にログインし、sqlnet.ora
ファイルに指定した場所に自動ログイン・ウォレットを作成します。ウォレットのパスワードを求められたら、HSMパスワードと同じパスワード(またはHSM接続文字列)を指定します。これらの2つのパスワードは同じにする必要があります。cd /etc/oracle/wallets/my_db orapki wallet create -wallet . -auto_login[_local]
注意:
Oracle Database所有者には、ウォレットの完全なオペレーティング・システム権限が必要です。
-
次のエントリを空のウォレットに追加して、'auto-open' HSMを有効にします。
mkstore -wrl . -createEntry ORACLE.TDE.HSM.AUTOLOGIN
non-empty-string
-
-
ORACLEGG
のエントリをウォレットに作成します。ORACLEGG
は、この鍵の名前にする必要があります。この鍵のパスワードは、共通鍵を共有する必要がありますが、このパスワードをコマンドラインから入力しないでください。かわりに、入力を求められるまで待ちます。mkstore -wrl ./ -createEntry ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG Oracle Secret Store Tool : Version 11.2.0.3.0 - Production Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password:
sharedsecret
Re-enter your secret/Password:sharedsecret
Enter wallet password:hsm/wallet_password
-
ORACLEGG
のエントリを確認します。mkstore -wrl . -list Oracle Secret Store Tool : Version 11.2.0.3.0 - Production Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. Enter wallet password:
hsm/wallet_password
Oracle Secret Store entries: ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG -
SYSDBA
システム権限を持つユーザーとしてSQL*Plusにログインします。 -
ウォレットを閉じ、再度開きます。
SQL> alter system set encryption wallet close identified by "
hsm/wallet_password
"; System altered. SQL> alter system set encryption wallet open identified by "hsm/wallet_password
"; System altered.これによってパスワードが自動オープン・ウォレットに挿入されるため、HSMに保存されたTDEマスター暗号化鍵を使用して暗号化されたデータにアクセスする際、パスワードは不要です。
-
ログ・ファイルを切り替えます。
alter system switch logfile; System altered.
-
Oracle RAC環境で、各ノードでウォレットのコピーを使用している場合、ここでコピーを作成し、各ウォレットを再度開きます。
注意:
共有の場所にある1つのウォレットを、すべてのOracle RACノード間でアクセスが同期化された状態で使用することをお薦めします。
親トピック: TDEサポートのクラシック・キャプチャの構成
復号化後のデータのセキュリティを維持するための推奨事項
Extractでは、TDEデータは復号化され、クリア・テキストとして証跡内に書き込まれます。ターゲット・データベースへの経路を含めてデータのセキュリティを維持するには、次のOracle GoldenGateのセキュリティ機能も使用することをお薦めします。
-
証跡内のデータの暗号化
-
TCP/IP間の遷移でのデータの暗号化
詳細は、『Oracle GoldenGateの管理』を参照してください。
TDEキャプチャがアクティブな場合のDDLの実行
DDLが列レベルの暗号化が存在する表で実行される場合や表キーが更新される場合には、DDLの実行中に表を停止するか、Oracle GoldenGate DDLサポートを有効にする必要があります。通常、キーの更新はセキュリティ違反に伴って行われ、すぐに実行される必要があるため、いつでも対応できるよう、DDL環境をアクティブにしておくとより実用的です。Oracle GoldenGate DDL環境をインストールするには、「トリガーベースのDDLキャプチャのインストール」を参照してください。Oracle GoldenGate DDLサポートを構成するには、「DDLサポートの構成」を参照してください。表レベルの暗号化の場合は、Oracle GoldenGate DDLサポートは必要ありません。
データベースのアップグレード後の鍵の更新
ソース・データベースがアップグレードされ、Oracle GoldenGateがTDEデータをキャプチャしている場合は、マスター・キーを更新し、データベースおよびExtractを再起動する必要があります。マスター・キーを更新するコマンドは次のとおりです。
alter system set encryption key identified by "mykey";
Oracle RAC環境でのクラシック・キャプチャの使用
次の一般的なガイドラインは、クラシック・キャプチャ・モードでExtractが実行される場合のOracle RACに適用されます。
-
操作中になんらかの理由でOracle GoldenGateを実行しているプライマリ・データベース・インスタンスが停止または失敗すると、Extractが異常終了します。処理を再開するには、インスタンスを再開するか、Oracle GoldenGateのバイナリをデータベースを実行している別のノードにマウントしてOracle GoldenGateのプロセスを再開します。別のノードからOracle GoldenGateのプロセスを開始する前に、元のモードでManagerプロセスを停止します。
-
REDOスレッド数は常に変更されるため、Extractグループをドロップおよび再作成する必要があります。推奨される手順は、『Oracle GoldenGateの管理』を参照してください。
-
トランザクションの発生元のRACインスタンスに関係なく、Extractは必ずトランザクションをコミット順に証跡ファイルに書き込みます。1つ以上のRACインスタンスがアイドルの可能性がある状態でExtractがアーカイブ・ログのみモードでキャプチャする場合、アイドル・ノードでアーカイブ・ログ・スイッチを実行して、アクティブ・インスタンスの操作が証跡ファイルにタイムリに記録されるようにする必要があります。
archive_lag_target
パラメータを設定して、事前に設定された間隔でこのログ・アーカイブを自動的に行うようOracle RDBMSに指定することができます。たとえば、ログが15分間隔でアーカイブされるようにするには、アクティビティに関係なく、RACシステムのすべてのインスタンスで次のコマンドを発行します。SQL> alter system set archive_lag_target 900
-
Extractを停止する前にRACクラスタで最後のトランザクションを処理するには、ダミー・レコードをOracle GoldenGateによってレプリケートされるソース表に挿入してから、すべてのノード上でログ・ファイルを切り替えます。これにより、Extractのチェックポイントが更新され、使用可能なすべてのアーカイブ・ログの読取りが可能であることが確認されます。さらに、それによってそれらのアーカイブ・ログのすべてのトランザクションがキャプチャされ、正しい順序で証跡に書き込まれることが確認されます。
次の表に、Oracle GoldenGateのパラメータの中で、Oracle RACで特に便利なパラメータを示します。
パラメータ | 説明 |
---|---|
|
ターゲット・システムに送信する前にExtractによってメモリーのキューに入れられるデータの量を設定します。これらのパラメータを調整することによって、Oracle RACでExtractのパフォーマンスを向上できる場合があります。 |
|
トランザクション時にノードが失敗してExtractでロールバックをキャプチャできない場合に発生する可能性がある親のないトランザクションを、Extractが処理する方法を制御します。データベースによってフェイルオーバー・ノードでロールバックが実行されますが、それ以外の場合、トランザクションはExtractトランザクション・リストに無限に残ったままになり、トランザクションを処理していたExtractスレッドに追加のチェックポイントが実行されません。デフォルトでは、トランザクションが親なしであると確認された後にOracle GoldenGateによってそのリストからそれらがパージされます。この機能は、GGSCIでの |
親トピック: クラシック・キャプチャを使用する場合の追加構成手順
クラシック・キャプチャ・モードでのASMストアド・ログのマイニング
このトピックでは、Oracle GoldenGateがOracle Automatic Storage Management (ASM)に格納されているトランザクション・ログをマイニングする場合に適用される追加の構成要件について説明します。
ASM内のトランザクション・ログへのアクセス
Extractは、ASMに格納されているログを読み取るよう構成されている必要があります。データベースのバージョンに応じて、次のオプションを使用できます。
RDBMSを介したトランザクション・ログの読取り
RDBMSがOracle 11.1.0.7、またはOracle 11.2.0.2以上の11g R2のバージョンである場合、DBLOGREADER
オプションを指定してTRANLOGOPTIONS
パラメータを使用します。
これらのリリース(ただしOracle 11g R1バージョンではない場合)には、データベース・サーバーを使用してREDOおよびアーカイブ・ログにアクセスするAPIが存在します。使用した場合、このAPIによってExtractで最大4MBの読込みバッファ・サイズが使用できるようになります。バッファを大きくすると、REDO率が高い場合にExtractのパフォーマンスが向上する可能性があります。TRANLOGOPTIONS
のDBLOGREADERBUFSIZE
オプションを使用してバッファ・サイズを指定できます。
注意:
REDOおよびアーカイブ・ログが通常のディスクまたはRAWデバイス上にある場合は、DBLOGREADER
を使用することもできます。
DBLOGREADER
およびOracle Data Vaultを使用している場合は、「Oracle GoldenGate資格証明の確立」にリストされている権限に加えて、DV_GOLDENGATE_REDO_ACCESS
ロールをExtractデータベース・ユーザーに付与します。
親トピック: ASM内のトランザクション・ログへのアクセス
ASM直接接続
RDBMSバージョンが「RDBMSを介したトランザクション・ログの読取り」にリストされているバージョンでない場合は、次を実行します。
親トピック: ASM内のトランザクション・ログへのアクセス
ASM接続の確認
Oracle GoldenGate Extractプロセスが確実にASMインスタンスに接続できるようにするには、tnsnames.ora
ファイルにASMインスタンスをリストします。Oracle GoldenGateがデータベースのホスト・マシンで実行されている場合には、ASMインスタンスへの接続に、Bequeath (BEQ)プロトコルを使用することをお薦めします。BEQプロトコルにはリスナーは必要ありません。TCP/IPプロトコルを使用する場合は、OracleリスナーがASMインスタンスへの新しい接続をリスニングしていることを確認します。listener.ora
ファイルに、次のようなエントリが含まれている必要があります。
SID_LIST_LISTENER_ASM = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ASM) (ORACLE_HOME = /u01/app/grid) (SID_NAME = +ASM1) ) )
注意:
リモートExtract構成を使用する場合、BEQ接続は機能しません。TNSNAMES
とTCP/IPプロトコルを使用します。
クラシック・キャプチャでのデータ可用性の確保
Extractがクラシック・キャプチャ・モードで動作する場合、キャプチャ処理の継続性および整合性を保証するには、アーカイブ・ロギングを有効にします。
Extractが処理を終了する前にオンライン・ログが再利用される場合、アーカイブ・ログがセカンダリ・データ・ソースになります。オープン・トランザクションのアーカイブ・ログは、Extractでリカバリを実行するためにこれらからのデータの再キャプチャが必要となる場合に備え、システム上に保存する必要があります。
警告:
アーカイブ・ロギングを有効にできない場合、トランザクションがまだアクティブな間にExtractの停止につながる障害が発生した場合、ソースとターゲットのオブジェクトを完全に再同期し、レプリケーションを再インスタンス化する必要があるというリスクを伴います。この方法で操作する必要がある場合、次のガイドラインに従ってオンライン・ログを構成し、オンライン・ログが再利用される前にExtractでキャプチャする必要のあるデータが保持されるようにします。長時間のトランザクションに加え、ネットワークの機能停止とその他の外部要因によって発生するExtractのバックログも考慮してください。
RAC構成では、Oracle GoldenGateがインストールされているクラスタを含むクラスタのすべてのノードのオンラインおよびアーカイブのログにExtractがアクセスできるようにしておく必要があります。
親トピック: クラシック・キャプチャを使用する場合の追加構成手順
Extractリカバリ・モード別のログ保存要件
Extractで使用される可能性がある様々なリカバリ・モード、およびそれぞれのログ保存要件について次に要約します。
-
デフォルトでは制限付きリカバリ・モードが有効で、Extractでは
BR
パラメータを使用して設定されている制限付きリカバリ期間の2倍までさかのぼってログにアクセスする必要があります。この期間は、CHECKPOINTSECS
パラメータによって制御されている、Extractの標準のチェックポイント間隔の整数倍です。これらの2つのパラメータによってOracle GoldenGateの制限付きリカバリ機能が制御され、障害が発生したときにオープンしていた最も古いトランザクションがどんなに古くても、Extractで障害後にインメモリー・キャプチャされたデータのリカバリが可能です。バインドされたリカバリの詳細は、『Oracle GoldenGateリファレンス』を参照してください。 -
Extractでリカバリを試みたときに制限付きリカバリ・メカニズムが失敗した場合、Extractは通常のリカバリ・モードに戻ります。この場合、失敗時にオープンしていたメモリー内で最も古いトランザクションの始まりが含まれているアーカイブ・ログと、それ以降のすべてのログへのアクセス権をExtractに設定しておく必要があります。
親トピック: クラシック・キャプチャでのデータ可用性の確保
ログ保存のオプション
必要なログがシステム上に保持されるようにするためのオプションは、Oracleのバージョンによって異なります。
Oracle Enterprise Edition 11g以降
これらのバージョンの場合、Oracle Recovery Manager (RMAN)を使用して、Extractでリカバリに必要となるログが保存されるようExtractを構成できます。REGISTER EXTRACT
コマンドを発行する場合、この機能を有効にします。詳細は、「プロセス・グループの作成」を参照してください。この機能を使用するには、Extractデータベース・ユーザーに、「Oracle GoldenGate資格証明の確立」に示す基本的な権限以外に次の権限がある必要があります。
Oracle EEのバージョン | 権限 |
---|---|
11.1および11.2.0.1 |
|
11.2.0.3以降 |
パッケージを実行してOracle GoldenGateの管理権限を付与します。 exec dbms_goldengate_auth.grant_admin_privilege(' |
ログ保存が有効な場合、Extractは制限付きリカバリを実行するのに十分なログを保持しますが、LOGRETENTION
オプションをSR
に設定したTRANLOGOPTIONS
パラメータを使用して、通常のリカバリに必要なログをRMANを介して保持するようExtractを構成できます。RMANログ保存の使用を無効にするオプションもあります。Extractを構成する前に、『Oracle GoldenGateリファレンス』に記載されているLOGRETENTION
のオプションを確認してください。LOGRETENTION
をDISABLED
に設定する場合は、「保存するデータ量の判断」を参照してください。
注意:
11.2.0.3より前のOracleバージョンのOracle RACでRMANログ保存をサポートするには、Extractグループを追加する前にBUGFIX 11879974で提供されているデータベース・パッチをダウンロードおよびインストールする必要があります。
RMANログ保存機能により、各Extractグループに基本の(ただし機能しない)Oracle Streamsのキャプチャ・プロセスが作成されます。キャプチャの名前は、関連するExtractグループの名前に基づきます。ログ保存機能は、他のローカルのOracle Streamsインストールと同時に動作可能です。Extractグループを作成するとき、ログは現在のデータベースSCNから保存されます。
注意:
記憶域が一杯の場合は、Extractで必要とされてもRMANによってアーカイブ・ログがパージされます。この制限は、Extract (および他のOracleレプリケーション・コンポーネント)の要件がデータベースへのREDOの可用性を妨げないようにするために存在します。
親トピック: ログ保存のオプション
その他のOracleバージョン
Enterprise Edition以外のバージョンのOracleの場合は、任意の管理ツールを使用してログ保存プロセスを管理する必要があります。「保存するデータ量の判断」の指示に従います。
親トピック: ログ保存のオプション
保存するデータ量の判断
ログ保存を管理する場合、Extractで通常のリカバリ(制限付きリカバリではなく)を実行するのに必要となるログに迅速にアクセスできるようにしてください。「Extractリカバリ・モード別のログ保存要件」を参照してください。アーカイブをデータベース・システムから移動する必要がある場合、TRANLOGOPTIONS
パラメータで別の場所を指定することができます。「アーカイブ場所の指定」を参照してください。
推奨される保存期間は少なくとも24時間であり、これはオンラインおよびアーカイブのログを含むトランザクション・データを保存できる時間に相当します。Extractが任意の時点で必要とする可能性がある最も古いログを判断するには、SHOWTRANS
オプションを使用してSEND EXTRACT
コマンドを発行します。データ量とビジネス要件を考慮して最適な保存時間を決定するためにテストを実行しなければならない場合があります。
処理時にExtractで必要なデータがオンラインまたはアーカイブのログに保存されていなかった場合、次のいずれかの修正処理が必要になる可能性があります。
-
Extractを変更して、ログ・データが使用できる後の時点から取得します(さらにターゲットで起こり得るデータ損失を受け入れます)。
-
ソースおよびターゲットのデータを再同期してから、Oracle GoldenGate環境の開始をさらに繰り返す。
親トピック: クラシック・キャプチャでのデータ可用性の確保
アーカイブ・ログの消去
古いアーカイブ・ファイルが新しいバックアップで上書きされる原因となるバックアップグレードまたはアーカイブのオプションを使用していないことを確認します。理想的には、新しいバックアップは、古い名前とは異なる名前の別のファイルにしてください。これによって、Extractが特定のログを探す際にそのログが確実に存在することになり、また、サポートのために必要になった場合に確実にデータを使用できます。
親トピック: クラシック・キャプチャでのデータ可用性の確保
アーカイブ場所の指定
アーカイブ・ログがOracleのデフォルト・ディレクトリ以外の場所にある場合は、Extractパラメータ・ファイルでTRANLOGOPTIONS
パラメータのALTARCHIVELOGDEST
オプションを使用してそのディレクトリを指定します。
OracleパラメータLOG_ARCHIVE_FORMAT
で指定されている形式にサブディレクトリが含まれている場合、TRANLOGOPTIONS
のALTARCHIVEDLOGFORMAT
オプションを使用しなければならないこともあります。ALTARCHIVEDLOGFORMAT
によって、サブディレクトリをパスから削除する代替形式が指定されます。たとえば、%T/log_%t_%s_%r.arc
はlog_%t_%s_%r.arc
に変更されます。ALTARCHIVEDLOGFORMAT
を使用するかわりに、手動でサブディレクトリを作成してから、ログ・ファイルをそれに移動することもできます。
親トピック: クラシック・キャプチャでのデータ可用性の確保
その他のプラットフォームに保存されるログのマウント
Extractが作成されるプラットフォームとは異なるプラットフォームに、オンラインおよびアーカイブのREDOログを保存した場合、次の操作を実行します。
-
アーカイブ・ファイルをNFSマウントします。
-
Extractパラメータ
TRANLOGOPTIONS
のLOGSOURCE
およびPATHMAP
オプションを使用することで、ファイル構造をソース・システムの構造にマップします。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: クラシック・キャプチャでのデータ可用性の確保
アーカイブ・ログ専用モードでのクラシック・キャプチャの構成
Extractは、アーカイブ・ログからのみ読取りを行うよう構成できます。これはアーカイブ・ログのみ(ALO)モードと呼ばれます。
このモードでは、Extractによって、指定された場所に保存されているアーカイブ・ログからのみ読み取られます。ALOモードを使用すると、Extractではデータ・ソースとしてセカンダリ・データベース(スタンバイなど)に転送される本番ログを使用できます。オンライン・ログは使用されません。GoldenGateでは、必要に応じて、セカンダリ・データベースに接続してメタデータとその他の必要なデータを取得します。代替としてALOモードが本番システムでサポートされています。
注意:
ALOモードは、統合キャプチャ・モードで動作するExtractと互換性はありません。
ALOモードの制限および要件
ExtractをALOモードで使用する場合、次の制限およびガイドラインに従います。
-
スタンバイ・データベースの作成後にソース・データベースでログのリセット(
RESETLOG
)を実行することはできません。 -
本番システムがOracle RACであり、スタンバイ・データベースがRAC以外である場合、スタンバイ・データベースでALOを使用することはできません。両方のシステムをOracle RACにすることに加え、各システムのノード数も同一にする必要があります。
-
Oracle RAC上のALOでは、ソース・サーバーへの専用接続が必要です。その接続が失われると、Oracle GoldenGateの処理が停止します。
-
Oracle RAC用のOracle GoldenGateをALOモードで使用する際は、別々のアーカイブ・ログ・ディレクトリを使用するのがベスト・プラクティスです。これによって、同じファイル名が2回表示され、それが原因で"out of order scn"エラーがExtractで返される可能性が、回避されます。
-
ExtractがALOモードの場合、
LOGRETENTION
パラメータのデフォルトはDISABLED
です。必要に応じてLOGRETENTION
設定を使用し、これをオーバーライドできます。
ALOモードのExtractの構成
ExtractをALOモード用に構成するには、「クラシック・モードでのキャプチャの構成」に記載されたOracle GoldenGateの構成プロセスの一環として次の手順を実行します。
Oracle Active Data Guard専用モードでのクラシック・キャプチャの構成
Oracle Active Data Guardを使用して、REDOデータおよびメタデータの両方にリアルタイムでアクセスし、ソース・データベース・アクティビティを正常にレプリケートするように、クラシックExtractを構成できます。これは、Active Data Guard (ADG)モードと呼ばれます。
ADGモードを使用すると、Extractではデータ・ソースとしてスタンバイ・データベースに転送される本番ログを使用できます。オンライン・ログは使用されません。GoldenGateでは、必要に応じて、スタンバイ・データベースに接続してメタデータとその他の必要なデータを取得します。
このモードは、ADGがすでに適切に配置または実装可能な、負荷の影響を受けやすい環境で便利です。これは、計画されたADGブローカ・ロール(スイッチオーバー)またはフェイルオーバー(計画外)の変更を使用して高可用性を実装する、コスト効率に優れた方法として使用することもできます。ADG構成では、スイッチオーバーおよびフェイルオーバーはロールとみなされます。いずれかの操作が実行されると、それはロール変更とみなされます。詳細は、『Oracle Data Guard概要および管理』および『Oracle Data Guard Broker』を参照してください。
フェッチに必要な表データおよびメタデータをソース・データベースではなくADGからフェッチするように、統合Extractを構成できます。これが可能なのは、ADGがソース・データベースの物理レプリカであるからです。FETCHUSER
パラメータを使用したADGからのフェッチは、クラシックExtractとして稼働している場合を除き、すべての構成のExtractでサポートされます。クラシックExtractには、USERID
パラメータを使用して指定された標準接続情報を使用してADGに直接接続し、そのREDOログをマイニングして、そこからフェッチする機能がすでに用意されています。ADGからフェッチする場合、Extractは起動時にソース・データベースから情報(互換性レベル、データベース・タイプ、ソース・データベース検証チェックなど)を収集するので、ソース・データベースへの影響は最小限に抑えられます。
前のフェッチ機能およびパラメータはすべてサポートされます。
注意:
統合Extractはスタンバイ・データベースからはキャプチャできません。これは、データベースへのREAD
およびWRITE
アクセスが必要ですが、ADGスタンバイではREAD ONLY
アクセスしか利用できないためです。
親トピック: クラシック・キャプチャを使用する場合の追加構成手順
ADGモードの使用の制限および要件
ExtractをADGモードで使用する場合、次の制限およびガイドラインに従います。
-
ADGモードのExtractは、適用プロセスによってスタンバイ・データベースに適用されているREDOデータのみを適用します。Extractがスタンバイ・データベースの前に実行されると、スタンバイ・データベースがキャッチアップするまで待機します。
-
スタンバイ・データベースでExtractを実行するには、クラシックExtractパラメータ・ファイルにADGモードを明示的に指定する必要があります。
-
フェッチおよびその他のメタデータの解決はデータベースで実行されるため、ADGシステムに接続するには、データベース・ユーザーおよびパスワードを指定する必要があります。
-
スタンバイ・データベースのスタンバイ・ログのREDOスレッドの数は、プライマリ・データベースのノードの数と一致する必要があります。
-
クラシックExtractがスタンバイ・データベースで作成された後は、新しいRACインスタンスをプライマリ・データベースに追加することはできません。新しいインスタンスを追加すると、新しいスレッドのREDOデータはクラシックExtractによってキャプチャされません。
-
スタンバイ・データベースからアクセスされるアーカイブ・ログおよびスタンバイREDOログは、プライマリ・データベースの正確なコピーになります。REDOデータ、トランザクション・データおよびサプリメンタル・データを含む、サイズおよび内容は一致します。これは、適切に構成されたADGデプロイメントによって保証されます。
-
ADGロール変更は不定期で、どちらの場合もユーザーの介入が必要です。
-
スイッチオーバーでは、REDOログ・ファイル・ヘッダー(REDOログの終端(EOR)マーカー)に、ログ・ストリームの終端を示すインジケータがあり、これにより、スタンバイのクラシックExtractはRAC調整を正常に完了し、コミットされたすべてのトランザクションを証跡ファイルに転送できます。
-
フェイルオーバーでは、新しいインカーネーションID、
RESETLOG
順序番号およびSCN値で、プライマリ・データベースとスタンバイ・データベースの両方に新しいインカーネーションが作成されます。 -
TRANDATA
またはSCHEMATRANDATA
の追加はプライマリ・データベースで実行されるため、これを行うには、GGSCIからプライマリ・データベースに接続する必要があります。 -
DDLレプリケーション(
ADDTRANDATA
を除く)をサポートするために、DDLトリガーをスタンバイ・データベースで使用することはできません。Oracle GoldenGate DDLパッケージをプライマリ・データベースにインストールする必要があります。 -
DDL
ADDTRANDATA
はADGモードではサポートされておらず、DDLレプリケーションにはADDSCHEMATRANDATA
を使用する必要があります。 -
スタンバイ・データベースでExtractを追加する場合は、特定のSCN値、タイムスタンプおよびログの位置を使用して、開始位置を指定する必要があります。
NOW
などのタイムスタンプの相対値は不明瞭になり、データの不整合につながる場合があります。 -
スタンバイ・データベースでExtractを追加する場合は、プライマリ・データベースからのすべての関連スレッドを含む、スレッドの番号を指定する必要があります。
-
フェイルオーバーまたはスイッチオーバーの実行中または実行後は、プライマリ・データベースまたはスタンバイ・データベースにスレッドを追加したり、削除することはできません。
-
クラシックExtractは、1つの
RESETLOG
操作の介在のみを使用します。 -
Oracle GoldenGateインストールを再配置しない場合は、プライマリ・データベースおよびスタンバイ・データベースからOracle GoldenGateインストール・ディレクトリにアクセスできる共有スペースに配置する必要があります。
-
キャプチャをADGスタンバイ・データベースからプライマリ・データベースに移動する場合は、ネット別名がプライマリ・データベースを指すようにし、
TRANLOG
オプションを削除する必要があります。 -
互換性設定が10.2以上(10gリリース2)で実行しているOracle Databaseリリースのみがサポートされます。
-
クラシックExtractでは、
DBLOGREADER
オプションを使用できません。ASMUSER
(約20GB/時の読取り制限があります)を使用するか、プライマリ・データベースとスタンバイ・データベースの両方で、オプション・ログとアーカイブ・ログをアプリケーション・セキュリティ・マネージャの外に移動します。
ADGモードのクラシックExtractの構成
クラシックExtractをADGモード用に構成するには、「クラシック・モードでのキャプチャの構成」に記載されたOracle GoldenGateの構成プロセスの一環として次の手順を実行します。
ADGデータベースとの間でのクラシックExtractの移行
ADGデータベースとの間でクラシックExtractの移行を試みる前に、パラメータ・ファイル、チェックポイント・ファイル、Bounded Recoveryファイルおよび証跡ファイルを共有記憶域に格納するか、ADGデータベースにコピーする必要があります。また、ロール変更の介在がないようにするか、Extractが同じREDOのブランチをマイニングする必要があります。
ADGデータベースに移動するには、次の手順を使用します。
-
パラメータ・ファイル
ext1.prm
を編集し、次のパラメータを追加します。DBLOGIN USERID userid@ADG PASSWORD password TRANLOGOPTIONS MINEFROMACTIVEDG
-
START EXTRACT ext1
コマンドを発行して、Extractを起動します。
ADGデータベースから移動するには、次の手順を使用します。
ADG構成でのロール変更の処理
スタンバイ・データベースに関するロール変更では、Extractで使用されている接続を含む、プライマリ・データベースおよびスタンバイ・データベースのすべてのセッションが最初に切断されます。これにより、両方のデータベースが停止し、元のプライマリがスタンバイ・データベースとしてマウントされ、元のスタンバイがプライマリ・データベースとして開かれます。
ロール変更の手順は、クラシックExtractの初期デプロイメント、および必要なデプロイメント関係(データベースまたはロール)によって決定されます。次の表は、4つの可能なロール変更を示しており、prisys
およびstansys
の2つのデータベースで構成されるADG構成を前提としています。prisys
システムにはプライマリ・データベース、stansys
システムにはスタンバイ・データベースが含まれ、prisys
では2つのREDOスレッドがアクティブで、stansys
では4つのREDOスレッドがアクティブです。
初期デプロイメント・プライマリ(prisys) | 初期デプロイメントADG (stansys) |
---|---|
元のデプロイメント: |
|
ext1.prm DBLOGIN USERID userid@prisys, PASSWORD password |
ext1.prm DBLOGIN USERID userid@stansys, PASSWORD password TRANLOGOPTIONS MINEFROMACTIVEDG |
データベース関連: |
|
ロール・トランジション後: クラシックExtractからADG
|
ロール・トランジション後: ADGからクラシックExtract
|
ロール関連: |
|
ロール・トランジション後: クラシックExtractからクラシックExtract
|
ロール・トランジション後: ADGからADG
|
クラシック・キャプチャでのログ読取りのボトルネックの回避
Oracle GoldenGateによってREDOログからデータがキャプチャされると、データベースのロギング・メカニズムによって書き込まれている同じファイルがExtractで読み取られるため、I/Oボトルネックが発生する可能性があります。
同じログを読み取るExtractプロセスの数の増加に伴ってパフォーマンスが低下します。次のことが可能です。
-
さらに高速なドライバおよびコントローラを使用してみます。さらに高速なI/OシステムでExtractとデータベースの両方のロギング・メカニズムの速度が速くなります。
-
RAID 0+1にログを保存します。書き込まれたすべてのブロックでチェックサムを実行し、高レベルの連続したI/Oには不向きなRAID5は使用しないでください。
親トピック: クラシック・キャプチャを使用する場合の追加構成手順