主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateのインストール
12c (12.3.0.1)
E89928-04
目次へ移動
目次

前
次

10 SQL Serverデータベースへのインストール

この章では、Oracle GoldenGate for Microsoft SQL Serverのインストール手順を説明します。Oracle GoldenGateをインストールすると、処理の実行および管理に必要なすべてのコンポーネントが(ドライバやライブラリなどの他のベンダー製の必要なコンポーネントを除いて)インストールされ、また、Oracle GoldenGateユーティリティがインストールされます。

トピック:

10.1 オペレーティング・システムの権限

次の説明に従ってオペレーティング・システム権限を割り当てます。

10.1.1 Manager

Managerプロセスは、Windowsサービスとして実行することも、現行ユーザーとしてインタラクティブに実行することもできます。Managerプロセスには次のものが必要です。

  • Oracle GoldenGateディレクトリ内のファイルおよびフォルダに対する完全な管理権限。

  • 証跡ファイルがOracle GoldenGateディレクトリ以外の場所に保存される場合は、証跡ファイルに対する完全な管理権限。

  • (クラシックExtract) Oracle GoldenGateのソース取得インストールの場合、ManagerにはSQL Serverデータベースのトランザクション・ログ・ファイルとトランザクション・ログ・バックアップに対する読取り権限が必要です。

  • (クラシックExtract)中間層Windowsサーバーからアーカイブ・ログ・モードでソース取得を実行している場合、Managerにはトランザクション・ログ・バックアップの書込み先のネットワーク共有に対する読取り権限、およびトランザクション・ログ・バックアップに対する読取り権限が必要です。

  • サーバーのローカル管理者グループのメンバーシップ(クラスタ内の全ノード)。

データの取得とレプリケーションを行うプログラムのExtractとReplicatは、Managerアカウント下で動作し、Managerのオペレーティング・システム・レベルの権限を継承します。

10.1.2 ExtractおよびReplicat

Oracle GoldenGateプロセスのデータベース・ユーザーを参照してください。

10.2 その他のプログラムおよび設定

その他の考慮事項の他に、次のプログラムおよびOracle GoldenGate for SQL Serverの設定情報を監視する必要があります。

  • アーカイブ・ログ・モードのクラシックExtract、またはリモートCDC Extractのために、リモートWindowsサーバーにキャプチャをインストールするには、リモート・サーバーの時間とタイムゾーンをデータベース・サーバーの時間とタイムゾーンに設定します。

  • (クラシックExtract)ソースのSQL Server 2008/2008 R2/2012/2014 Standard Editionデータベースから取得する場合は、SQL Serverレプリケーション機能がインストールされ、ディストリビュータが構成されている必要があります。

  • Oracle GoldenGateのインストール先のサーバーにSQL Serverクライアント・ツール接続機能がインストールされている必要があります。これらの機能は、通常、SQL Serverのインスタンスをインストールするときにインストールされます。ただし、リモートのExtractまたはReplicatに使用されるWindowsサーバーの場合、SQL Serverのインストール・メディアまたは次のWebサイトから必要なクライアント接続ドライバを取得できます。Oracle GoldenGate for SQL Serverでは、SQL Serverの特定のバージョンに同梱されているネイティブ・クライアントおよびODBCドライバがサポートされますが、この部で説明するいくつかの制限事項があります。SQL Server 2012の場合は、SQL Server 2012 Feature Packに含まれるSQL Server 2012 Native Clientを使用またはインストールします。

    https://www.microsoft.com/en-us/download/details.aspx?id=29065

    SQL Server 2014の場合は、Microsoft ODBC Driver 11を使用またはインストールします。https://www.microsoft.com/en-us/download/details.aspx?id=36434

    SQL Server 2016の場合は、Microsoft ODBC Driver 13.1を使用またはインストールします。https://www.microsoft.com/en-us/download/details.aspx?id=53339

    SQL Server 2017およびAzure SQL Databaseの場合は、Microsoft ODBC Driver 17 for SQL Serverを使用またはインストールします。

    https://www.microsoft.com/en-us/download/details.aspx?id=56567

    TLS 1.2をサポートするには、次の情報に基づいて、最新のクライアント・ドライバおよびSQL Serverインスタンスのパッチがあることを確認する必要があります。

    https://support.microsoft.com/en-us/help/3135244/tls-1-2-support-for-microsoft-sql-server

  • Oracle GoldenGateは、すべての仮想マシン環境を完全にサポートしています。仮想マシン環境にOracle GoldenGateをインストールする場合、ホスト・システムではなく仮想マシンのデータベースおよびオペレーティング・システムに適合するビルドを選択します。

