8 SQL ServerデータベースのためのOracle GoldenGateのインストール

SQL Serverデータベース用にOracle GoldenGateをインストールするための要件と方法について学習します。

トピック:

SQL ServerのためのOracle GoldenGateプロセスのオペレーティング・システム権限

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

Windowsで実行するマネージャ

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

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

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

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

  • Windows認証を使用してリモート・データベースに接続されているExtractまたはReplicatでManagerをWindowsサービスとして実行している場合、プロセスはManagerが実行されているアカウントでデータベースへのログインを試行します。Managerのサービス・アカウントにリモートSQL Serverインスタンスへの正しいアクセス権があることを確認します。

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

ExtractとReplicat

データベース接続とユーザーのExtractおよびReplicat構成の詳細は、異種データベースのためのOracle GoldenGateの使用データベース接続の構成を参照してください。

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

SQL ServerのためのOracle GoldenGateのプログラムおよび設定に関する情報を次に示します。

  • Oracle GoldenGateをインストールするオペレーティング・システムに応じてMicrosoft ODBC Driver 17またはMicrosoft ODBC Driver 18のいずれかをインストールします。

    Windows上のOracle GoldenGateの場合は、次のリンクから使用可能なドライバをインストールします。

    https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017

    Linux上のOracle GoldenGateの場合は、このリンクで使用可能なドライバをインストールし、RHELおよびOracle Linuxパッケージの手順に従います。

    https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

    ノート:

    Microsoft ODBC Driver 18のサポートが、Oracle GoldenGateリリース19.1.0.0.221021で追加されました。リリース19.1.0.0.221021より前のバージョンでは、SQL Server用のMicrosoft ODBC Driver 18はサポートされていません。
  • Oracle GoldenGate CDCクリーンアップ・タスクをインストールするには、Microsoft sqlcmdユーティリティが必要です。WindowsおよびLinuxシステムのダウンロード手順は、次の場所にあります。

    https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15

  • リモートのLinuxまたはWindowsサーバーに取得をインストールする場合は、リモート・サーバーの時刻とタイムゾーンをデータベース・サーバーの時刻とタイムゾーンに設定するか、ExtractのLSNベースの位置設定を使用します。

SQL Serverの要件

SQL Serverデータベースで操作するために、Oracle GoldenGateは次のインスタンス、データベース、およびその他の構成と設定をサポートしています。

サポートされているSQL Serverのバージョン

SQL Serverインスタンス用のOracle GoldenGateを構成する際の要件は、次のとおりです。

  • Oracle GoldenGate Extractでは、WindowsにインストールされたSQL Serverをサポートしています。SQL Server Enterprise Editionのバージョン2012、2014、2016、2017、2019と、SQL Server Standard Editionsのバージョン2016 (Service Pack1以降)、2017および2019をサポートしています。

  • (Extract) SQL Server 2014、2016、および2017については、SQL Server変更データ取得機能に直接影響する複数の重要な問題がMicrosoft社によって特定および修正されています。このことは、適切にデータを取得するためのOracle GoldenGateの機能に影響します。Microsoftパッチを必要とする現在の既知の問題には、KB3030352、KB3166120およびKB4073684が含まれています。SQL Server 2014、2016、または2017をソース・データベースとして使用する場合は、SQL Serverの対象バージョンに対応する最新のService Packまたは累積的な更新プログラムを適用することをお薦めします。

  • Oracle GoldenGate Deliveryでは、WindowsにインストールされたSQL Serverをサポートしています。SQL Server EnterpriseおよびStandardの各エディションの、バージョン2012、2014、2016、2017、2019をサポートしています。

  • Oracle GoldenGateでは、Azure SQL Database Managed Instanceのリモート取得と配信、およびAzure SQL Databaseのリモート配信がサポートされています。

  • Oracle GoldenGateでは、Amazon RDS for SQL Serverのリモート・キャプチャと配信をサポートしています。

インスタンスの要件

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

  • (Extract) Oracle GoldenGateでトランザクション・データを取得するには、ソースSQL ServerインスタンスでSQL Serverエージェントを実行している必要があり、データベースに対するSQL Server変更データ取得ジョブを実行している必要があります。データベースに対してSQL Serverトランザクション・レプリケーションも有効にしている場合は、SQL Serverログ・リーダー・エージェントを実行している必要があります。

  • TEXT、NTEXT、IMAGEのデータまたはVARCHAR(MAX)、NVARCHAR(MAX)およびVARBINARY(MAX)列のデータがmax text repl sizeオプションに設定されたSQL Serverのデフォルト・サイズを超過すると、そのサイズが拡大されます。現在のmax text repl size値は、sp_configureを使用して表示または調整します。

    ノート:

    Amazon RDS for SQL Serverの場合、インスタンスの設定を調整するには、sp_configureのかわりにパラメータ・グループを使用する必要があります。

データベースの要件

