この章では、Oracle GoldenGateをサポートするシステムおよびデータベース・リソースの要件について説明します。
この章の内容は次のとおりです。
サポートされているハードウェアまたはソフトウェア構成で製品をインストールしていることを確認します。詳細は、「Oracle Fusion Middleware Supported System Configurations」ページのリリースの動作保証に関するドキュメントを参照してください。
Oracleでは、動作保証済のすべてのシステムおよび環境で製品のパフォーマンスをテストおよび検証しており、新しい動作保証情報が発表された場合は、適切な動作保証ドキュメントにすぐに追加されます。新しい動作保証情報は常に発生する可能性があるため、動作保証ドキュメントはドキュメント・ライブラリの外部に保持され、Oracle Technology Networkで利用できます。
この項では、Oracle GoldenGateのオペレーティング・システムの要件を説明します。これらの要件は、次のいずれかのカテゴリに分類されます。
Oracle GoldenGateに必要なメモリーの量は、処理されるデータの量、実行されるOracle GoldenGateプロセスの数、Oracle GoldenGateで使用可能なRAMの量、およびオペレーティング・システムでRAMを開放する必要がある場合(通常はロー・ウォーターマークに達した場合)にRAMのページを一時的に格納するためにOracle GoldenGateで使用可能なディスク領域の量に応じて異なります。このRAMからディスクへの一時的な格納は、一般にスワッピングまたはページングと呼ばれます(以後スワッピングと呼びます)。プラットフォームによっては、スワップ領域という用語は、スワップ・パーティション、スワップ・ファイル、ページ・ファイル(Windows)または共有メモリー・セグメント(IBM iプラットフォーム)と呼ばれます。
最近のサーバーには、Oracle GoldenGateを実行するのに十分なRAMとスワップ領域、メモリー管理システムが備わっています。ただし、Oracle GoldenGateで使用できるRAMの量を増やすと、Oracle GoldenGateのパフォーマンスおよびシステム全般のパフォーマンスが大幅に向上する場合があります。
通常のOracle GoldenGateインストールでは、RAMページからディスクへのスワッピングが過度に発生しないよう数GBのRAMが指定されます。RAMの競合が多いほど、多くのスワップ領域が使用されます。
ディスクへのスワッピングが過度に発生する場合、コミット・レコードを受信するまで各オープン・トランザクションのデータを格納する必要があるため、特にExtractプロセスにパフォーマンスの問題が生じます。Oracle GoldenGateがデータベースと同じシステムで稼働する場合、使用可能なRAMの量は、両方のパフォーマンスにとって非常に重要になります。
RAMとスワップの使用量は、Oracle GoldenGateプロセスではなく、オペレーティング・システムによって制御されます。Oracle GoldenGateキャッシュ・マネージャは、オペレーティング・システムのメモリー管理機能を利用して、Oracle GoldenGateプロセスを持続的かつ効率的に機能させます。ほとんどの場合、ユーザーは、デフォルトのOracle GoldenGateメモリー管理構成を変更する必要はありません。
Oracle GoldenGateのメモリー要件を求めるには、Oracle GoldenGate Windows and UNIXリファレンスのCACHEMGRパラメータの項を参照してください。
次の説明に従って、ディスク空き領域を割り当てます。
Oracle GoldenGateダウンロード・ファイルのサイズを確認するには、選択したビルドをOracle Software Delivery Cloudからダウンロードする前に「Size」列を確認します。表示される値は、圧縮形式のファイルのサイズです。ディスク上に展開したOracle GoldenGateインストール・ディレクトリのサイズは非常に大きくなります。詳細は、2.2項「Oracle GoldenGateのダウンロード」を参照してください。
Oracle GoldenGateをクラスタ環境にインストールするには、すべてのクラスタ・ノードで使用可能な共有ファイル・システムにOracle GoldenGateのバイナリとファイルをOracleユーザーとしてインストールします。詳細は、2.3項「クラスタ内にOracle GoldenGateをインストールする準備」を参照してください。
Oracle GoldenGate証跡(作業用データが含まれているファイル)をホストするすべてのシステムに追加で1GBのディスク領域。証跡によって消費される領域は処理されるデータ量に応じて異なるため、これとは多少異なる容量が必要となる場合があります。Oracle GoldenGate Windows and UNIXの管理で証跡のサイズ設定のガイドラインを参照してください。
デフォルトでは、Oracle GoldenGateによってOracle GoldenGateインストール・ディレクトリのdirtmp
サブディレクトリにディスクにスワップされるデータが保持されます。キャッシュ・マネージャは、ファイル・システムのすべての空き容量を使用可能とみなします。トランザクション・ボリュームとトランザクション・サイズが大きい場合、このディレクトリはすぐに一杯になります。I/Oの競合とディスクに関連するExtractの障害が起こらないようにするには、ディスクをこのディレクトリ専用にします。CACHEMGR
パラメータのCACHEDIRECTORY
オプションを使用して、このディレクトリに名前とサイズを割り当てることができます。CACHEMGR
のCACHESIZE
オプションにより、トランザクション・データのキャッシュに使用できる仮想メモリー量(キャッシュ・サイズ)の弱い制限が設定されます。これらのオプションのデフォルト値およびシステム調整が必要な場合の詳しい説明については、Oracle GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
次の説明に従って、ネットワークを構成します。
DNSを含むTCP/IPサービスを使用するようにシステムを構成します。Oracle GoldenGateはIPv4とIPv6をサポートし、これらのプロトコルのいずれか、または両方がサポートされるシステムで稼働します。
Oracle GoldenGateプロセスをホストし、Oracle GoldenGateが接続するすべてのシステムのホスト名またはIPアドレスでネットワークを構成します。ホスト名の方が容易に使用できます。
Oracle GoldenGateでは、予約されていない制限なしのTCP/IPポートが必要とされ、必要な数は、構成内のプロセスの数とタイプによって異なります。必要なポートに対応するようManagerプロセスを構成する方法の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
Oracle GoldenGateに割り当てたポートを記録しておきます。Managerプロセスの構成時に、そのポートをパラメータで指定します。
Oracle GoldenGateのポートを介して接続を受け入れるようにファイアウォールを構成します。
次の説明に従って権限を割り当てます。
Managerプロセスは、Windowsサービスとして実行することも、現行ユーザーとしてインタラクティブに実行することもできます。Managerプロセスには次のものが必要です。
Oracle GoldenGateディレクトリ内のファイルおよびフォルダに対する完全な管理権限。
証跡ファイルがOracle GoldenGateディレクトリ以外の場所に保存された場合の、証跡ファイルに対する完全な管理権限。
ローカル管理者グループのメンバーシップ(クラスタ内の全ノード)
データの取得とレプリケーションを行うプログラム(ExtractとReplicat)は、Managerアカウント下で動作し、管理者権限を継承します。
Oracle GoldenGateをWindowsシステムにインストールする前に、Microsoft Visual C ++ 2010 SP1再頒布可能パッケージをインストールおよび構成します。このパッケージのSP1バージョンであることを確認し、使用するサーバーに適合するビット・バージョンであることを確認してください。このパッケージでは、Visual C++ライブラリのランタイム・コンポーネントがインストールされます。このパッケージの詳細およびダウンロードは、http://www.microsoft.com">>http://www.microsoft.com
にアクセスしてください。
Oracle GoldenGateは、すべてのプラットフォームの仮想化ソフトウェアで作成された仮想マシン環境を完全サポートします。仮想マシン環境にracle GoldenGateをインストールする場合、ホスト・システムではなく仮想マシンのデータベースおよびオペレーティング・システムに適合するビルドを選択します。
Oracle GoldenGateをMicrosoft SQL Serverデータベースと連動させるには、データベース・インスタンスで次の設定を行う必要があります。
インスタンスを構成するには、次の条件を満たす必要があります。
SQL Serverデータベースから取得する場合、SQL ServerのEnterpriseエディションのインスタンスである必要があります。
Change Data Capture (CDC)をOracle GoldenGateに対して有効にする必要があります。CDCはADD TRANDATA
コマンドを使用してOracle GoldenGateによって有効にされます。詳細は、4.4項「サプリメンタル・ロギングの有効化」を参照してください。
データベースは、次の推奨事項および制限事項に従って構成する必要があります。
SQL Serverソース・データベースは、フル・リカバリ・モデルを使用するよう設定する必要があります。
Oracle GoldenGateでは、システム・データベースまたは包含データベースからのキャプチャはサポートされません。
ソース・データベースをフル・リカバリに設定した後、フル・データベース・バックアップをとる必要があります。以前にフル・リカバリ・モデルまたはバルクログ・リカバリ・モデルを使用していたデータベースの場合、このバックアップはOracle GoldenGateのインストール前に行ったものでもかまいません。バックアップを行う必要がある場合は、4.6項「Oracle GoldenGate起動前のフル・データベース・バックアップの作成」を参照してください。
最後のフル・データベース・バックアップの時点とOracle GoldenGateのインストールの時点の間でソース・データベースのログ・チェーンが保持されている必要があります。(ログがno_log
またはtruncate_only
オプションを使用してバックアップされた場合、または最初のフル・データベース・バックアップの完了後にリカバリ・モデルがsimple
またはbulk logged
に設定された場合、ログ・チェーンは途切れます。)また、Oracle GoldenGateのインストール後、ログ・チェーンを保持する必要があります。詳細は、Microsoft SQL Serverのドキュメントでログ・チェーンについて確認してください。
SQL Server 2014では、インメモリー表(最適化されたメモリー)の使用を可能にするインメモリーOLTP (インメモリー最適化)が導入されています。メモリー最適化データ・ファイル・グループをデータベースに追加すると、Oracle GoldenGateでは、データベースの表のサプリメンタル・ロギングを有効にできませんが、反対に、メモリー最適化データ・ファイル・グループの作成前に、データベースの表に対してサプリメンタル・ロギングが有効になっていると、SQL Serverでは、メモリー最適化データ・ファイル・グループを作成できなくなります。
SQL Server 2014では、遅延トランザクションの永続性のオプションがトランザクションに提供されていますが、Oracle GoldenGateによりサプリメンタル・ロギング(TRANDATA)で構成された表に対するトランザクションは、常に完全永続になります。
Oracle GoldenGateは、データベースへの接続にODBCまたはOLE DB、あるいはその両方を使用します。
ODBC: ExtractプロセスはODBCを使用して、ソースのSQL Serverデータベースに接続します。Replicatプロセスは、ODBCを使用してターゲットのSQL Serverデータベースに接続し、メタデータを取得しますが、オプションでODBCを配信トランザクションにも使用できます。ODBCは適切に構成する必要があります。詳細は、3.1.3項「ODBC接続の構成」を参照してください。
OLE DB: デフォルトでは、ReplicatプロセスはOLE DBを使用して、ターゲットのSQL Serverデータベースに接続し、DML操作を実行します(したがって、メタデータにはODBC、データにはOLE DBというように、常に最低2つのReplicat接続があります)。Replicatの接続オプションの詳細は、3.1項「データベース接続の構成」を参照してください。
サポートの制限
SQL Server Native Client 10.0以降のドライバを使用してください。古いSQL Serverドライバ(SQLSRV32.DLL
)では、新しいSQL Serverデータ型はサポートされません。
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にアップグレードすると発生しません。
ODBCモードの使用
SQL Server 2014の場合、SQL Server Native Client 11.0ドライバのみがサポートされています。ODBC Driver 11 for SQL Serverはサポートされていません。
Oracle GoldenGateでMicrosoft SQL Serverデータベースに対する取得および適用を実行するには、次のデータベース・ユーザーおよび権限が必要です。
ADD TRANDATA
コマンドを発行してOracle GoldenGate構成でソース・データベース・オブジェクトに対してサプリメンタル・ロギングを有効にするには、データベース・ユーザーが必要です。データベース・ログイン・コマンド(DBLOGIN
)は、ADD TRANDATA
の発行前にGGSCIから発行されます。このユーザーは、SQL Serverのシステム管理者(sysadmin
)ロールのメンバーである必要があります。
ADD TRANDATA
は、初回デプロイ時または後で構成に表が追加されるときに、Oracle GoldenGateの取得構成に追加されている表に対して実行されます。詳細は、4.4項「サプリメンタル・ロギングの有効化」を参照してください。
Oracle GoldenGateのExtractプロセスはソースSQL Serverデータベースからデータを取得し、ReplicatプロセスはターゲットSQL Serverデータベースにそのデータを適用します。これらのプロセスは、Windows認証またはSQL Server認証を使用してデータベースに接続できます。
Windows認証を使用するために、Managerサービスの「プロパティ」に指定されている「ログオン」アカウントによって識別されるように、ExtractプロセスおよびReplicatプロセスがManagerプロセスのログイン資格証明を継承します。このアカウントは、ソース・システムおよびターゲット・システムに関する表1-1にリストされている権限を持っている必要があります。
SQL Server認証を使用するには、ExtractおよびReplicat専用のSQL Serverログインを作成し、表1-2にリストされている権限を割り当てる必要があります。SQL Server認証を使用する場合、ExtractまたはReplicatパラメータ・ファイルのUSERID
パラメータ(PASSWORD
オプション付き)でユーザーとパスワードを指定する必要があります。あるいは、Oracle GoldenGate資格証明ストアを使用してUSERIDALIAS
パラメータでユーザー別名を指定します。これらのパラメータの詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
表1-1 Windows認証を使用している場合にManagerに必要なSQL Server権限
Oracle GoldenGateプロセス | ローカル・システム・アカウントを使用している場合のManagerの権限 | ローカル/ドメイン・アカウントを使用している場合のManagerの権限 |
---|---|---|
Extract (ソース・システム) |
|
アカウントは、SQL Serverの固定サーバー・ロールである |
Replicat (ターゲット・システム) |
|
アカウントは、最低でもターゲット・データベースの固定データベース・ロール |
Windows認証ではなくSQL Server認証を使用する場合、Oracle GoldenGateのインストールおよび設定時に、GGSCIコマンド・インタフェースでDBLOGIN
コマンドを使用したデータベースへのログインが必要になることがあります。たとえば、ADD TRANDATA
コマンドでサプリメンタル・ロギングを追加するときなどです。
セキュリティ対策としてログイン・パスワードの暗号化をお薦めします。ただし、標準のDBLOGIN
コマンドでセキュア・パスワードを使用するには、ENCRYPT PASSWORD
コマンドをその前に使用してパスワードを暗号化する必要があります。DBLOGIN
を発行するたびにパスワードを暗号化しなくてもよく、ユーザーIDが公開されないように保護するには、設定および構成を実行する前にOracle GoldenGate資格証明ストアを作成します。
資格証明ストアを使用すると、DBLOGIN
でログインするときは常に、ログイン資格証明の別名のみを指定できるようになります。また、パラメータ・ファイルを構成するとき、ExtractおよびReplicatのプロセスに対するログイン資格証明の指定が簡単かつ安全になります。資格証明ストアでは基本エントリを作成できるようになっていますが、必要に応じて後から管理コマンドを使用して拡張できます。詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
Oracle GoldenGateでは、 1.5項「サポートされていないSQL Serverデータ型」に記載されているデータ型以外は、SQL Serverのほとんどのデータ型をサポートしています。
サポートの制限
Oracle GoldenGateでは、疎の列または列セットが含まれる表からのキャプチャはサポートされません。
Oracle GoldenGateでは、4Kより大きいラージ・オブジェクトのフィルタリング、列マッピングまたは操作はサポートされません。Oracle GoldenGateの全機能は、4K以下のオブジェクトに使用できます。
XMLが行に格納されない場合にSQL Serverが行う処理と同様に、Oracle GoldenGateは、XMLデータをラージ・オブジェクト(LOB)として処理します。SQL Server拡張XMLの拡張機能(lax検証、DATETIME
、union機能など)はサポートされていません。
システムによって割り当てられるTIMESTAMP
列や、非マテリアライズ計算結果列は、キーの一部にすることはできません。TIMESTAMP
列が含まれている表には、キーが必要です。キーには、主キー、一意性制約、あるいはTABLE
文またはMAP
文のKEYCOLS
句で指定された代替キーを使用できます。3.2.2項「行識別子の割当て」を参照してください。
Oracle GoldenGateは、マルチバイト文字のデータ型と、文字列に保存されているマルチバイトのデータをサポートしています。マルチバイトのデータは、like-to-like構成でのみサポートされます。変換、フィルタリング、およびその他の種類の操作は、マルチバイト文字のデータに対してはサポートされていません。
TEXT
、NTEXT
、IMAGE
、あるいはVARCHAR (MAX)
、NVARCHAR(MAX)
、VARBINARY(MAX)
列のデータが、max text repl size
オプションで設定されるSQL Serverのデフォルト・サイズを超える場合は、サイズを拡張します。sp_configure
を使用して、max text repl size
の現在の値を表示します。
IDENTITY
列は、次のようにサポートされています。
増分値が適切に構成されている場合、単方向構成では完全。
双方向構成では、Replicat接続の定義方法によって、完全または制限付き。IDENTITY
の範囲のサポートを含む完全サポートには、IDENTITY
列に対してNOT FOR REPLICATION
が有効になっていて、レプリケーション・ユーザーとしてReplicatが動作している状態でOLE DBを使用することが必要です。
詳細は、第3章「Oracle GoldenGateのためのシステムの準備」を参照してください。
Oracle GoldenGateは、最大サイズが2GBのUDTおよびUDAデータをサポートします。SQL_Variant以外のすべてのUDTがサポートされます。
SQL Server組込みCLRデータ型(geometry、geography、hierarchyidなど)を含む共通言語ランタイム(CLR)がサポートされます。CLRデータ型は、同類構成でのみサポートされます。変換、フィルタリング、およびその他の種類の操作は、CLRデータに対してはサポートされていません。
浮動小数点数の範囲と精度のサポートは、ホスト・マシンによって異なります。通常は有効桁数が16桁の精度ですが、データベースのドキュメントで想定されている近似について確認してください。Oracle GoldenGateでは、サポートされる精度を超える値は丸められるか切り捨てられます。
Oracle GoldenGateでは、0001/01/03:00:00:00
から9999/12/31:23:59:59
までのタイムスタンプ・データをサポートします。タイムスタンプがGMTからローカル時間に変換されると、これらの制限は変換後のタイムスタンプにも適用されます。タイムゾーンに応じて、変換により時間が追加または引かれる場合があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。
FILESTREAM
属性付きのVARBINARY (MAX)
列(SQL Server 2008で導入)は、4GBまでサポートされます。Extractでは、標準のWin32ファイル関数を使用してFILESTREAM
ファイルを読み取ります。
サポートされていないデータ型は、SQL_Variant
のみです。
次のオブジェクトと操作がサポートされています。
Oracle GoldenGateは、最大512KBの長さの行が含まれている表に対するDML操作の抽出およびレプリケーションをサポートします。TEXT
、NTEXT
、IMAGE
、VARBINARY
、VARCHAR (MAX)
、およびNVARCHAR(MAX)
列が、フル・サイズでサポートされています。
Oracle GoldenGateでは、CDCによって追跡される表に対して許可されている最大サイズをサポートします。
Oracle GoldenGateでは、データ圧縮を使用するSQL Serverの表をサポートします。これには、ROW
モード、PAGE
モードの両方での行圧縮形式が含まれます。
Oracle GoldenGateでは、書込み可能なビューへの配信をサポートします。ReplicatのMAP
文のビューにデータをマップできます。
すべてのパーティションで物理レイアウトが同じ場合、Oracle GoldenGateでパーティション表がサポートされます。
計算結果列に関する制限事項
Oracle GoldenGateでは、非永続化計算結果列を持つ表をサポートしますが、これらの列の変更データを取得しません。データベースが、これらの列の変更データをトランザクション・ログに書き込まないためです。非永続化計算結果列のデータをレプリケートするには、TABLE
パラメータのFETCHCOLS
またはFETCHMODCOLS
オプションを使用して表から列データをフェッチします。列がデータベースで変更された時点と処理されるトランザクション・レコードに対するデータをExtractでフェッチする時点でデータ値が異なることで、不整合が生じる可能性があることに注意してください。
その列のデータが証跡にあった場合でも、ReplicatはDMLを計算結果列に適用しません。データベースがこの種の列のDMLを許可しないためです。ソース永続化計算結果列またはフェッチされた非永続化列のデータは、計算結果列ではないターゲット列に適用できます。
初期ロードでは、データはすべて、トランザクション・ログからではなくソース表から直接選択されます。したがって、初期ロードで、非永続化計算結果列も含め、すべての列のデータ値が証跡に書き込まれるか、またはターゲットに送信されます。どちらになるかは、使用されているメソッドによって決まります。ただし、変更データの適用時に、Replicatは初期ロード・データを計算結果列に適用しません。データベースがこの種の列のDMLを許可しないためです。
Oracle GoldenGateは、非永続化計算結果列がTABLE
文またはMAP
文のKEYCOLS
句で使用されることを許可しません。
一意キーに非永続化計算結果列が含まれていて、Oracle GoldenGateがそのキーを使用する必要がある場合は、非永続化計算結果列は無視されます。これによって、残りの列が一意性を強制しない場合には、データ整合性が影響を受けます。
一意索引は、非永続化計算結果列に定義されると、使用されません。
一意キーまたは一意索引に非永続化計算結果列が含まれていて、表の唯一の一意識別子である場合、Oracle GoldenGateは、すべての列をターゲット行を見つけるための識別子として使用する必要があります。非永続化計算結果列はこの識別子として使用できないため、Replicatは、この識別子を含む操作を間違ったターゲット行に適用する可能性があります。
次のオブジェクトと操作は、SQL Serverによってサポートされていません。
SQL Server Change Data Captureでサポートされていない操作。サプリメンタル・ロギングを有効にすると、Extract構成内のSQL Serverの表は、SQL Server Change Data Capture用にマークされます(「サプリメンタル・ロギングの有効化」を参照してください)。SQL ServerのChange Data Captureを有効にすることによって制限される操作の完全なリストについては、SQL Server Books Onlineを参照してください。
DDL (データ定義言語)操作の抽出またはレプリケーション。
ビューの取得および配信。基礎となる表を抽出およびレプリケートできます。
TextCopy
ユーティリティ、WRITETEXT
文およびUPDATETEXT
文による操作。これらの機能は、データベースによってログに記録されない操作か、一部のみログに記録される操作を実行するため、Extractプロセスではサポートできません。
TDE (Transparent Data Encryption)
パーティションの物理レイアウトが複数あるパーティション表
パーティション切替え
Oracle GoldenGateでは、サードパーティ・ベンダーによって提供されるような、非ネイティブSQL Serverトランザクション・ログ・バックアップはサポートされません。ただし、ACTIVESECONDARYTRUNCATIONPOINT
オプションを指定してTRANLOGOPTIONS
パラメータを使用している場合、Extractではトランザクション・ログ・バックアップからの読取りは必要ないため、どのログ・バックアップ・ユーティリティでも使用できます。詳細は、第4章「Oracle GoldenGate用のトランザクション・ログの準備」を参照してください。
SQL Server 2014では、暗号化されたトランザクション・ログ・バックアップまたは圧縮されたログ・バックアップはいずれもサポートされていません。