- Oracle GoldenGateクラシックのドキュメント
- インスタンス化
- 初期ロードを使用したOracle GoldenGateのインスタンス化
- ファイルからReplicatへのデータのロード
ファイルからReplicatへのデータのロード
Replicatを使用してターゲット・データを構築するには、初期ロードExtractを使用してソース表からソース・レコードを抽出し、それらのレコードを正規形式で抽出ファイルに書き込みます。初期ロードReplicatは、データベース・インタフェースを使用してこのファイルからデータをロードします。ロード中、変更同期グループは、増分変更を抽出してレプリケートします。その後、これらの変更は、ロードの結果に応じて調整されます。
ロード中、レコードは、1つずつターゲット・データベースに適用されるため、この方法は他の初期ロード方式と比較して非常に低速です。この方法では、ソース・システムとターゲット・システムのいずれかでデータ変換を実行できます。
Microservices Architectureを使用して、ファイルからReplicatにデータをロードすることもできます。「初期ロードを使用したOracle GoldenGateのインスタンス化」を参照してください。
ファイルからReplicatにデータをロードする手順
- 「初期ロードの前提条件」の要件を満たしていることを確認します
- ソース・システムとターゲット・システムで、GGSCIを実行してManagerを起動します。
START MANAGER
ノート:
Windowsクラスタでは、クラスタ・アドミニストレータでManagerリソースを起動します。
- ソース・システムで、次のコマンドを発行して初期ロードExtractのパラメータ・ファイルを作成します。
EDIT PARAMSinitial-load_Extract - 次の例に表示されているのと同じ順序でパラメータを入力します。パラメータ文ごとに新規行を開始します。ファイルからReplicatにデータをロードするための初期ロードExtractパラメータ・ファイルの例を次に示します。
SOURCEISTABLE SOURCEDB mydb, USERIDALIAS ogg RMTHOSTOPTIONS ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey ENCRYPTTRAIL AES192 RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE TABLE hr.*; TABLE sales.*;
パラメータ 説明 SOURCEISTABLE
Extractをソース表からレコードを直接抽出する初期ロード・プロセスとして指定します。
SOURCEDB
dsn[, USERIDALIASalias, options| , USERIDuser,options]データベース接続情報を指定します。
SOURCEDBには、ソースのデータソース名(DSN)を指定します。USERIDとUSERIDALIASで、必要に応じてデータベース資格証明を指定します。RMTHOSTOPTIONS
hostname, MGRPORTportnumber[, ENCRYPTalgorithmKEYNAMEkeyname]ターゲット・システム、Managerが稼働しているポート、およびTCP/IP経由でのデータ暗号化(オプション)を指定します。
ENCRYPTTRAILalgorithmリモート・ファイルでデータを暗号化します。
RMTFILE
path, [MEGABYTESn]-
pathは、ファイルの相対名または完全修飾名です -
MEGABYTESでは、各ファイルのサイズを指定します。
ロード・データを書き込む抽出ファイルを指定します。Oracle GoldenGateでは、ロード中にこのファイルが作成されます。チェックポイントは、
RMTFILEでは保持されません。抽出ファイルのサイズを2GB以下にする必要があることに注意してください。
TABLE
container.owner.object;オブジェクトの完全修飾名(複数オブジェクトの場合は完全修飾ワイルドカード表記)を指定します。データベースがOracleマルチテナント・コンテナ・データベースの場合は、
SOURCECATALOGが使用されていないかぎり、オブジェクト名にコンテナまたはカタログの名前を含める必要があります。パラメータ・ファイル内のオブジェクト名指定のガイドラインは、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。
CATALOGEXCLUDESCHEMAEXCLUDETABLEEXCLUDEEXCLUDEWILDCARDOBJECTSONLY関連付けられた
TABLE文のワイルドカード表記から特定のオブジェクトを除外するために、互いに組み合せて使用できるパラメータ。 -
- 『Oracle GoldenGateリファレンス』にリストされているExtractの適切なオプション・パラメータを入力します。
- パラメータ・ファイルを保存して閉じます。
- ターゲット・システムで、次のコマンドを発行して初期ロードReplicatのパラメータ・ファイルを作成します。
EDIT PARAMSinitial-load_Replicat - 表7-1にリストされている順序でパラメータを入力します。パラメータ文ごとに新規行を開始します。ファイルからReplicatにデータをロードするための初期ロードReplicatパラメータ・ファイルの例を次に示します。
SPECIALRUN END RUNTIME TARGETDB mydb, USERIDALIAS ogg EXTFILE /ggs/dirdat/initld SOURCEDEFS /ggs/dirdef/source_defs MAP hr.*, TARGET hr.*; MAP sales.*, TARGET hr.*;
表7-1 初期ロードReplicatのパラメータ
パラメータ 説明 SPECIALRUN
初期ロードReplicatをチェックポイントを使用しない1回かぎりの実行として実装します。
END RUNTIME
ロードの完了時に終了するように初期ロードReplicatに指示します。
TARGETDB
dsn[, USERIDALIASalias, options| , USERIDuser,options]データベース接続情報を指定します。
TARGETDBにはターゲットのデータソース名(DSN)を指定します。USERIDとUSERIDALIASで、必要に応じてデータベース資格証明を指定します。EXTFILEpath-
pathは、ファイルの相対名または完全修飾名です
Extractパラメータの
RMTFILEで指定されている入力抽出ファイルを指定します。{SOURCEDEFSfile} | ASSUMETARGETDEFS-
SOURCEDEFSは、ソース表とターゲット表に異なる定義が含まれる場合に使用します。DEFGENによって生成されたソース定義ファイルの相対名または完全修飾名を指定します。 -
ASSUMETARGETDEFSは、ソース表とターゲット表に同じ定義が含まれる場合に使用します。
データ定義の解釈方法を指定します。
SOURCECATALOGデフォルトのソースOracleコンテナを指定します。それらのデータベースに対して3つの部分からなる名前が必要とされる場合に、2つの部分からなる名前(
schema.object)を使用できるようにします。このパラメータのインスタンスを複数使用すると、MAPのパラメータの異なる組合せに対して、異なるデフォルト・コンテナまたはカタログを指定できます。MAP
container.owner.object, TARGETowner.object[, DEFtemplate] ;単一または複数のソース・オブジェクトと、単一または複数のターゲット・オブジェクトの関係を指定します。
MAPにはソース・オブジェクトを指定し、TARGETにはターゲット・オブジェクトを指定します。ソース・オブジェクトに対して、オブジェクトの完全修飾名(複数オブジェクトの場合は完全修飾ワイルドカード表記)を指定します。Oracleマルチテナント・コンテナ・データベースの場合は、
SOURCECATALOGが使用されていないかぎり、ソース・オブジェクト名にコンテナまたはカタログの名前を含める必要があります。ターゲット・オブジェクトに対しては、データベースに関係なく、名前の
owner.objectコンポーネントだけを指定します。Replicatは、1つのOracleコンテナにのみ接続できます。データのロード先の各コンテナまたはカタログごとに、別々のReplicatプロセスを使用してください。パラメータ・ファイル内のオブジェクト名指定のガイドラインは、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。
DEFオプションは、定義テンプレートを指定します。CATALOGEXCLUDESCHEMAEXCLUDEMAPEXCLUDEEXCLUDEWILDCARDOBJECTSONLY関連付けられた
MAP文のワイルドカード表記から特定のソース・オブジェクトを除外するために、互いに組み合せて使用できるパラメータ。 -
- 『Oracle GoldenGateリファレンス』にリストされているReplicatの適切なオプション・パラメータを入力します。
- ファイルを保存して閉じます。
- Replicatのパラメータ・ファイルを表示して、
HANDLECOLLISIONSパラメータがリストされていることを確認します。リストされていない場合は、このパラメータをファイルに追加します。 - ソース・システムで、変更の抽出を開始します。
START EXTRACTgroup - (Oracleで順序をレプリケートする場合)
update.Sequenceに対するEXECUTE権限を持つユーザーとしてDBLOGINコマンドを発行します。GGSCI> DBLOGIN USERID DBLOGINuser, PASSWORD
password[encryption_options] - (Oracleで順序をレプリケートする場合)次のコマンドを発行して各ソース順序を更新し、REDOを生成します。このREDOから、Replicatがターゲット上の順序の初期同期を実行します。順序(所有者ではない)の名前は、任意の文字またはすべて文字をアスタリスク・ワイルドカードで表すことができます。
FLUSH SEQUENCEowner.sequence - ソース・システムのOracle GoldenGateがインストールされているディレクトリから、初期ロードExtractを起動します。
UNIXおよびLinuxの場合:
$ /
GGS directory/extract paramfile dirprm/initial-load_Extract.prm reportfilepathWindowsの場合:
C:\>
GGS directory\extract paramfile dirprm\initial-load_Extract.prm reportfilepath説明:
initial-load_Extractはパラメータ・ファイルの作成時に使用した初期ロードExtractの名前であり、pathはExtractレポート・ファイルの相対名または完全修飾名です。 - オペレーティング・システムの標準的なファイル表示方法を使用してExtractレポート・ファイルを表示し、初期抽出の進行状況および結果を確認します。
- 初期抽出が終了するまで待機します。
- ターゲット・システムで、初期ロードReplicatを起動します。
UNIXおよびLinuxの場合:
$ /
GGS directory/replicat paramfile dirprm/initial-load_Replicat.prm reportfilepathWindowsの場合:
C:\>
GGS directory\replicat paramfile dirprm\initial-load_Replicat.prm reportfilepath説明:
initial-load_Replicatはパラメータ・ファイルの作成時に使用した初期ロードReplicatの名前であり、pathはReplicatレポート・ファイルの相対名または完全修飾名です。 - 初期ロードReplicatの実行が終了したら、オペレーティング・システムの標準的なファイル表示方法を使用してReplicatレポート・ファイルを表示し、結果を確認します。
- ターゲット・システムで、変更のレプリケーションを開始します。
START REPLICATgroup - ターゲット・システムで、次のコマンドを発行して変更のレプリケーションのステータスを確認します。
INFO REPLICATgroup - 初期ロード中に生成されたすべての変更データがReplicatにより適用されたことを確認するまで、
INFO REPLICATコマンドを発行し続けます。たとえば、初期ロードExtractが12:05に停止した場合、Replicatによってその時刻までデータが適用されていることを確認します。 - ターゲット・システムで、次のコマンドを発行して
HANDLECOLLISIONSパラメータをオフにし、初期ロードのエラー処理を無効化します。SEND REPLICATgroup, NOHANDLECOLLISIONS - ターゲット・システムで、Replicatのパラメータ・ファイルを編集して
HANDLECOLLISIONSパラメータを削除します。これによって、次回Replicatが起動したときにHANDLECOLLISIONSが再度有効化されることを防止します。注意:
ローカル・オペレーティング・システムのものとは異なる文字セットを使用した既存のパラメータ・ファイル(
CHARSETオプションを使用して別の文字セットを指定したファイルなど)は、VIEW PARAMSコマンドまたはEDIT PARAMSコマンドを使用して表示や編集を行わないでください。そのようなパラメータ・ファイルはGGSCIの外部から表示してください。そうしないと、内容が破損する可能性があります。 - パラメータ・ファイルを保存して閉じます。
これ以降、Oracle GoldenGateでデータ変更の同期が続けられます。