Oracle GoldenGateをサポートするための要件と制限事項を次に示します。

  • キャプチャおよび配信でサポートされているのはユーザー・データベースのみです。

  • Auto Update Statisticsがデータベースに対して有効になっていることを確認します。

  • データベースがSQL Serverインスタンスのバージョンの互換性レベルに設定されている必要があります。SQL Server 2012 (110)未満のデータベース互換性レベルはサポートされていません。

  • Oracle GoldenGateは、Transparent Data Encryption (TDE)で構成されたSQL Serverデータベースをサポートしています。

  • (Extract)ソース・データベースは、Microsoft SQL Serverの変更データ取得機能をサポートしている任意のリカバリ・モデルに設定できます。

  • 別のインスタンスから作成したバックアップの復元によってソース・データベースが作成された場合は、データベース所有者のSIDと新しいインスタンスのSIDを同期する必要があります。また、sp_changedbownerを使用すると、復元したデータベースを現在のログインに設定できます。

  • (AlwaysOn) Extractは、プライマリ・データベースまたは読取り専用の同期コミット・モードからの取得をサポートします。非同期コミット・モードの取得はサポートしていません。

制限事項:

  • Oracle GoldenGateはシステム・データベースのキャプチャまたは配信はサポートしません。

  • Oracle GoldenGateは、包含データベースからのキャプチャはサポートしません。

  • ソース・データベースの名前は、121文字以内にする必要があります。この制限は、サプリメンタル・ロギングの有効化に使用されるSQL Serverのストアド・プロシージャによるものです。

  • Oracle GoldenGateハートビート機能を構成する場合、SQL Serverデータベース名は107文字以内にする必要があります。

  • インメモリーOLTP (インメモリー最適化)が有効なSQL Server データベースからのキャプチャはサポートされません。データベースにメモリー最適化データ・ファイル・グループを追加すると、Oracle GoldenGateでは、データベース内のどの表に対してもサプリメンタル・ロギングを有効化できなくなります。それとは逆に、メモリー最適化データ・ファイル・グループの作成前にデータベース内のいずれかの表に対してサプリメンタル・ロギングを有効化していると、SQL Serverでは、メモリー最適化データ・ファイル・グループが作成できなくなります。

  • SQL Server 2014、2016、2017および2019には、トランザクションに対する遅延トランザクションの永続性のオプションがあります。ただし、Oracle GoldenGateによってサプリメンタル・ロギング(TRANDATA)で構成された表に対するトランザクションは、常に完全永続になります。

  • (AlwaysOn)非同期コミット・モードのAlwaysOn可用性グループからの取得はサポートされていません。

表の要件

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

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

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

  • Oracle GoldenGateは、SQL Serverチェンジ・データ・キャプチャで追跡する表で許可されている最大の表名および列の長さをサポートします。

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

データベースの接続

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

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

  • OLE DB: OLE DB: デフォルトでは、ReplicatプロセスはOLE DBを使用してターゲットのSQL Serverデータベースに接続し、DML操作を実行しようとします。使用するドライバがODBCのみをサポートする場合、ReplicatはODBC経由でDMLを適用するようになります。ODBC専用ドライバでOLE DBを使用する場合は、SQL Server用のMicrosoft OLE DB ドライバ18をインストールします。OLE DBを使用すると、特定の表プロパティのNot for ReplicationフラグをサポートするDBOPTIONS USEREPLICATIONUSERパラメータを使用できるようになります。

  • OLEDBモードのSQL Server 2012またはSQL Server 2014インスタンスへの接続にMicrosoft 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 ServerインスタンスをService Pack 1に含まれる最新の累積的な更新プログラム7にアップグレードします。

    • SQL Server 2014の場合は、SQL Serverインスタンスを最新の累積的な更新プログラム1にアップグレードします。

    • Microsoftのサポート対象ODBCドライバを使用します。

  • Azure SQLデータベースの場合は、MicrosoftでサポートされているODBCドライバを使用します。

  • Always On可用性グループのリスナーはサポート対象であり、同期モードのセカンダリ・レプリカに対する取得の読取り専用ルーティングをサポートするために必要です。

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

Oracle GoldenGateの設定時とインストール時には、管理クライアントまたはGGSCIコマンド・インタフェースでDBLOGINコマンドを使用してデータベースにログインすることが必要になります。たとえば、ADD TRANDATAコマンドでサプリメンタル・ロギングを追加するときなどです。

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

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

セキュリティ設定の詳細は、暗号化プロファイルの構成方法に関する項を参照してください。

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

SQL ServerのためのOracle GoldenGate Captureは、ローカルまたはリモートのWindowsまたはLinuxサーバーにインストールされた変更データ取得をサポートしています。WindowsにインストールされたSQL ServerのためのOracle GoldenGateは、Windowsで実行するSQL Serverに対するローカルおよびリモートの取得と配信をサポートしています。LinuxにインストールされたOracle GoldenGateは、Windowsで実行するSQL Serverに対するリモートの取得と配信のみをサポートしています。Oracle GoldenGateは、Linuxで実行するSQL Serverをサポートしません。

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

SQL Serverのためのインストール

SQL ServerのためのOracle GoldenGateをインストールするには、すべてのプラットフォームに対するインストールの手順に従います。