5 SQL ServerデータベースのためのOracle GoldenGateのインストール
SQL Serverデータベース用にOracle GoldenGateをインストールするための要件と方法について学習します。
トピック:
5.1 SQL ServerのためのOracle GoldenGateプロセスのオペレーティング・システム権限
次の説明に従ってオペレーティング・システム権限を割り当てます。
5.1.1 Windowsで実行するマネージャ
Managerプロセスは、Windowsサービスとして実行することも、現行ユーザーとしてインタラクティブに実行することもできます。Managerプロセスには次のものが必要です。
-
Oracle GoldenGateディレクトリ内のファイルおよびフォルダに対する完全な管理権限。
-
証跡ファイルがOracle GoldenGateディレクトリ以外の場所に保存される場合は、証跡ファイルに対する完全な管理権限。
-
サーバーのローカル管理者グループのメンバーシップ(クラスタ内の全ノード)。
-
Windows認証を使用してリモート・データベースに接続されているExtractまたはReplicatでManagerをWindowsサービスとして実行している場合、プロセスはManagerが実行されているアカウントでデータベースへのログインを試行します。Managerのサービス・アカウントにリモートSQL Serverインスタンスへの正しいアクセス権があることを確認します。
データの取得とレプリケーションを行うプログラムのExtractとReplicatは、Managerアカウント下で動作し、Managerのオペレーティング・システム・レベルの権限を継承します。
5.2 その他のプログラムおよび設定
SQL ServerのためのOracle GoldenGateのプログラムおよび設定に関する情報を次に示します。
-
Oracle GoldenGateをインストールするオペレーティング・システム用に、Microsoft ODBC Driver 17をインストールします。
ノート:
Microsoft ODBC Driver 18は、Oracle GoldenGateでサポートされていないためインストールしないでください。Oracle GoldenGateをLinuxにインストールする場合は、LinuxおよびMAC OSにMicrosoft ODBC Driver 17 for SQL Serverをインストールするための手順(https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017#17を参照)に従い、RedHat Enterprise Serverの項にリストされているコンテンツを参照してください。
-
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ベースの位置設定を使用します。
5.2.1 Linux用のMicrosoft ODBCドライバのインストール
親トピック: その他のプログラムおよび設定
5.3 SQL Serverの要件
SQL Serverデータベースで操作するために、Oracle GoldenGateは次のインスタンス、データベース、およびその他の構成と設定をサポートしています。
5.3.1 サポートされているSQL Serverのバージョン
SQL Serverインスタンス用のOracle GoldenGateを構成する際の要件は、次のとおりです。
-
Oracle GoldenGateのExtractは、WindowsにインストールされているSQL Serverをサポートしています。SQL Server Enterpriseエディションのバージョン2014、2016、2017、2019と、SQL Server Standardエディションのバージョン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エディションのバージョン2014、2016、2017、2019がサポートされています。
-
Oracle GoldenGateでは、Azure SQLデータベース管理インスタンスのリモート取得と配信、およびAzure SQL Databaseのリモート配信がサポートされています。
-
Oracle GoldenGateは、Amazon RDS for SQL Serverのリモート・キャプチャとリモート配信をサポートしています。
親トピック: SQL Serverの要件
5.3.2 インスタンスの要件
-
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
のかわりにパラメータ・グループを使用する必要があります。
親トピック: SQL Serverの要件
5.3.3 データベースの要件
Oracle GoldenGateをサポートするための要件と制限事項を次に示します。
-
キャプチャおよび配信でサポートされているのはユーザー・データベースのみです。
-
Auto Update Statistics
がデータベースに対して有効になっていることを確認します。 -
データベースがSQL Serverインスタンスのバージョンの互換性レベルに設定されている必要があります。SQL Server 2014 (120)未満のデータベース互換性レベルはサポートされていません。
-
Oracle GoldenGateは、Transparent Data Encryption (TDE)で構成されたSQL Serverデータベースをサポートしています。
-
(Extract)ソース・データベースは、Microsoft SQL Serverの変更データ取得機能をサポートしている任意のリカバリ・モデルに設定できます。
-
別のインスタンスから作成したバックアップの復元によってソース・データベースが作成された場合は、データベース所有者のSIDと新しいインスタンスのSIDを同期する必要があります。また、
sp_changedbowner
を使用すると、復元したデータベースを現在のログインに設定できます。 -
(AlwaysOn) Extractは、プライマリ・データベースまたは読取り専用の同期コミット・モードからの取得をサポートします。非同期コミット・モードの取得はサポートしていません。
-
Replicatのパフォーマンスに関する考慮事項: SQL Server 2016以降、Microsoftでは、データベース・オプション
TARGET_RECOVERY_TIME
のデフォルト設定を0秒から60秒に変更しています。これにより、Replicatのスループットが低下することが内部テストで実証されています。Replicatのスループットが低下した場合は、TARGET_RECOVERY_TIME
設定を0に調整することを検討してください。
制限事項:
-
Oracle GoldenGateはシステム・データベースのキャプチャまたは配信はサポートしません。
-
Oracle GoldenGateは、包含データベースからのキャプチャはサポートしません。
-
ソース・データベースの名前は、121文字以内にする必要があります。この制限は、サプリメンタル・ロギングの有効化に使用されるSQL Serverのストアド・プロシージャによるものです。
-
Oracle GoldenGateハートビート機能を構成する場合、SQL Serverデータベース名は107文字以内にする必要があります。
-
インメモリーOLTP (インメモリー最適化)が有効なSQL Server データベースからのキャプチャはサポートされません。データベースにメモリー最適化データ・ファイル・グループを追加すると、Oracle GoldenGateでは、データベース内のどの表に対してもサプリメンタル・ロギングを有効化できなくなります。それとは逆に、メモリー最適化データ・ファイル・グループの作成前にデータベース内のいずれかの表に対してサプリメンタル・ロギングを有効化していると、SQL Serverでは、メモリー最適化データ・ファイル・グループが作成できなくなります。
-
(AlwaysOn) AlwaysOn Availability Groupの非同期コミット・モードで構成されたデータベースからの取得はサポートされていません。
親トピック: SQL Serverの要件
5.3.4 表の要件
取得と配信の対象に含める表には、「サポートされているSQL Serverデータ型」にリストされたデータ型のみが含まれている必要があります。
-
Oracle GoldenGateでは、ユーザー表からのトランザクションDMLのキャプチャ、ユーザー表および書込み可能ビューへの配信をサポートしています。
-
DDL操作はサポートされません。
-
Oracle GoldenGateは、SQL Serverチェンジ・データ・キャプチャで追跡する表で許可されている最大の表名および列の長さをサポートします。
-
キャプチャ元の表のすべての列の長さの合計は、その表に対するチェンジ・データ・キャプチャを有効にするためにSQL Serverで許容される長さを超えることはできません。すべての列の長さの合計がSQL Serverプロシージャ
sys.sp.cdc_enable_table
で許容される長さを超えると、その表に対してADD TRANDATA
を有効にできなくなります。最大許容レコード長は列数が増加すると減少するため、最大レコード長と表の列数には反比例関係があります。
親トピック: SQL Serverの要件
5.3.5 データベース接続
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のみをサポートする場合、ReplicatはODBC経由でDMLを適用するようになります。ODBC専用ドライバでOLE DBを使用する場合は、SQL Server用のMicrosoft OLE DB ドライバ18をインストールします。OLE DBを使用すると、特定の表プロパティの
Not for Replication
フラグをサポートするDBOPTIONS USEREPLICATIONUSER
パラメータを使用できるようになります。 -
OLEDBモードのSQL Server 2014インスタンスへの接続にMicrosoft SQL Server Native Client 11 OLE DBドライバを使用すると、メモリー・リークの問題が発生する可能性があります(Microsoftの記事2881661)。 Microsoftでは、SQL Server 2014 CU1 (Microsoftの記事2931693)で修正を提供しています。 想定されるメモリー・リークを回避するには、次のオプションのいずれかを選択します。
-
SQL Server 2014の場合は、SQL Serverインスタンスを最新の累積的な更新プログラム1にアップグレードします。
-
Microsoftのサポート対象ODBCドライバを使用します。
-
-
Azure SQLデータベースの場合は、MicrosoftでサポートされているODBCドライバを使用します。
-
Always On可用性グループのリスナーはサポート対象であり、同期モードのセカンダリ・レプリカに対する取得の読取り専用ルーティングをサポートするために必要です。
親トピック: SQL Serverの要件
5.4 Oracle GoldenGateをインストールする場所
WindowsにインストールされたSQL ServerのためのOracle GoldenGateは、Windowsで実行するSQL Serverに対するローカルおよびリモートの取得と配信をサポートしています。LinuxにインストールされたOracle GoldenGateは、Windowsで実行するSQL Serverに対するリモートの取得と配信のみをサポートしています。Oracle GoldenGateは、Linuxで実行するSQL Serverをサポートしません。
Windows上で実行されているSQL Serverデータベースに適用する場合は、データベース・サーバーまたはリモートのLinuxまたはWindowsサーバーにOracle GoldenGateをインストールできます。