10.3 SQL Serverの要件

Oracle GoldenGateをSQL Serverデータベースと連動させるには、データベース・インスタンスで次の設定を行う必要があります。

10.3.1 インスタンスの要件

SQL Serverインスタンス用のOracle GoldenGateを構成する際には、次の要件に注意してください。

  • クラシックExtractはSQL Server EnterpriseおよびStandard Editionのバージョン2008、2008R2、2012、2014をサポートする必要があります。

  • CDC ExtractはSQL Server Enterprise Editionのバージョン2008、2008 R2、2012、2014、2016およびSQL ServerのStandard Edition 2016 (Service Pack 1)以上をサポートする必要があります。

  • (CDC Extract) – SQL Server 2012、2014、2016の場合、Microsoftは一部のUPDATE操作が正しくCDCステージング表に書き込まれない可能性がある問題を特定して修正しています。これはDELETE/INSERTペアではなく、INSERTの後でDELETEが実行されるためです。これにより、ダウンストリーム・レプリケーションの問題(主キー違反など)が発生することがあります。この問題に対応するために、Microsoft社の修正プログラム(https://support.microsoft.com/en-us/help/3030352)の適用をお薦めします。

  • Oracle GoldenGate DeliveryはSQL Server EnterpriseおよびStandard Editionのバージョン2008、2008 R2、2012、2014、2016をサポートします。

  • SQL Serverのサーバー名(@@SERVERNAME)はNULLにできません。

  • (CDC Extract) Oracle GoldenGateでソースSQL Serverインスタンスのトランザクション・データをキャプチャするには、CDCキャプチャ・ジョブがCDC表にチェンジ・データをロードするために、ソースSQL ServerインスタンスでSQL Serverエージェントを実行している必要があります。

  • (CDC Extract) SQL Server 2016を使用している場合は、サプリメンタル・ロギングを有効にする前に、Microsoft社のバグ修正プログラム(https://support.microsoft.com/en-us/help/3166120/fix-could-not-find-stored-procedure-sys.sp-cdc-parse-captured-column-list-error-in-sql-server-2016)が適用されていることを確認してください。この修正プログラムがSQL Serverインスタンスに適用されていないと、データベースの表に対してADD TRANDATAを発行したときに、サプリメンタル・ロギングが成功したと誤ってレポートされる可能性があります。実際には成功していないため、その表に対するレコードは取得されません。

  • (クラシックExtract)ソースのSQL Server Standard Editionデータベースからデータを取得するには、SQL Serverレプリケーション機能がインストールされ、ディストリビュータが構成され、ディストリビューション・データベースを作成する必要があります。

  • データの取得TEXT、NTEXT、IMAGEまたはVARCHAR(MAX)、NVARCHAR(MAX)およびVARBINARY(MAX)と列が、"max text repl size"で設定されるSQL Serverのデフォルト・サイズを超える場合は、Oracle GoldenGateによってターゲットの必要に応じてデータが調整されます。

10.3.2 データベースの要件

この項では、Oracle Databaseに固有のOracle GoldenGate要件を示します。これらは、特に指定されていないかぎり、両方のキャプチャ・モードに適用されます。

  • DBMS_LOB.LOADFROMFILEプロシージャを使用してLOB列のみを更新し、サプリメンタル・ログがすべての列にある場合、統合Extractはキー列およびパフォーマンスを改善するLOBをキャプチャします。クラシックExtractはデフォルトですべての列をキャプチャします。これらの動作は同種レプリケーションには影響しません。ただし、データウェアハウスへのレプリケーションの場合、すべての列の更新が必要になる可能性があります。クラシックExtractから統合Extractに変換する場合、次のパラメータのうち1つを使用してExtractが確実に正しく動作するようにする必要があります。

    • KEYCOLSを使用して(LOB以外の)すべての列を追加します。

    • LOGALLSUPCOLSを使用して、サプリメンタル・ロギングされる列の書込みを制御します。

  • データベース・ユーザーの権限および構成要件の詳細は、Oracle DatabaseのためのOracle GoldenGateの使用のOracle GoldenGate資格証明の確立に関する項を参照してください。

  • Bequeath接続を使用するようにデータベースが構成されている場合、sqlnet.oraファイルにbequeath_detach=true設定が含まれている必要があります。

  • Oracle Databaseは、Extractでログ・ファイルを処理できるように、ARCHIVELOGモードにする必要があります。

  • ご使用のデータベースのSUPPLEMENTAL LOGGINGが有効になっていることを確認します。

10.3.3 表の要件

キャプチャと配信の対象に含める表には、「サポートされているSQL Serverデータ型」にリストされたデータ型のみが含まれている必要があります。

  • Oracle GoldenGateでは、ユーザー表からのトランザクションDMLのキャプチャ、ユーザー表および書込み可能ビューへの配信をサポートしています。

  • DDL操作はサポートされません。

  • Enterprise Editionデータベースのソース表には主キーは不要です。

  • (クラシックExtract) Standard Editionデータベースのソース表には主キーが必要です。

  • Oracle GoldenGateでは、Enterprise EditionのSQL Serverチェンジ・データ・キャプチャでトラッキングされる表およびSQL Serverトランザクション・レプリケーションのパブリケーションのアーティクルである表に対して許容される最大の表の名前と列の長さがサポートされます。

  • キャプチャ元の表のすべての列の長さの合計は、その表に対するチェンジ・データ・キャプチャを有効にするためにSQL Serverで許容される長さを超えることはできません。すべての列の長さの合計がSQL Serverプロシージャsys.sp.cdc_enable_tableで許容される長さを超えると、その表に対してADD TRANDATAを有効にできなくなります。最大許容レコード長は列数が増加すると減少するため、最大レコード長と表の列数には反比例関係があります。

10.3.4 データベース接続

Oracle GoldenGateはデータベースへの接続にODBCおよびOLE DBを使用します。

  • ODBC: Extractプロセスは、ODBCを使用してソースのSQL Serverデータベースに接続し、メタデータの取得およびその他のプロセスの問合せを実行します。Replicatプロセスは、ODBCを使用してターゲットのSQL Serverデータベースに接続し、メタデータを取得しますが、オプションでODBCを配信トランザクションにも使用できます。ODBCは適切に構成する必要があります。

  • OLE DB: デフォルトでは、ReplicatプロセスはOLE DBを使用してターゲットのSQL Serverデータベースに接続し、DML操作を実行しようとします。したがって、メタデータ用のODBCとDML用のOLE DBの、少なくとも2つのReplicat接続が常に存在します。OLEDBをサポートしていないMicrosoft社のODBCドライバを使用している場合は、DBOPTIONS USEODBCパラメータを使用して実行するようにReplicatを設定する必要があります。Azure SQLデータベース・ターゲットに接続する場合、ReplicatにはDBOPTIONS USEODBCが必要です。

サポートの制限

  • SQL Server 2008/2008R2の場合、SQL Server Native Client 10.0ドライバを使用します。古いSQL Serverドライバ(SQLSRV32.DLL)では、新しいSQL Serverデータ型はサポートされません。

  • SQL Server 2012/2014/2016の場合、SQL Server Native Client 11.0ドライバを使用します。

  • OLEDBモードのSQL Server 2012またはSQL Server 2014インスタンスへの接続にSQL Server Native Client 11 OLE DBドライバを使用すると、メモリー・リークの問題をもたらす可能性があります(Microsoft記事2881661)。 Microsoft社では、SQL Server 2012 SP1 CU7 (Microsoft記事2894115)およびSQL Server 2014 CU1 (Microsoft記事2931693)で修正を提供しています。 想定されるメモリー・リークを回避するには、次のオプションのいずれかを選択します。

    • SQL Server 2012の場合、SQL Native Client 11.0ドライバをSP1 CU7レベルにアップグレードします。

    • SQL Server 2014の場合、新しいWindowsシステムにSQL Server 2014 CU1をインストールした後に、メモリー・リークがまだ存在する可能性があります。 これは、SQL Server 2012 SP1 CU7からSQL Server 2014 CU1にアップグレードすると発生しません。

  • SQL Server 2014/2016の場合、SQL Server Native Client 11.0ドライバのみがサポートされています。ODBC Driver 11/13 for SQL Serverはサポートされていません。

  • AlwaysOn可用性グループ・リスナー接続はサポートされていません。

10.3.5 Oracle GoldenGateプロセス用データベース・ユーザー

Oracle GoldenGateでSQL Serverデータベースに対する取得および適用を実行するには、次のデータベース・ユーザーおよび権限が必要です。

10.3.5.1 サプリメンタル・ロギングを有効にするユーザー

データベース・ユーザーは、Oracle GoldenGate構成内のソース・データベースに対してサプリメンタル・ロギングを有効にするために、ADD TRANDATAコマンドを発行する必要があります。データベース・ログイン・コマンド(DBLOGIN)は、ADD TRANDATAの発行前にGGSCIから発行されます。

  • TRANDATAを有効にするデータベース・ユーザーには、sysadmin権限が付与されている必要があります。

(CDC Extract) Extractはdbowner権限で実行できます。ただし、コマンドADD HEARTBEATTABLEDELETE HEARTBEATTABLEINFO HEARTBEATTABLEを発行するには、システム管理者(sysadmin)権限が必要です。

10.3.5.2 SQL ServerのExtractユーザーとReplicatユーザー

Oracle GoldenGate Extractプロセスは、初期ロードの場合はソースのSQL Serverデータベースからデータをキャプチャし、クラシックExtractはトランザクション・ログおよびトランザクション・ログ・バックアップから、CDC ExtractはCDC表からキャプチャします。Replicatプロセスは、ターゲットのSQL Serverデータベースにデータを適用します。 これらのプロセスは、Windows認証またはSQL Server認証を使用してデータベースに接続できます。

  • Windows認証を使用するために、Managerサービスの「プロパティ」に指定されている「ログオン」アカウントによって識別されるように、ExtractプロセスおよびReplicatプロセスがManagerプロセスのログイン資格証明を継承します。このアカウントは、次にリストされた権限を持つ必要があります。

    Oracle GoldenGateプロセス ローカル・システム・アカウントを使用している場合のManagerの権限 ローカル/ドメイン・アカウントを使用している場合のManagerの権限

    クラシックExtract

    (ソース・システム)

    BUILTIN\Administratorsアカウントは、SQL Serverの固定サーバー・ロールであるSystem Administratorsのメンバーである必要があります。

    アカウントは、SQL Serverの固定サーバー・ロールであるSystem Administratorsのメンバーである必要があります。

    CDC Extract (ソース・システム)

    BUILTIN\Administratorsアカウントは、最低でもソース・データベースのロールdb_ownerのメンバーであることが必要です。

    アカウントは、最低でもソース・データベースの固定データベース・ロールdb_ownerのメンバーであることが必要です。

    Replicat

    (ターゲット・システム)

    BUILTIN\Administratorsアカウントは、最低でもターゲット・データベースの固定データベース・ロールdb_ownerのメンバーである必要があります。

    アカウントは、最低でもターゲット・データベースの固定データベース・ロールdb_ownerのメンバーである必要があります。

  • SQL Server認証を使用する場合、ExtractまたはReplicatパラメータ・ファイルのUSERIDパラメータ(PASSWORDオプション付き)でユーザーとパスワードを指定するか、Oracle GoldenGate資格証明ストアを使用してUSERIDALIASパラメータでユーザー別名を指定する必要があります。

  • SQL Server認証を使用するには、ExtractおよびReplicat専用のSQL Serverログインを作成し、次にリストされている権限を割り当てる必要があります。

SQL Server認証を使用して接続するクラシックExtract SQL Server認証を使用して接続するCDC Extract SQL Server認証を使用して接続するReplicat

アカウントは、SQL Serverの固定サーバー・ロールであるSystem Administratorsのメンバーである必要があります。

アカウントは、最低でもソース・データベースの固定データベース・ロールdb_ownerのメンバーである必要があります。

アカウントは、最低でもターゲット・データベースの固定データベース・ロールdb_ownerのメンバーであることが必要です。

10.3.6 ユーザー資格証明の暗号化および格納

Windows認証ではなくSQL Server認証を使用する場合は、Oracle GoldenGateの設定時およびインストール時に、GGSCIコマンド・インタフェースでDBLOGINコマンドを使用してデータベースにログインすることが必要に場合があります。たとえば、ADD TRANDATAコマンドでサプリメンタル・ロギングを追加するときなどです。

セキュリティ対策としてログイン・パスワードの暗号化をお薦めします。ただし、標準のDBLOGINコマンドでセキュア・パスワードを使用するには、それより先にENCRYPT PASSWORDコマンドを使用してパスワードを暗号化する必要があります。DBLOGINを発行するたびにパスワードを暗号化しなくてもよく、ユーザーIDが公開されないように保護するには、設定および構成を開始する前にOracle GoldenGate資格証明ストアを作成します。

資格証明ストアを使用すると、DBLOGINでログインするときには、常にログイン資格証明の別名を指定することのみが必要になります。また、証明書ストアを使用することで、パラメータ・ファイルを構成するときに、ExtractおよびReplicatのプロセスに対するログイン資格証明の指定が簡単かつ安全になります。まず、資格証明ストアに基本エントリを作成しておいて、管理コマンドを使用して必要に応じて拡張できます。

10.4 Oracle GoldenGateをインストールする場所

SQL Server用のOracle GoldenGateキャプチャでは、リアルタイム・モードとアーカイブ・ログ・モードをサポートしています。クラシックExtractの場合は、リアルタイム・キャプチャのために、ソース・データベース・サーバー上にOracle GoldenGateをインストールする必要があります。アーカイブ・ログ・モードのクラシックExtractの場合は、ソース・データベース・サーバーまたはリモートWindowsサーバー上にOracle GoldenGateをインストールできます。CDC Extractは、ローカル・データベース・サーバーまたはリモートWindowsサーバーからのリアルタイム・キャプチャをサポートします。

SQL Serverデータベースに適用する場合は、データベース・サーバーまたはリモートWindowsサーバー上にOracle GoldenGateをインストールできます。

10.5 SQL Serverへのインストール

Oracle GoldenGateプロセスを実行する前には、追加のデータベスの準備が必要になります。詳細は、「Oracle GoldenGateのためのシステムの準備」を参照してください。Windowsシステムまたはクラスタ内の適切な場所にOracle GoldenGateをインストールするには、すべてのプラットフォームへのインストールの手順を参照してください。この手順はすべてのバージョンのSQL Serverに適用されます。