内容は次のとおりです。
この項では、SQL ServerデータベースへのExtractおよびReplicatの接続を設定する手順について説明します。
Extractでは、ODBC (Open Database Connectivity)接続でソースSQL Serverデータベースに接続します。この接続を確立するには、「データ ソース(ODBC)」コントロール・パネルからデータ・ソース名(DSN)を設定します。手順は、ODBC接続の構成を参照してください。
ご使用のデータベース環境でトランスポート・レイヤー・セキュリティ(TLS) 1.2を使用する場合、サポートされる接続プロトコルを強制的に使用するため、Extractに次のパラメータを含めてください。
DBOPTIONS DRIVER SQLNCLI11
親トピック: データベース接続の構成
Replicatは、次のようにしてターゲット・データベースに接続しDML操作を実行できます。
ODBCを使用します。
OLE DBを使用します。この方法がデフォルトで、ODBCを使用する方法よりもパフォーマンスが多少向上します。
SQL Serverレプリケーション・ユーザーとしてOLE DBを使用します。IDENTITY
列、外部キー制約、およびトリガーに、NOT FOR REPLICATION
を設定する必要があります。
注意:
Replicatでは常にODBCを使用してメタデータを問い合せるため、ターゲットODBC接続を構成する必要があります。
使用する方法を選択する前に、次のガイドラインと手順を確認してそれぞれのメリットとデメリットを評価します。
ReplicatがODBC接続またはデフォルトのOLE DB接続を介して接続すると、次のような制限が適用されます。
ODBCまたはデフォルトのOLE DBを使用している場合に、ソースとターゲットに対してIDENTITY
列をまったく同じに保つには、Replicatはトランザクションで特別な操作を作成し、必ずターゲットに対してシードがインクリメントされるようにします。これらの手順によって、配信パフォーマンスが低下する場合があります。
冗長な操作の可能性を排除するために、ターゲット表に対するトリガーおよび制約を調整または無効にする必要があります。
ReplicatをODBCまたはOLE DBと組み合せて使用するには、次の手順に従います。
注意:
OLE DBは、ODBC接続設定を使用して、使用するドライバの情報とともにOLE DBの接続情報を取得します。
親トピック: Replicatのデータベース接続の構成
USEREPLICATIONUSER
の使用ReplicatがUSEREPLICATIONUSER
オプションを指定してOLE DB経由でSQL Serverレプリケーション・ユーザーとして接続し、IDENTITY
、トリガー、および外部キー制約に対してNOT FOR REPLICATION
が有効になっている場合は、次のような利点と制限が適用されます。
Replicatが挿入を実行すると、IDENTITY
シードがインクリメントされません。双方向のSQL Server構成では、前の項の手順3で示した例のように、シード値と増分値をずらして設定します。
トリガーは、冗長な操作を回避するために、ターゲット上でReplicatユーザーに対して自動的に無効になります。ただし、他のユーザーに対してはターゲット上でトリガーが起動されます。
外部キー制約は、Replicatトランザクションのターゲットに対して強制されません。CASCADE
更新および削除は行われません。これらも冗長な操作を防ぎます。
CHECK
制約は、Replicatトランザクションのターゲットに対して強制されません。これらの制約は、データの取得前にソースに対して強制されますが、ターゲットに制約がないことでデータの整合性の問題が発生するかを検討します。
注意:
通常のIDENTITY
、トリガー、および制約の機能は、Replicatレプリケーション・ユーザー以外のユーザーに対しては有効のままです。
USEREPLICATIONUSER
を設定してReplicatを使用するには、次の手順に従います。
親トピック: Replicatのデータベース接続の構成
次の手順に従って、ソースSQL ServerデータベースおよびターゲットSQL Serverデータベース用のSQL Serverシステムのデータ・ソース名(DSN)を作成します。DSNには、ODBC (Open Database Connectivity)を介したSQL Serverデータベースへの接続方法に関する情報が格納されます。
注意:
OLE DBを適用接続の方法として使用している場合でも、Replicatでは、ターゲット・データベースへのメタデータに関する問合せに、常にODBCを使用します。したがって、Replicatには常にDSNが必要です。
SQL ServerのDSNの作成手順
親トピック: データベース接続の構成
次の項に示す表属性はOracle GoldenGate環境で処理する必要があります。
SQL Serverがターゲットの環境では、ソースで発生した操作を繰り返す可能性のあるトリガーおよびカスケード制約を考慮します。たとえば、TableBにレコードを挿入するTableAの挿入トリガーがソースにあり、TableAおよびTableBの両方をキャプチャおよび配信するようにOracle GoldenGateが構成されている場合、ターゲット表TableAの挿入トリガーを無効にする必要があります。そうしないと、ReplicatはTableAに挿入し、トリガーが起動してTableBに挿入します。ReplicatはTableBにも挿入しようとするため、異常終了します。
DBOPTIONS USEREPLICATIONUSER
パラメータをReplicatに使用します。
OLE DB接続をReplicatに使用します。OLE DB接続の使用はデフォルトの構成です。トリガー、制約、またはIDENTITY
プロパティでNOT FOR REPLICATION
を有効にする必要があります。
次のシナリオでは、ターゲットでトリガーおよび制約を無効にします。
ソースのすべての表がレプリケートされる単方向のレプリケーション。
次のシナリオでは、ターゲットのトリガーおよび制約を有効にします。
トリガーまたはカスケード操作によって影響を受ける表がレプリケートされず、これらの表をロードするアプリケーションのみがトリガーまたはカスケード操作を使用している単方向のレプリケーション。
ソースのすべての表がレプリケートされる単方向または双方向のレプリケーション。このシナリオでは、ターゲット表のカスケード制約およびトリガーを設定してNOT FOR REPLICATION
を有効にし、ReplicatのDBOPTIONS USEREPLICATIONUSER
パラメータを使用してください。
親トピック: 処理のための表の準備
Oracle GoldenGateでは、レプリケートされた更新および削除に対して正しいターゲット行を見つけるために、ソース表とターゲット表に一意の行識別子が必要です。ソース表は、Oracle GoldenGateで使用する行識別子の種類を判別する方法に記載されている任意の種類のキーを持つことができます(ただし、SQL Server Standard Editionインスタンスの表には主キーが必要です)。固定長の列が存在する表に主キーが識別されない場合、それらの固定長列のいずれかの長さは3800バイト未満である必要があります。
TABLE
またはMAP
文でKEYCOLS
句が使用されないかぎり、Oracle GoldenGateは、使用する行識別子を次の優先順位に従って選択します。
親トピック: 行識別子の割当て
KEYCOLS
を使用したカスタム・キーの指定該当するキーが表にない場合、あるいは識別子を使用しない場合、表に常に一意の値を含んだ列があれば、代替キーを定義できます。ExtractのTABLE
パラメータおよびReplicatのMAP
パラメータ内にKEYCOLS
句を含めることで、この代替キーを定義します。指定されたキーは、Oracle GoldenGateが検出する既存の主キーまたは一意キーを上書きします。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: 行識別子の割当て
IDENTITY
レプリケーションの改善セッションごとに1つの表しかIDENTITY_INSERT
をON
に設定できないため、セッション内の複数の表にIDENTITY
データを適用するときは、ReplicatがIDENTITY_INSERT
の切替えを続ける必要があります。このような状況で、Replicatのパフォーマンスを改善するには、BATCHSQL
パラメータを使用します。BATCHSQL
を使用すると、Replicatは、一度に1つずつSQL文を適用するかわりに配列処理を使用します。
親トピック: 処理のための表の準備
Oracle GoldenGateのグローバリゼーション・サポートにより、ネイティブ言語のエンコーディングでのデータ処理が可能になります。Oracle GoldenGateの適用プロセス(Replicat)では、文字型の列にデータが含まれている場合に、あるキャラクタ・セットから別のキャラクタ・セットへのデータ変換がサポートされます。詳細は、『Oracle GoldenGateの管理』を参照してください。
親トピック: Oracle GoldenGateシステムの準備