Oracle® Fusion Middleware

MySQLのためのOracle GoldenGateのインストールおよび構成

12c (12.2.0.1)

E70105-02(原本部品番号:E67826-02)

2016年1月

このマニュアルではMySQLデータベースに対するOracle GoldenGateのインストールおよび初期設定の手順を説明します。

Oracle Fusion Middleware MySQLのためのOracle GoldenGateのインストールおよび構成, 12c (12.2.0.1)

E70105-02

Copyright © 2013, 2016, Oracle and/or its affiliatesAll rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは、互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 システム要件とインストール前の指示

- 1.1 動作保証要件とシステム要件の確認

- 1.2 オペレーティング・システムの要件

- 1.2.1 メモリーの要件

- 1.2.2 ディスクの要件

- 1.2.3 一時ディスクの要件

- 1.2.4 ネットワーク

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

- 1.2.6 コンソール

- 1.2.7 その他のプログラム

- 1.3 データベースの要件

- 1.3.1 サポートされているバージョン

- 1.3.2 データベース・キャラクタ・セット

- 1.3.3 データベース・ストレージ・エンジン

- 1.3.4 Oracle GoldenGateプロセスのデータベース・ユーザー

- 1.3.5 サポートされているMySQLデータ型

- 1.3.5.1 制限事項および説明

- 1.3.6 サポートされていないMySQLデータ型

- 1.3.7 MySQLについてサポートされているオブジェクトおよび操作

- 1.3.8 MySQLについてサポートされていないオブジェクトおよび操作

2 Oracle GoldenGateのインストール

- 2.1 概要

- 2.2 Oracle GoldenGateディストリビューションの理解と入手

- 2.3 UNIX上での動的ビルドのライブラリ・パスの設定

- 2.4 クラスタ内にOracle GoldenGateをインストールする準備

- 2.4.1 Oracle GoldenGateのバイナリおよびファイルをインストールするクラスタ内の場所の決定

- 2.5 LinuxおよびUNIXへのOracle GoldenGateのインストール

- 2.6 WindowsへのOracle GoldenGateのインストール

- 2.6.1 Oracle GoldenGateファイルのインストール

- 2.6.2 カスタムManager名の指定

- 2.6.3 WindowsサービスとしてのManagerのインストール

- 2.7 MySQLクラスタ用のOracle GoldenGateの設定

- 2.7.1 手順1: MySQL Clusterのインストール

- 2.7.2 手順2: MySQL Clusterの起動

- 2.7.3 手順3: Oracle GoldenGateのインストールおよび実行

- 2.8 クラスタへのOracle GoldenGateの統合

- 2.8.1 クラスタでの一般的な要件

- 2.8.2 Windowsクラスタ・リソースとしてのOracle GoldenGateの追加

3 Oracle GoldenGateのためのシステムの準備

- 3.1 データ使用可能性の確保

- 3.2 ログ・パラメータの設定

- 3.3 ホスト名の追加

- 3.4 セッション・キャラクタ・セットの設定

- 3.5 双方向レプリケーションの構成

- 3.6 MySQLに関するその他のOracle GoldenGateパラメータ

- 3.7 処理のための表の準備

- 3.7.1 行識別子の割当て

- 3.7.1.1 Oracle GoldenGateで使用する行識別子の種類を判別する方法

- 3.7.1.2 一意索引から導出される主キーを持つ表

- 3.7.1.3 Oracle GoldenGateで使用する独自キーを指定する方法

- 3.7.2 キーのない表での行の変更の制限

- 3.7.3 トリガーおよびカスケード制約の無効化

- 3.8 特定の開始ポイントへのExtractの設定

- 3.9 log-binの場所の変更

4 Oracle GoldenGateのアンインストール

- 4.1 LinuxまたはUNIXからのOracle GoldenGateのアンインストール

- 4.2 WindowsクラスタからのOracle GoldenGateの削除

- 4.3 Windows(非クラスタ)からのOracle GoldenGateのアンインストール

A インストールされるOracle GoldenGateコンポーネント

- A.1 Oracle GoldenGateのプログラムおよびユーティリティ

- A.2 Oracle GoldenGateのサブディレクトリ

- A.3 その他のOracle GoldenGateのファイル

- A.4 Oracle GoldenGateチェックポイント表

はじめに

Oracle GoldenGate for MySQLでは、MySQLソース・データベースからMySQLターゲット・データベース、あるいはサポートされている他のタイプのデータベースへのレプリケーションがサポートされ、初期ロードや変更データのレプリケーションを実行できます。

このガイドには、MySQLデータベース・システムでのOracle GoldenGateのインストールおよび初期設定の実行を始めるに際して有用な情報が記載されています。Oracle GoldenGate環境の構成、実行および管理の詳細は、この「はじめに」に記載されている他のOracle GoldenGate関連のドキュメントを参照してください。

対象読者

このガイドは、Oracle GoldenGateをインストール、構成および実行するインストール実行者、データベース管理者およびシステム管理者を対象としています。

ドキュメントのアクセシビリティについて

オラクル社のアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

サポートを購入したOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

関連ドキュメント

Oracle GoldenGateのドキュメント・セットには、次のコンポーネントが含まれます。

Windows、UNIX、Linuxプラットフォーム

- DB2 for iのためのOracle GoldenGateのインストールおよび構成

- DB2 LUWのためのOracle GoldenGateのインストールおよび構成

- DB2 z/OSのためのOracle GoldenGateのインストールおよび構成

- Oracle GoldenGate for Informixのインストールおよび構成

- MySQLのためのOracle GoldenGateのインストールおよび構成

- NonStop SQL/MXのためのOracle GoldenGateのインストールおよび構成

- SQL ServerのためのOracle GoldenGateのインストールおよび構成

- Oracle TimesTenのためのOracle GoldenGateのインストールおよび構成

- Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成

- SybaseのためのOracle GoldenGateのインストールおよび構成

- TeradataのためのOracle GoldenGateのインストールおよび構成

- Oracle GoldenGateの管理for Windows and UNIX

- Oracle GoldenGateリファレンスfor Windows and UNIX

- Oracle GoldenGateログダンプ・リファレンス

- Oracle GoldenGateのアップグレードfor Windows and UNIX

- Oracle GoldenGateエラー・メッセージ・リファレンスfor Windows and UNIX

表記規則

このマニュアルでは次の表記規則を使用します。

表記規則

意味

太字

太字は、操作に関連するグラフィカル・ユーザー・インタフェース要素("「ファイル」メニューから「保存」を選択します"など)を示します。太字は、本文中で定義されている用語および用語集に記載されている用語も示します。

イタリック体
イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数(パラメータ文TABLE table_nameなど)を示します。イタリックは、ドキュメントのタイトルおよび強調にも使用されます。

固定幅フォント
大文字の固定幅フォント

固定幅フォントは、ユーザー・イグジットやスクリプトなどのコードのコンポーネント、ファイルおよびデータベース・オブジェクトの名前、URLのパス、および画面に表示される入出力テキストを示します。大文字の固定幅フォントは、Oracle GoldenGateのパラメータ、コマンド、ユーザーが構成可能な関数およびSQLコマンドとキーワードを表すために使用されます。

大文字

通常フォントの大文字は、特別な場合を除き、ユーティリティの名前を表します。

{ }

構文内の中カッコは、パイプ記号で区切ったオプションのセットを囲み、その中の1つを選択する必要があることを表します。たとえば、{option1 | option2 | option3}です。

[ ]

構文内の大カッコは、オプションの要素を示します。たとえば、CLEANUP REPLICAT group_name [, SAVE count]という構文では、SAVE句がオプションです。オプション要素内の複数の要素は、パイプ記号で区切ります(例: [option1 | option2])。

1 システム要件とインストール前の指示

この章では、Oracle GoldenGateをサポートするシステムおよびデータベース・リソースの要件について説明します。内容は次のとおりです。

- 1.1項「動作保証要件とシステム要件の確認」

- 1.2項「オペレーティング・システムの要件」

- 1.3項「データベースの要件」

1.1 動作保証要件とシステム要件の確認

サポートされているハードウェアまたはソフトウェア構成で製品をインストールしていることを確認します。詳細は、「Oracle Fusion Middleware Supported System Configurations」ページのリリースの動作保証に関するドキュメントを参照してください。

Oracleでは、動作保証済のすべてのシステムおよび環境で製品のパフォーマンスをテストおよび検証しており、新しい動作保証情報が発表された場合は、適切な動作保証ドキュメントにすぐに追加されます。新しい動作保証情報は常に発生する可能性があるため、動作保証ドキュメントはドキュメント・ライブラリの外部に保持され、Oracle Technology Networkで利用できます。

1.2 オペレーティング・システムの要件

この項では、MySQLのオペレーティング・システムの要件について説明します。これらの要件は、次のいずれかのカテゴリに分類されます。

- 1.2.1項「メモリーの要件」

- 1.2.2項「ディスクの要件」

- 1.2.3項「一時ディスクの要件」

- 1.2.4項「ネットワーク」

- 1.2.5項「オペレーティング・システムの権限」

- 1.2.6項「コンソール」

- 1.2.7項「その他のプログラム」

1.2.1 メモリーの要件

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パラメータの項を参照してください。

1.2.2 ディスクの要件

次の説明に従って、ディスク空き領域を割り当てます。

- Oracle GoldenGateダウンロード・ファイルのサイズを確認するには、選択したビルドをOracle Software Delivery Cloudからダウンロードする前に「Size」列を確認します。表示される値は、圧縮形式のファイルのサイズです。ディスク上に展開したOracle GoldenGateインストール・ディレクトリのサイズは非常に大きくなります。詳細は、2.2項「Oracle GoldenGateディストリビューションの理解と入手」を参照してください。

- Oracle GoldenGateをクラスタ環境にインストールするには、すべてのクラスタ・ノードで使用可能な共有ファイル・システムにOracle GoldenGateのバイナリとファイルをOracleユーザーとしてインストールします。詳細は、2.4項「クラスタ内にOracle GoldenGateをインストールする準備」を参照してください。

- Oracle GoldenGate証跡(作業用データが含まれているファイル)をホストするシステムに追加で1GBのディスク領域を割り当てます。証跡によって消費される領域は処理されるデータ量に応じて異なるため、これとは多少異なる容量が必要となる場合があります。Oracle GoldenGate Windows and UNIXの管理で証跡のサイズ設定のガイドラインを参照してください。

1.2.3 一時ディスクの要件

デフォルトでは、Oracle GoldenGateによってOracle GoldenGateインストール・ディレクトリのdirtmpサブディレクトリにディスクにスワップされるデータが保持されます。キャッシュ・マネージャは、ファイル・システムのすべての空き容量を使用可能とみなします。トランザクション・ボリュームとトランザクション・サイズが大きい場合、このディレクトリはすぐに一杯になります。I/Oの競合とディスクに関連するExtractの障害が起こらないようにするには、ディスクをこのディレクトリ専用にします。CACHEMGRパラメータのCACHEDIRECTORYオプションを使用して、このディレクトリに名前とサイズを割り当てることができます。CACHEMGRのCACHESIZEオプションにより、トランザクション・データのキャッシュに使用できる仮想メモリー量(キャッシュ・サイズ)の弱い制限が設定されます。これらのオプションのデフォルト値およびシステム調整が必要な場合の詳しい説明については、Oracle GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

1.2.4 ネットワーク

次の説明に従って、ネットワークを構成します。

- 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のポートを介して接続を受け入れるようにファイアウォールを構成します。

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

次の説明に従って権限を割り当てます。

- Windows上にインストールするには、Oracle GoldenGateをインストールするユーザーが管理者としてログインする必要があります。

- UNIXにインストールする場合、Oracle GoldenGateをインストールするユーザーには、Oracle GoldenGateインストール・ディレクトリに対する読取り権限および書込み権限が必要です。

- Oracle GoldenGate Extract、ReplicatおよびManagerプロセスは、Oracle GoldenGateディレクトリのファイルおよびサブディレクトリに対して、読取り権限、書込み権限および削除権限を持つオペレーティング・システム・ユーザーとして動作する必要があります。さらに、Managerプロセスには、他のOracle GoldenGateプロセスを制御する権限が必要です。

- Extract、ReplicatおよびManagerの各オペレーティング・システム・ユーザーをOracle GoldenGate専用とします。Oracle GoldenGateプロセスを実行するユーザーは機密情報にアクセスできる可能性があります。

1.2.6 コンソール

オペレーティング・システムとコマンド・コンソールのキャラクタ・セットが同じである必要があります。オペレーティング・システムではあるキャラクタ・セットが設定され、DOSコマンド・プロンプトでは別の古いDOSキャラクタ・セットを使用するMicrosoft Windowsシステムでは不一致が起こります。Oracle GoldenGateでは、オペレテーィング・システムのキャラクタ・セットを使用してGGSCIコマンド出力に情報を送信するため、コンソールのキャラクタ・セットの不一致が原因で文字が正しく表示されません。次のDOSコマンドを使用して、GGSCIセッションを開く前にコンソールのキャラクタ・セットを設定できます。

chcp OS_character_set

コード・ページの設定後、文字が正しく表示されない場合、拡張キャラクタ・セットを持つLucida Consoleにコンソール・フォントを変更してみます。

1.2.7 その他のプログラム

Oracle GoldenGateをWindowsシステムにインストールする前に、Microsoft Visual C ++ 2010 SP1再頒布可能パッケージをインストールおよび構成します。このパッケージのSP1バージョンであることを確認し、使用するサーバーに適合するビット・バージョンであることを確認してください。このパッケージでは、Visual C++ライブラリのランタイム・コンポーネントがインストールされます。このパッケージの詳細およびダウンロードは、http://www.microsoft.com">>http://www.microsoft.comにアクセスしてください。

Oracle GoldenGateは、すべてのプラットフォームの仮想化ソフトウェアで作成された仮想マシン環境を完全サポートします。仮想マシン環境にOracle GoldenGateをインストールする場合、ホスト・システムではなく仮想マシンのデータベースおよびオペレーティング・システムに適合するビルドを選択します。

1.3 データベースの要件

この項では、MySQLデータベースの要件について説明します。これらの要件は、次のいずれかのカテゴリに分類されます。

- 1.3.1項「サポートされているバージョン」

- 1.3.2項「データベース・キャラクタ・セット」

- 1.3.3項「データベース・ストレージ・エンジン」

- 1.3.4「Oracle GoldenGateプロセス用データベース・ユーザー」

- 1.3.5項「サポートされているMySQLデータ型」

- 1.3.6項「サポートされていないMySQLデータ型」

- 1.3.7項「MySQLについてサポートされているオブジェクトおよび操作」

- 1.3.8項「MySQLについてサポートされていないオブジェクトおよび操作」

1.3.1 サポートされているバージョン

Oracle GoldenGate for MySQLのこのリリースでは、MySQL Enterprise EditionおよびCommunity Editionの両方をサポートします。

1.3.2 データベース・キャラクタ・セット

MySQLには、ユーザーが異なるレベルで異なるキャラクタ・セットを指定できる機能があります。

レベル

例

データベース

create database test charset utf8;

表

create table test( id int, name char(100)) charset utf8;

列

create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8));

これらのすべての異なるレベルでまったく異なるキャラクタ・セットを指定することが可能ですが、ソース(あるキャラクタ・セット)からターゲット(別のキャラクタ・セット)へのデータ変換については、データベース・レベルのキャラクタ・セットのみがOracle GoldenGateで現在サポートされています。

サポートの制限

- データベースのキャラクタ・セットをutf8mb4/utf8に指定すると、デフォルトの照合はutf8mb4_unicode_ci/utf8_general_ciになります。collation_server=utf8mb4_binを指定すると、データベースはデータをバイナリとして解釈します。たとえば、CHAR列の長さを4に指定した場合、4バイトを超えるデータを挿入しようとすると、データが長すぎることがターゲット・データベースから警告されますが、返されるバイト長は16 (utf8mb4の場合)になります。これはデータベースの制限のため、Oracle GoldenGateではバイナリ照合をサポートしていません。この問題を解決するには、キャラクタ・セットがutf8mb4およびcollation_server=utf8_bin (utf8)に設定されている場合に、collation_server=utf8mb4_binを指定します。

1.3.3 データベース・ストレージ・エンジン

データベース・ストレージ・エンジンの要件は次のとおりです。

- Oracle GoldenGateでは、ソースMySQLデータベース用にInnoDBストレージ・エンジンがサポートされます。

- ターゲットMySQLデータベースでは、Oracle GoldenGate ReplicatプロセスはMySQLネイティブAPIを介してデータベースに接続します。

- NDBクラスタ・エンジンはサポートされています。

1.3.4 Oracle GoldenGateプロセスのデータベース・ユーザー

Oracle GoldenGateプロセスのデータベース・ユーザーの要件は次のとおりです。

- Oracle GoldenGate専用のデータベース・ユーザーを作成します。データベースに接続する必要のあるすべてのOracle GoldenGateプロセスに対して同じユーザーでもかまいません。

- Extract(ソース・データベース)

- Replicat(ターゲット・データベース)

- DEFGEN (ソースまたはターゲット・データベース)

- データの安全性確保と、Oracle GoldenGateの処理の的確な監視のため、他のユーザー、アプリケーション、プロセスには、Oracle GoldenGateデータベース・ユーザーとしてのログオンまたは操作を許可しないでください。

- データベース・ユーザーを記録します。それらをOracle GoldenGateパラメータ・ファイルのUSERIDパラメータを使用して指定する必要があります。

- Oracle GoldenGateユーザーは、INFORMATION_SCHEMAデータベースに読取りアクセスできる必要があります。

- Oracle GoldenGateユーザーには、次の権限が必要です。

表1-1 Oracle GoldenGateデータベース・ユーザーのMySQLに対する権限

権限

Extract

Replicat

ターゲット表のINSERT、UPDATE、DELETE

X

CREATE TABLE

X脚注 1

EXECUTE

X脚注 2

SELECT ANY TABLE

または

SELECT ON database.table

X

X

脚注 1 チェックポイント表機能を使用する場合(推奨)

脚注 2 ストアド・プロシージャを実行する場合

- バイナリ・ログ・イベントをキャプチャするためには、管理者がExtractユーザーに次の権限を指定する必要があります。

- MySQL構成ファイル(my.cnf)があるディレクトリの読取り権限と実行権限

- MySQL構成ファイル(my.cnf)の読取り権限

- バイナリ・ログがあるディレクトリの読取り権限と実行権限

- tmpディレクトリの読取り権限と実行権限

1.3.5 サポートされているMySQLデータ型

MySQLでは次のデータ型がサポートされています。

- CHAR

- VARCHAR

- INT

- TINYINT

- SMALL INT

- MEDIUM INT

- BIG INT

- DECIMAL

- FLOAT

- DOUBLE

- DATE

- TIME

- YEAR

- DATETIME

- TIMESTAMP

- BINARY

- VARBINARY

- TEXT

- TINYTEXT

- MEDIUMTEXT

- LONGTEXT

- BLOB

- TINYBLOB

- MEDIUMBLOB

- LONGBLOB

- ENUM

- BIT(M)

1.3.5.1 制限事項および説明

Oracle GoldenGate for MySQLの実行時には、次の点に注意する必要があります。

- Oracle GoldenGateでは、BLOB型またはTEXT型が主キーとして使用される場合はサポートされません。

- Oracle GoldenGateでは、UTF8およびUCS2キャラクタ・セットがサポートされます。UTF8型は、証跡に書き込まれる前に、Oracle GoldenGateによってUTF16に変換されます。

- UTF32はOracle GoldenGateではサポートされません。

- Oracle GoldenGateでは、TIME型の範囲が00:00:00から23:59:59までサポートされます。

- Oracle GoldenGateでは、0001/01/03:00:00:00から9999/12/31:23:59:59のタイムスタンプ・データをサポートします。タイムスタンプがGMTからローカル時間に変換されると、これらの制限は変換後のタイムスタンプにも適用されます。タイムゾーンに応じて、変換により時間が追加または引かれる場合があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。

- Oracle GoldenGateでは、負の日付はサポートされていません。

- 浮動小数点数の範囲および精度のサポートは、ホスト・マシンによって異なります。通常は有効桁数が16桁の精度ですが、データベースのドキュメントで想定されている近似について確認してください。Oracle GoldenGateでは、サポートされる精度を超える値は丸められるか切り捨てられます。

- ENUM型を非strictのsql_modeで使用すると、非strictのsql_modeでは無効なENUM値の入力が防止されず、エラーが返されます。この状況を回避するには、次のいずれかの操作を行います。

- sql_modeをSTRICTとして使用して、Extractを再起動します。これによってユーザーはどのデータ型の無効な値も入力できなくなります。IEユーザーはデータ型の有効な値のみを入力できます。

- 非strictのsql_modeを引き続き使用しますが、ENUMデータ型は使用しません。

- 非strictのsql_modeを引き続き使用し、データベースの有効な値でENUMデータ型を使用します。無効な値を指定した場合、データベースではそのまま受け入れられますがExtractは異常終了します。

- MySQLターゲットのトランザクション境界を維持するには、MyISAMエンジンではなくInnoDBトランザクション・データベース・エンジンを指定して、ターゲット表を作成または変更します。MyISAMを使用すると、Replicatのレコードは受信時に適用されるため、自動コミットをオフにしていても、トランザクションの整合性が保証されません。MyISAMではトランザクションをロールバックできません。

- ビューとの間の抽出およびレプリケーションはサポートされていません。

- MySQLレプリケーション・ターゲットからのキャプチャはサポートされていないため、MySQLレプリケーション・スレーブからキャプチャできます。

1.3.6 サポートされていないMySQLデータ型

MySQLでは次のデータ型はサポートされていません。

- XML、SETおよびジオメトリ・データ型などもサポートされていません。

- Intervalデータ型のサポートも制限されています。

1.3.7 MySQLについてサポートされているオブジェクトおよび操作

Oracle GoldenGate for MySQLでは次のオブジェクトおよび操作がサポートされています。

- Oracle GoldenGateでは、トランザクション表の抽出およびレプリケーションがサポートされます。

- Oracle GoldenGateでは、MySQLおよび使用されるデータベース・ストレージ・エンジンでサポートされる行の最大サイズおよび列の最大数を上限に、トランザクション表がサポートされます。InnoDBでは、最大1000列がサポートされます。

- Oracle GoldenGateでは、AUTO_INCREMENT列属性がサポートされます。Extractによって増分値がバイナリ・ログからキャプチャされ、Replicatの挿入操作でターゲット表に適用されます。

- Oracle GoldenGateでは、ソースおよびターゲット・データベースのトランザクション表に対する次のDML操作がサポートされます。

- 挿入操作

- 更新操作(圧縮を含む)

- 削除操作(圧縮を含む)。カスケード削除問合せを実行すると、親操作の子が削除されます

- 切捨て操作

- Oracle GoldenGateでは、ソースMySQLデータベースからMySQLやその他のターゲット・データベースへの次の初期ロード方式がサポートされます。

- Replicatを使用したデータのロード

- Oracle GoldenGateダイレクト・ロードを使用したデータのロード

- Oracle GoldenGateでは、MySQLネイティブ・レプリケーションとの同時操作が可能です。

- Oracle GoldenGateでは、MySQLのDYNSQL機能がサポートされます。

- 自動ハートビート表のサポートの制限は次のとおりです。

- ハートビート表の追加時のエラーを回避するため、ハートビート表の作成先のデータベースがすでに存在することを確認します。

- ハートビート履歴遅延ビューで、heartbeat_received_ts、incoming_heartbeat_age、outgoing_heartbeat_ageなどのフィールドの情報は、システム時間について示しています。オペレーティング・システム時間に現在の正確なタイムゾーン情報が設定されていることを確認する必要があります。

1.3.8 MySQLについてサポートされていないオブジェクトおよび操作

Oracle GoldenGate for MySQLでは次のオブジェクトおよび操作がサポートされていません。

- DDL (データ定義言語)操作の抽出またはレプリケーション。

- Oracle GoldenGateのBATCHSQL機能

- 初期ロード中の配列フェッチ

- 次のキャラクタ・セットはサポートされていません。

ULIB_CS_ARMSCII8, /* American National 166-9 */

ULIB_CS_GEOSTD8, /* Geogian Standard */

ULIB_CS_KEYBCS2, /* Kemennicky MS-DOS

2 Oracle GoldenGateのインストール

この章では、Oracle GoldenGate for MySQLを初めてインストールする場合の手順について説明します。内容は次のとおりです。

- 2.1項「概要」

- 2.2項「Oracle GoldenGateディストリビューションの理解と入手」

- 2.3項「UNIX上での動的ビルドのライブラリ・パスの設定」

- 2.4項「クラスタ内にOracle GoldenGateをインストールする準備」

- 2.5項「LinuxおよびUNIXへのOracle GoldenGateのインストール」

- 2.6項「WindowsへのOracle GoldenGateのインストール」

- 2.7項「MySQLクラスタ用のOracle GoldenGateの設定」

- 2.8項「クラスタへのOracle GoldenGateの統合」

次の手順は、Oracle GoldenGateを初めてインストールする場合に実行します。また、Oracle GoldenGateの新規バージョンのベース・リリースをダウンロードする場合のものでもあります。

それ以降のパッチをダウンロードしてベース・リリースにインストールするには、次の場所でMy Oracle Supportの「パッチと更新版」タブにアクセスします。

http://support.oracle.com

Oracle GoldenGateをあるバージョンから別のバージョンにアップグレードするには、『Oracle GoldenGate Oracle GoldenGateのアップグレードfor Windows and UNIX』のアップグレード手順に従ってください。

2.1 概要

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

2.2 Oracle GoldenGateディストリビューションの理解と入手

Oracle Fusion Middlewareソフトウェアの入手方法の詳細は、『Oracle Fusion Middlewareのインストールのプランニング』の製品の配布の理解と入手に関する項を参照してください。

Oracle WebLogic Server and Coherenceソフトウェアを開発または評価用にダウンロードするには、Oracle Technology Network (OTN)で次の場所を参照してください。

http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html">>http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html

Oracle Fusion Middleware製品の検索やダウンロードの詳細は、OTNでOracle Fusion Middlewareダウンロード、インストール、構成のREADMEファイルを参照してください。

Oracle GoldenGateを入手するには、次の手順に従います。

1. Oracle Technology Networkに移動します。

2. Oracle GoldenGate 12c (12.2.0.1)リリースを探して、使用中のシステムにZIPファイルをダウンロードします。

2.3 UNIXにおける動的ビルド用のライブラリ・パスの設定

Oracle GoldenGateは共有ライブラリを使用します。UNIXシステム上にOracle GoldenGateをインストールする場合は、GGSCIまたは他のOracle GoldenGateプロセスを実行する前に次のことを行う必要があります。

Oracle GoldenGateプログラムを、UNIXシステム上のOracle GoldenGateインストール・ディレクトリの外側から実行している場合は、次のことを行います。

- (オプション) Oracle GoldenGateインストール・ディレクトリをPATH環境変数に追加します。

- (必須)Oracle GoldenGateインストール・ディレクトリを共有ライブラリの環境変数に追加します。

たとえば、Oracle GoldenGateインストール・ディレクトリが/users/oggである場合、次の表の2番目のコマンドでは、これらの変数が設定されている必要があります。

コマンド

環境変数にGGライブラリが必要であるか

$ users/ogg > ./ggsci

いいえ

$ users > ./ogg/ggsci

はい

Kornシェルで変数を設定する方法

PATH=installation_directory:$PATH
export PATH
shared_libraries_variable=absolute_path_of_installation_directory:$shared_libraries_variable
export shared_libraries_variable

Bourneシェルで変数を設定する方法

export PATH=installation_directory:$PATH
export shared_libraries_variable=absolute_path_of_installation_directory:$shared_libraries_variable

Cシェルで変数を設定する方法

setenv PATH installation_directory:$PATH
setenv shared_libraries_variable absolute_path_of_installation_directory:$shared_libraries_variable

ここでshared_libraries_variableは次のいずれかです。

表2-1 プラットフォームごとのUNIX/Linuxライブラリ・パス変数

プラットフォーム脚注 1

環境変数

IBM AIX

IBM z/OS

LIBPATH

HP-UX

SHLIB_PATH

Sun Solaris

Linux

LD_LIBRARY_PATH脚注 2

脚注 1 Oracle GoldenGateでは、特定のプラットフォームでご使用のデータベースがサポートされていない場合があります。

脚注 2 32ビットのOracleデータベースが存在する64ビット環境の場合、Oracle GoldenGateでは32ビットのOracleライブラリが含まれるようにLD_LIBRARY_PATHを設定する必要があります。

例2-1 ライブラリ・パスの設定

export LD_LIBRARY_PATH=/ggs/10.0:$LD_LIBRARY_PATH

注意:
Oracle GoldenGateプロセスに必要なライブラリを表示するには、プロセスを開始する前にldd processシェル・コマンドを使用します。このコマンドでは、欠落しているライブラリに関するエラー・メッセージも表示されます。

2.4 クラスタ内にOracle GoldenGateをインストールする準備

この項では、Oracle GoldenGateをクラスタ環境にインストールする場合のインストール要件について説明します。Oracle GoldenGateは、フェイルオーバーを自動化する機能を持つクラスタ管理ソリューションと組み合せて使用できます。

2.4.1 Oracle GoldenGateのバイナリおよびファイルをインストールするクラスタ内の場所の決定

最低でも、なんらかのOracle GoldenGateオブジェクトを共有記憶域にインストールする必要があります。クラスタのどのノードからも独立していて、すべてのノードから使用可能なクラスタ対応の共有記憶域を選択します。

ベスト・プラクティスは、Oracle GoldenGate全体を共有記憶域にインストールすることです。これによって、パラメータ・ファイルを変更せずにどのノードからもOracle GoldenGateプロセスを起動できます。アクティブ・ノードに障害が発生した場合、インストール・ディレクトリに保持されている処理のチェックポイントを使用して、別のノードでプロセスをただちに起動できます。

共有記憶域ではなく、各ノードにOracle GoldenGateバイナリとファイルをインストールする場合、次の条件を満たす必要があります。

- Oracle GoldenGateインストールの場所が、すべてのノードで同じパスである必要があります。

- 最低でも次のディレクトリを共有記憶域にインストールし、Oracle GoldenGateのリカバリ要件をサポートします。UNIXまたはLinuxでは、各ノードのインストール・ディレクトリからのシンボリック・リンクを作成できます。

- dirchk

- dirdat

これらのディレクトリは、インストール時にCREATE SUBDIRSを発行して作成されるディレクトリの一部です。

- dirprmディレクトリのパラメータ・ファイルは、共有ドライブに配置されていない場合、すべてのノードで同一である必要があります。ノードごとに異なる環境設定を解決するために、ローカルManagerプロセスから継承するか、ノード固有のOracle GoldenGateマクロ・ファイルを参照するよう環境設定を設定できます。このシナリオを実現するのは難しいため、パラメータ・ファイルを共有ドライブに格納することで内在する問題を回避できます。

Oracle GoldenGateのインストール後、2.8項「クラスタへのOracle GoldenGateの統合」も参照してください。

2.5 LinuxおよびUNIXへのOracle GoldenGateのインストール

次の手順に従って、LinuxまたはUNIXシステムまたはクラスタ内の適切な場所にOracle用のOracle GoldenGateをインストールします。詳細は、2.4項「クラスタ内でのOracle GoldenGateのインストールの準備」を参照してください。この手順では、Oracle GoldenGateインストール・ファイルを展開し、作業用のサブディレクトリを作成します。

1. Oracle GoldenGateのmediapack.zipファイルを、Oracle GoldenGateをインストールするシステムおよびディレクトリに解凍します。

2. コマンド・シェルを実行します。

3. ディレクトリを新しいOracle GoldenGateディレクトリに変更します。

4. Oracle GoldenGateディレクトリからGGSCIプログラムを実行します。
GGSCI

5. GGSCIで次のコマンドを発行して、Oracle GoldenGate作業ディレクトリを作成します。
CREATE SUBDIRS

6. 次のコマンドを発行してGGSCIを終了します。
EXIT

2.6 WindowsへのOracle GoldenGateのインストール

次の手順に従って、Windowsシステムまたはクラスタ内の適切な場所にOracle用のOracle GoldenGateをインストールします。詳細は、2.4項「クラスタ内にOracle GoldenGateをインストールする準備」を参照してください。

WindowsでOracle GoldenGateをインストールするには、次の手順が必要です。

2.6.1項「Oracle GoldenGateファイルのインストール」

2.6.2項「カスタムManager名の指定」

2.6.3項「WindowsサービスとしてのManagerのインストール」

2.6.1 Oracle GoldenGateファイルのインストール

次の手順では、Oracle GoldenGateのインストール・ディレクトリにインストール・ファイルを展開し、作業ディレクトリを作成します。

1. (Windowsクラスタ)クラスタ内のいずれかのノードにログインします。

2. (Windowsクラスタ)Oracle GoldenGateのインストール場所のドライブを選択します。このドライブは、データベース・インスタンスが含まれる同じクラスタ・グループ内のリソースである必要があります。

3. (Windowsクラスタ)このクラスタ・グループが、ログインしているクラスタ・ノードによって所有されていることを確認します。

4. 次の手順に従って、Oracle GoldenGateをインストールします。

5. WinZipまたは同等の圧縮製品を使用して、ダウンロードしたファイルを解凍します。

6. Oracle GoldenGateをインストールするドライブ内のフォルダに、バイナリ・モードでファイルを移動します。パスが引用符で囲まれている場合でも、名前に空白が含まれているフォルダにはOracle GoldenGateをインストールしないでください。例:
C:\"Oracle GoldenGate"は有効ではありません。

C:\Oracle_GoldenGateは有効です。

7. Oracle GoldenGateフォルダからGGSCIプログラムを実行します。

8. GGSCIで次のコマンドを発行して、Oracle GoldenGate作業ディレクトリを作成します。
CREATE SUBDIRS

9. 次のコマンドを発行してGGSCIを終了します。
EXIT

2.6.2 カスタムManager名の指定

次のいずれかに該当する場合は、Managerプロセスにカスタム名を指定する必要があります。

- デフォルトのGGSMGR以外の名前をManagerに使用します。

- 複数のManagerプロセスがWindowsサービスとしてこのシステムで実行されています。システム上の各Managerの名前を一意にする必要があります。先に進む前に、すべてのローカルManagerサービスの名前を確認します。

1. ManagerプログラムがあるディレクトリからGGSCIを実行します。

2. 次のコマンドを発行します。
EDIT PARAMS ./GLOBALS

注意:
GLOBALSファイルはOracle GoldenGateインストール・ファイルのルートにあるため、このコマンドの./の部分を使用する必要があります。

3. ファイルに次の行を追加します。nameは、Managerサービスの1語で構成される名前です。
MGRSERVNAME name

4. ファイルを保存します。ファイルはGLOBALSという名前で自動的に保存されますが、ファイル拡張子は付きません。このファイルは移動しないでください。Windowsサービスのインストール時とデータ処理時に使用されます。

2.6.3 WindowsサービスとしてのManagerのインストール

デフォルトでは、Managerはサービスとしてインストールされず、ローカルまたはドメイン・アカウントで実行できます。ただし、この方法で実行した場合は、ユーザーがログアウトするとManagerは停止します。Managerをサービスとしてインストールすれば、ユーザー接続と無関係にManagerを操作でき、手動で起動するように構成することも、システム起動時に起動するように構成することもできます。

WindowsクラスタではManagerをサービスとしてインストールする必要がありますが、それ以外ではオプションです。

1. (推奨)システム管理者としてログオンします。

2. 「スタート」、「ファイル名を指定して実行」をクリックし、「ファイル名を指定して実行」ダイアログ・ボックスでcmdと入力します。

3. サービスとしてインストールするManagerプログラムを含むディレクトリから、次の構文でinstallプログラムを実行します。

install option [...]

説明: optionは次のいずれかです。

表2-2 INSTALLオプション

オプション

説明

ADDEVENTS

Oracle GoldenGateのイベントをWindowsのイベント・マネージャに追加します。

ADDSERVICE

GLOBALSファイルのMGRSERVNAMEパラメータで指定された名前がある場合はその名前で、そうでない場合はデフォルトのGGSMGRで、Managerをサービスとして追加します。ADDSERVICEは、ローカル・システム・アカウントとして実行されるようにサービスを構成します。このようにすると、サービスをユーザー・ログインやパスワードの変更の影響を受けずに実行できるため、大部分のWindowsアプリケーションの標準です。特定のアカウントとしてManagerを実行するには、USERオプションおよびPASSWORDオプションを使用します。脚注 1

サービスはシステム・ブート時に起動するようにインストールされます(「AUTOSTART」を参照)。インストール後に起動するには、システムを再起動するか、コントロール パネルの「サービス」アプレットから手動で起動します。

AUTOSTART

ADDSERVICEを使用して作成されたサービスをシステムの起動時に開始するように設定します。MANUALSTARTを使用しないかぎり、これがデフォルトです。

MANUALSTART

ADDSERVICEを使用して作成されたサービスを、GGSCI、スクリプトまたは「コントロール パネル」の「サービス」アプレットから手動で開始するように設定します。デフォルトはAUTOSTARTです。

USER name

Managerを実行するドメイン・ユーザー・アカウントを指定します。名前には、ドメイン名、バックスラッシュ、ユーザー名を含めます(例:HEADQT\GGSMGR)。

デフォルトでは、Managerサービスはローカル・システム・アカウントを使用するようにインストールされます。

PASSWORD

password

USERに指定されたユーザーのパスワードを指定します。

脚注 1  ユーザー・アカウントは、Windowsコントロール パネルのサービス・アプレットからプロパティ・アクションを選択することで変更できます。

4. Windowsのユーザー・アカウント制御(UAC)が有効になっている場合、コンピュータへのプログラムのアクセスを許可または拒否するよう要求されます。「許可」を選択すると、installプログラムを実行できます。これにより、管理者権限で実行されているローカル・システム・アカウントでManagerサービスがインストールされます。サービスとしてインストールされたManagerを実行している場合、これ以降UACプロンプトが表示されることはありません。

注意:
Managerがサービスとしてインストールされていない場合、ManagerをGGSCIコマンド・プロンプトから起動する際、Managerの権限の強化を確認するUACプロンプトがOracle GoldenGateユーザーに表示されます。他のOracle GoldenGateプログラムの実行でもプロンプトが表示されます。

2.7 MySQLクラスタ用のOracle GoldenGateの設定

Oracle GoldenGateでは11.2.1.0.4以上のバージョンのMySQLクラスタがサポートされており、MySQL Cluster 7.1.15およびMySQL 5.1.xで動作保証されています。次の手順は、MySQLクラスタに対して動作するためのOracle GoldenGateの設定方法を示しています。

- 手順1: MySQL Clusterのインストール

- 手順2: MySQL Clusterの起動

- 手順3: Oracle GoldenGateのインストールおよび実行

2.7.1 手順1: MySQL Clusterのインストール

次のMySQLドキュメント『Installing MySQL Cluster on Linux』の説明に従って、MySQL Clusterをインストールします。

http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-install-linux.html

注意:
Oracle GoldenGateではMySQL Cluster/NDBストレージ・モードのみがサポートされるようになりました。したがって、次の設定が構成ファイル(つまり、my.cnf)で必要となります。

default-storage-engine=ndbcluster

MySQLデータベースおよび表を作成した後、ステータスをチェックして正しいエンジンとデータ型が使用されていることを確認できます。次に例を示します。

show table status where Name='te';

2.7.2 手順2: MySQL Clusterの起動

Oracle GoldenGateをMySQL Clusterに対して使用するには、NDB-LOG-UPDATE-AS-WRITEおよびNDB-LOG-UPDATED-ONLYの各パラメータをそれぞれのMySQLデータベース構成ファイル(my.cnf/my.ini)内か、mysqldコマンドを使用して無効にする必要があります。Extractは、たとえば次のような、無効にされたオプションがすでに有効な時点に配置されている必要があります。

mysqld --default-file=/rdbms/mysql/myssqlcluster/my_cluster/conf/my.cnf -uroot --datadir=/rdbms/mysql/myssqlcluster/my_cluster/mysqld_data--ndbcluster --ndb-log-update-as-write=0 --ndb-log-updated-only=0 --default-storage-engine=ndbcluster --max_allowed_packet=1G

MySQL用の--ndb-log-updated-onlyオプションは次の操作を実行します。

- 行を完全に記録します。

- 更新されている列データのみを記録します。つまり、値が実際に変更されたかどうかに関係なく、値が設定されている列データです。これはデフォルトの動作です。行全体を記録する必要がある場合は、--ndb-log-updated-onlyを0またはOFFに設定すると可能になります。

--ndb-log-update-as-writeオプションは、変更されたデータをUPDATE操作として記録します。

2.7.3 手順3: Oracle GoldenGateのインストールおよび実行

2.5項「LinuxおよびUNIXへのOracle GoldenGateのインストール」の手順に従ってOracle GoldenGateをインストールします。  クラスタ環境をサポートするには、すべてのクラスタ・ノードからアクセスできる共有ファイル・システム上にOracle GoldenGateをインストールします。

2.8 クラスタへのOracle GoldenGateの統合

Oracle GoldenGateをクラスタにインストールした場合、次の手順を実行してOracle GoldenGateをクラスタ・ソリューション内に統合します。

2.8.1 クラスタでの一般的な要件

次に示すのは一般的な適用手順のため、特定のクラスタ・システムには適用されない場合があります。

Oracle GoldenGateのクラスタへの統合時には次の要件を満たす必要があります。

1. Oracle GoldenGate Managerプロセス(Managerのみ)を、他のアプリケーションと同様にクラスタ管理対象リソースとして登録します。Managerは、他のすべてのプロセスを管理する親プロセスであるため、Managerのみがクラスタ管理ソフトウェアを起動および停止するOracle GoldenGateプロセスです。

2. クラスタで仮想IPアドレスを使用する場合、Managerプロセス用に使用可能な固定IPアドレスを取得する必要があります。VIPは、パブリック・サブネット上の使用可能なIPアドレスである必要があり、DHCPを介して決定されません。Extractデータ・ポンプのパラメータ・ファイルで、リモートManagerのVIPをRMTHOSTパラメータの入力値として指定します。Managerにアクセスする他のOracle GoldenGate製品もVIPを使用する必要があります。

3. クラスタ内のすべてのノードでシステム・クロックが同期していることを確認します。クロックはExtractが実行されるシステムのクロックと同期している必要があります。Oracle GoldenGateでは、ローカル・システムの時間とコミットのタイムスタンプを比較して、重大な決定をします。システム・クロックの同期については、システム管理者に問い合せてください。

4. Managerを構成する際、AUTOSTARTおよびAUTORESTARTパラメータを追加して、Managerでレプリケーション・プロセスを自動的に起動するようにします。必要に応じて、Oracle GoldenGateユーザー・インタフェース内からExtract、Replicatおよび他のOracle GoldenGateプロセスを制御できます。

5. 1つのノードのみで共有ドライブをマウントします。これによって、他のノードでプロセスが起動されなくなります。すべてのノードで同じマウント・ポイントを使用します。

6. Oracle GoldenGateを環境に合せて適切に構成します。

2.8.2 Windowsクラスタ・リソースとしてのOracle GoldenGateの追加

Oracle GoldenGateをWindowsクラスタにインストールした場合は、次の手順に従ってOracle GoldenGateをクラスタ・リソースとして設定し、すべてのノード上にManagerサービスを正しく設定します。

- クラスタ・アドミニストレータで、Oracle GoldenGateの接続先のデータベース・インスタンスを含むグループにManagerプロセスを追加します。

- Oracle GoldenGateが稼働するすべてのノードが、リソースの実行可能な所有者として選択されていることを確認します。

- Manager Windowsサービスに次の依存関係(「サービス」コントロール・パネルから構成可能)があることを確認します。

- データベース・リソース

- Oracle GoldenGateディレクトリが含まれているディスク・リソース

- データベース・トランザクション・ログ・ファイルを含むディスク・リソース

- データベースのトランザクション・ログ・バックアップ・ファイルを含むディスク・リソース

3 Oracle GoldenGateのためのシステムの準備

この章では、Oracle GoldenGateを実行するためのシステムの準備の手順について説明します。次の項で構成されます。

- 3.1項「データ使用可能性の確保」

- 3.2項「ログ・パラメータの設定」

- 3.3項「ホスト名の追加」

- 3.4項「セッション・キャラクタ・セットの設定」

- 3.5項「双方向レプリケーションの構成」

- 3.6項「MySQLに関するその他のOracle GoldenGateパラメータ」

- 3.7項「処理のための表の準備」

- 3.8項「特定の開始ポイントへのExtractの設定」

- 3.9項「log-binの場所の変更」

3.1 データ使用可能性の確保

十分なバイナリ・ログ・データを保持し、Extractを停止した場合、または計画外の停止が発生した場合に、Extractをチェックポイントから再開できるようにします。Extractには、コミットされていない最も古い作業単位の開始点を含むバイナリ・ログ、およびそれ以降のすべてのバイナリ・ログへのアクセス権が必要です。推奨される保存期間は、少なくとも24時間は対応可能な、アクティブな情報とアーカイブされた情報の両方を含むトランザクション・データです。データ・ボリュームやビジネス要件に応じた最適な保存時間を判断するために、なんらかのテストが必要になる場合があります。

処理中にExtractで必要とされる、アクティブまたはバックアップ・ログのデータが保存されていない場合、次のいずれかの修正処理が必要になる場合があります。

- バイナリ・ログ・データが使用可能な最新の時点からキャプチャを行う(およびターゲットで発生した可能性のあるデータ損失を受け入れる)ようにExtractを修正します。

- ソース表とターゲット表を再同期化して、Oracle GoldenGate環境を設定からやり直します。

Extractのチェックポイントの場所を確認するには、INFO EXTRACTコマンドを使用します。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。

3.2 ログ・パラメータの設定

MySQLのトランザクション・ログからキャプチャするには、Oracle GoldenGate Extractプロセスが索引ファイルを検索できる必要があります。その索引ファイルにはすべてのバイナリ・ログ・ファイルのパスが含まれます。

注意:
Extractは、すべての表列がバイナリ・ログに存在するものと想定します。その結果、fullと設定されているbinlog_row_imageのみがサポートされ、これがデフォルトになります。他の値のbinlog_row_imageはサポートされません。

Extractは次のパラメータ設定を確認してこの索引ファイル・パスを取得します。

1. ALTLOGDESTオプションを指定したExtract TRANLOGOPTIONSパラメータ: このパラメータでログ索引ファイルの場所が指定されている場合、Extractは、MySQLサーバー構成ファイルで指定されたデフォルトよりこの場所を優先します。ALTLOGDESTが使用される場合、バイナリ・ログ索引ファイルも指定されたディレクトリに格納される必要があります。このパラメータは、MySQL構成ファイルで索引ファイルのフル・パス名が指定されていないか、間違った場所が指定されている場合、または同じマシンに複数のMySQLのインストールがある場合に使用されます。
索引ファイル・パスをTRANLOGICOPTIONS、ALTLOGDESTとともに指定するには、次のコマンド形式をWindowsで使用します。

TRANLOGOPTIONS ALTLOGDEST "C:\\Program Files\\MySQL\\logs\\binlog.index"

Linuxでは次の形式を使用します。

TRANLOGOPTIONS ALTLOGDEST "/mnt/rdbms/mysql/data/logs/binlog.index"

2. MySQLサーバー構成ファイル: 構成ファイルには、MySQLのサーバーとクライアントのデフォルト起動オプションが格納されます。Windowsでは、構成ファイルの名前はmy.iniです。他のプラットフォームでは、my.cnfです。ALTLOGDESTを指定したTRANLOGOPTIONSがない場合、Extractは構成ファイルからログ・ファイルの場所に関する情報を取得します。ただし、ALTLOGDESTが指定されている場合でも、Extractで必要とするパラメータがいくつかあり、正しく設定されている必要があります。

- log-bin: このパラメータは、バイナリ・ロギングの有効化に使用されます。このパラメータはバイナリ・ログ索引ファイルの場所も指定します。ALTLOGDESTが使用される場合でもOracle GoldenGateの必須パラメータです。log-binが指定されていないと、バイナリ・ロギングが無効になり、Extractからエラーが返されます。

- log-bin-index: このパラメータでは、バイナリ・ログ索引の場所を指定します。使用されていない場合、Extractは索引ファイルがログ・ファイルと同じ場所にあるとみなします。このパラメータが使用され、バイナリ・ログが含まれるディレクトリとは異なるディレクトリが指定されている場合、Extractの起動後、バイナリ・ログは移動できません。

- max_binlog_size: このパラメータでは、バイナリ・ログ・ファイルのサイズをバイト単位で指定します。

注意:
現在のログのサイズがmax_binlog_size値に達すると、新しいファイルにロールオーバーする前にトランザクションの記録を終了する必要がある場合を除き、サーバーでは新しいバイナリ・ログ・ファイルが自動的に作成されます。

- binlog_format: このパラメータでは、ログの形式を設定します。ROWという値に設定する必要があります。これによって、DML文をバイナリ形式で記録するようデータベースに指示されます。その他のログ形式(MIXEDまたはSTATEMENT)を使用すると、Extractは異常終了します。

注意:
MySQLのバイナリ・ロギングでは、特定の表についてロギングを有効または無効にすることはできません。データベースのすべての表にグローバルに適用されます。

構成ファイルを検出するために、ExtractはMYSQL_HOME環境変数を確認します。MYSQL_HOMEが設定されている場合、Extractは指定されたディレクトリの構成ファイルを使用します。MYSQL_HOMEが設定されていない場合、Extractはinformation_schema.global_variables表に問い合せてMySQLのインストール・ディレクトリを決定します。構成ファイルがそのディレクトリにある場合、Extractはそれを使用します。

3.3 ホスト名の追加

Oracle GoldenGateは、接続先のデータベースの名前をSOURCEDBパラメータから取得します。接続の成功は、システム・ホスト・ファイルで適切に構成されているlocalhostエントリに依存します。不適切なローカル・ホスト構成によって問題が生じないようにするには、SOURCEDBを次のように使用します。

SOURCEDB database_name@host_name

説明: database_nameはMySQLインスタンスの名前で、host_nameはローカル・ホストの名前またはIPアドレスです。修飾されていないホスト名を使用する場合、名前はDNSデータベースに適切に構成されている必要があります。そうでない場合、完全修飾されたホスト名(myhost.company.comなど)を使用します。

3.4 セッション・キャラクタ・セットの設定

ExtractプロセスとReplicatプロセスは、データベースの接続時、セッション・キャラクタ・セットを使用します。MySQLでは、セッション・キャラクタ・セットは、SOURCEDBおよびTARGETDBのSESSIONCHARSETオプションから取得されます。Oracle GoldenGateを構成する際、これらのいずれかでセッション・キャラクタ・セットを必ず指定してください。

3.5 双方向レプリケーションの構成

双方向構成では、各システムのトランザクション変更をもう一方のシステムにレプリケーションすることをサポートするために、ソースおよびターゲットの両方のシステムにExtractおよびReplicatプロセスがあります。この構成をサポートするには、適用されたトランザクションが再キャプチャされてソースに送られることが繰り返されることのないよう、各ExtractがローカルのReplicatで適用されたトランザクションをフィルタできる必要があります。さらに、各システムで値の不整合が起こらないようにAUTO_INCREMENT列も設定する必要があります。

1. Oracle GoldenGate Windows and UNIXの管理の説明に従って、Oracle GoldenGateの高可用性またはアクティブ/アクティブ型のレプリケーションを構成します。

2. 適用された操作がキャプチャされてソースに再度ループバックされないように、双方向構成のReplicat操作をフィルタの対象外にするには、各MySQLデータベースで次のステップを実行します。

- チェックポイント表を使用するように各Replicatプロセスを構成します。Replicatでは、各トランザクションの最後にチェックポイントをこの表に書き込みます。1つのグローバルなチェックポイント表を使用することも、Replicatプロセスごとに1つの表を使用することもできます。Oracle GoldenGate Windows and UNIXの管理を参照してください。

- Extractパラメータ・ファイルに含まれるTRANLOGOPTIONSパラメータのFILTERTABLEオプションを使用して、チェックポイント表の名前を指定します。Extractプロセスでは、指定された表に対する操作(Replicat操作のみ)で終了するトランザクションは無視されます。

注意:
チェックポイント表の使用は、サポートされている他のデータベースではリカバリを拡張するためのオプションですが、MySQLで双方向レプリケーションを使用する際には必須です(同様にリカバリも拡張されます)。

3. 双方向操作で発生する可能性のある不一致を回避するよう、MySQLサーバー構成ファイルを編集して、auto_increment_incrementおよびauto_increment_offsetパラメータを設定します。ServerAとServerBの2つのサーバーを例として、これらのパラメータを次に示します。
ServerA:

auto-increment-increment = 2
auto-increment-offset = 1

ServerB:

auto-increment-increment = 2
auto-increment-offset = 2

3.6 MySQLに関するその他のOracle GoldenGateパラメータ

MySQLインストールで次のパラメータを使用できます。デフォルト以外の設定がMySQLデータベースに対して使用される場合、必須です。ビジネス要件や構成によっては、これら以外のOracle GoldenGateパラメータも必要です。

表3-1 MySQLに関するその他のOracle GoldenGateパラメータ

パラメータ

説明

CONNECTIONPORT port_numberを使用したDBOPTIONS

MySQLがデフォルトである3306で実行されない場合、Oracle GoldenGateプロセスの接続先のMySQLインスタンスのTCP/IP接続ポート番号をVAMに指定するために必要です。

DBOPTIONS CONNECTIONPORT 3307

HOST host_idを使用したDBOPTIONS

Replicatの接続先のシステムをホストしているMySQLのDNS名またはIPアドレスを指定します。

ALLOWLOBDATATRUNCATEを使用したDBOPTIONS

レプリケートするLOBデータがターゲットMySQLのCHAR、VARCHAR、BINARYまたはVARBINARY列に対して大きすぎる場合にReplicatが異常終了することを防ぎます。

USERIDおよびPASSWORDを使用したSOURCEDB

MySQLデータベースに接続するOracle GoldenGateプロセスによって使用されるデータベース、ユーザー名およびパスワードで構成されるデータベース接続情報を指定します。MySQLがデフォルト・ポートである3306で実行されていない場合、SOURCEDB dbname@hostname:port, USERID user, PASSWORD passwordのようにポート番号を含む完全な接続文字列を指定する必要があります。次に例を示します。

SOURCEDB mydb@mymachine:3307, USERID myuser, PASSWORD mypassword

MySQLデータベースをポート3306で実行中ではない場合、GGSCI経由でデータベースに影響するコマンドを発行する際に、DBLOGINコマンドでMySQLデータベースの接続ポートも指定する必要があります。

DBLOGIN SOURCEDB dbname@hostname:port, USERID user, PASSWORD password

例:

GGSCI> DBLOGIN SOURCEDB mydb@mymachine:3307, USERID myuser, PASSWORD mypassword

SQLEXEC

ReplicatでMySQLの接続タイムアウトを回避できるようにするため、Replicatパラメータ・ファイルのSQLEXEC文で次のコマンドを構成します。

SQLEXEC "select CURRENT_TIME();" EVERY n MINUTES

説明: nは、Replicatで再接続を行うまでの最大間隔です。推奨される接続タイムアウトは、Windowsの場合は2147483秒(25日)、UNIXおよびLinuxの場合は31536000秒(365日)です。

Oracle GoldenGateのパラメータの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

ビジネス要件に合うようOracle GoldenGateを構成する方法の詳細は、Oracle GoldenGate Windows and UNIXの管理を参照してください。

3.7 処理のための表の準備

この項では、処理のための表の準備方法について説明します。表の準備では次のタスクが必要です。

- 行識別子の割当て

- キーのない表での行の変更の制限

- トリガーおよびカスケード制約の無効化

3.7.1 行識別子の割当て

Oracle GoldenGateでは、レプリケートされた更新や削除に対応する正しいターゲット行を検出するために、ソース表およびターゲット表で特定の形式の一意の行識別子が必要です。

3.7.1.1 Oracle GoldenGateで使用する行識別子の種類を判別する方法

TABLE文またはMAP文でKEYCOLS句を使用しない場合には、Oracle GoldenGateにより、使用される行識別子が次の優先順位で選択されます。

1. 主キー

2. タイムスタンプまたはマテリアライズされていない計算結果列を含まない英数字順で最初の一意キー

3. 前述のキー・タイプのいずれも存在しない場合(その他の種類のキーが表に定義されている場合でも)、Oracle GoldenGateは、一意キーでデータベースが使用を許可されているすべての列(Oracle GoldenGateによってキーでサポートされていない列やOracle GoldenGate構成から除外される列は除く)の疑似キーを作成します。

注意:
表に使用可能な他のキーがない場合や、表にキーがまったくない場合、Oracle GoldenGateは該当するメッセージをレポート・ファイルに記録します。すべての列からキーを作成すると、ソース・システムのOracle GoldenGateのパフォーマンスが低下します。ターゲットでは、このキーはReplicatであまり効率的でないより大きいWHERE句が使用される原因となります。

3.7.1.2 一意索引から導出される主キーを持つ表

表に主キーがなく、索引付けされた列がNOT NULLである場合、MySQLでは一意索引が主キーにプロモートされます。これらのNOT NULL索引が複数ある場合、最初に作成された索引が主キーになります。Replicatでエラーが発生しないようにするには、ソース表とターゲット表でこれらの索引を同じ順序で作成します。

たとえば、ggvam.empという名前のソース表とターゲット表のそれぞれにfirst、middle、lastという列があり、それらすべてがNOT NULLとして定義されているとします。次の順序で一意索引を作成した場合、表定義が一致しないため、Oracle GoldenGateはターゲットで異常終了します。

ソース:

mysql> create unique index uq1 on ggvam.emp(first);
mysql> create unique index uq2 on ggvam.emp(middle);
mysql> create unique index uq3 on ggvam.emp(last);

ターゲット:

mysql> create unique index uq1 on ggvam.emp(last);
mysql> create unique index uq2 on ggvam.emp(first);
mysql> create unique index uq3 on ggvam.emp(middle);

この順序の結果、MySQLでは、ソースの"first"列の索引と、ターゲットの"last"列の索引が主キーにプロモートされます。Oracle GoldenGateでは、メタデータ・レコードの作成時に主キーが識別子として選択されるため、メタデータが一致しなくなります。このエラーを回避するには、主キーにプロモートする列を決定し、ソースおよびターゲットでその索引を最初に作成します。

3.7.1.3 Oracle GoldenGateで使用する独自キーを指定する方法

前述のキー・タイプの行識別子が表に存在しないか、または、それらの識別子を使用しない場合は、常に一意の値が含まれている列が表にあれば、代替キーを定義できます。この代替キーは、ExtractのTABLEパラメータおよびReplicatのMAPパラメータにKEYCOLS句を含めることで定義します。指定されたキーがOracle GoldenGateで検出される既存の主キーまたは一意なキーよりも優先されます。

3.7.2 キーのない表での行の変更の制限

ターゲット表に主キーまたは一意のキーがない場合、重複する行が存在する可能性があります。この場合、Oracle GoldenGateで更新または削除されるターゲット表の行数が多くなりすぎ、ソース・データとターゲット・データの同期がとれなくなる可能性があります。警告するエラー・メッセージは表示されません。更新される行数を制限するには、Replicatパラメータ・ファイルで、DBOPTIONSパラメータをLIMITROWSオプションとともに使用します。LIMITROWSを使用すると1行しか処理されないため、ターゲット・システムにおけるOracle GoldenGateのパフォーマンスが向上する可能性があります。

3.7.3 トリガーおよびカスケード制約の無効化

ターゲット表のトリガー、カスケード削除制約、カスケード更新制約を無効にするか、これらを変更してOracle GoldenGateデータベース・ユーザーによる変更が無視されるようにします。Oracle GoldenGateでは、トリガーまたはカスケード制約の結果として生成されるDMLがレプリケートされます。同じトリガーや制約がターゲット表でアクティブになった場合、レプリケートされたバージョンのために重複となり、データベースでエラーが返されます。ソース表にemp_srcとsalary_src、ターゲット表にemp_targとsalary_targを使用している次の例について考えます。

1. emp_srcに対して削除が発行されます。

2. それによって、削除がsalary_srcにカスケードされます。

3. Oracle GoldenGateによって、両方の削除がターゲットに送信されます。

4. 親削除が先に届き、emp_targに適用されます。

5. 親削除によって、削除がsalary_targにカスケードされます。

6. カスケードされたsalary_srcの削除がsalary_targに適用されます。

7. 行は手順5ですでに削除されているため検出できません。

3.8 特定の開始ポイントへのExtractの設定

次のコマンドを使用して、トランザクション・ログの特定の開始ポイントにADD EXTRACTおよびALTER EXTRACTコマンドを配置できます。

{ADD | ALTER EXTRACT} group, VAM, LOGNUM log_num, LOGPOS log_pos

- groupは、開始ポイントが必要なOracle GoldenGate Extractのグループ名です。

- log_numはログ・ファイル番号です。たとえば、必要なログ・ファイルの名前がtest.000034である場合、この値は34です。Extractでは、このログ・ファイルが検索されます。

- log_posは、特定のトランザクション・レコードを識別する、ログ・ファイル内のイベント・オフセット値です。イベント・オフセット値は、ログ・レコードのヘッダー・セクションに格納されます。

MySQLログでは、イベント・オフセット値は所定のバイナリ・ファイル内でのみ一意にできます。位置の値とログ番号の組合せにより、トランザクション・レコードが一意に識別されますが、この組合せの長さは37文字を超えることはできません。指定したログ内でこの位置の後に使用可能なトランザクション・レコードが、Extractによってキャプチャされます。

3.9 log-binの場所の変更

log-bin変数をMYSQL構成ファイルで使用してバイナリ・ログの場所を変更すると、索引ファイル内に2つの異なるパス・エントリが生じることになり、エラーが発生する場合があります。エラーの可能性を避けるため、次の操作を行ってlog-binの場所を変更します。

1. あらゆる新規のDML操作を停止します。

2. Extractで既存バイナリ・ログのすべての処理を終了します。これは、チェックポイント位置が最終ログのオフセットに達した時間を注記することで確認できます。

3. Extractがデータの処理を終了したら、Extractグループを停止して、必要ならばバイナリ・ログのバックアップを取ります。

4. MySQLデータベースを停止します。

5. 新しい場所のlog-binパスを変更します。

6. MySQLデータベースを起動します。

7. 索引ファイルから古いログ名エントリを消去するには、flush masterまたはflush logsを(MySQLのバージョンに応じて)使用します。

8. Extractを起動します。

4 Oracle GoldenGateのアンインストール

この章では、Oracle GoldenGate for MySQLをアンインストールする場合の手順について説明します。内容は次のとおりです。

- 4.1項「LinuxまたはUNIXからのOracle GoldenGateのアンインストール」

- 4.2項「WindowsクラスタからのOracle GoldenGateの削除」

- 4.3項「Windows(非クラスタ)からのOracle GoldenGateのアンインストール」

この手順は、Oracle GoldenGate証跡のデータが必要なくなり、現在のOracle GoldenGate環境を保持する必要がなくなった場合を前提としています。現在の環境およびデータを保存する場合は、この手順を開始する前に、Oracle GoldenGateディレクトリとすべてのサブディレクトリのバックアップを作成します。

4.1 LinuxまたはUNIXからのOracle GoldenGateのアンインストール

LinuxまたはUNIXマシンからOracle GoldenGateをアンインストールするには、次の手順に従います。

1. コマンド・シェルを実行します。

2. (推奨)システム管理者、またはOracle GoldenGateコマンドを発行する権限とオペレーシング・システムからファイルおよびディレクトリを削除する権限を持つユーザーとしてログオンします。

3. ディレクトリをOracle GoldenGateインストール・ディレクトリに変更します。

4. GGSCIを実行します。

5. Oracle GoldenGateプロセスをすべて停止します。

6. Managerプロセスを停止します。

7. (ソース・システムでのオプション)バイナリ・ロギングを無効にします。

8. (Replicatチェックポイント表が使用されている任意のシステムで) DBLOGINコマンドを使用してデータベースにログインし、DELETE CHECKPOINTTABLEコマンドを実行してReplicatチェックポイント表を削除します。

9. すべてのシステムで:

- すべてのOracle GoldenGateプロセス(GGSCIを含む)が停止していることを確認します。

- インストール・ディレクトリを削除してOracle GoldenGateファイルを削除します。

4.2 WindowsクラスタからのOracle GoldenGateの削除

Windowsクラスタ・マシンからOracle GoldenGateをアンインストールするには、次の手順に従います。

1. Managerリソースを含むクラスタ・グループを所有するクラスタのノードからGGSCIを実行し、まだ実行中のExtractおよびReplicatプロセスをすべて停止します。

2. クラスタ・アドミニストレータ・ツールを使用してManagerリソースをオフラインにします。

3. リソースを右クリックして、「削除」を選択し、削除します。

4. 「スタート」>「ファイル名を指定して実行」をクリックし、「ファイル名を指定して実行」ダイアログ・ボックスでcmdと入力して、コマンド・コンソールを開きます。

5. ディレクトリをOracle GoldenGateインストール・ディレクトリに変更します。

6. 次の構文を使用してinstallプログラムを実行します。
install deleteevents deleteservice

このコマンドは、Oracle GoldenGateイベントがWindowsのイベント・マネージャにレポートされないようにし、Managerサービスを削除します。

7. クラスタの次のノードにクラスタ・グループを移動し、繰り返します。

8. 「Windows(非クラスタ)からのOracle GoldenGateのアンインストール」の手順に従います。

4.3 Windows(非クラスタ)からのOracle GoldenGateのアンインストール

Windows非クラスタ・マシンからOracle GoldenGateをアンインストールするには、次の手順に従います。

1. (推奨)システム管理者、またはOracle GoldenGateコマンドを発行する権限とオペレーティング・システムからファイルおよびディレクトリを削除する権限を持つユーザーとしてログオンします。

2. Oracle GoldenGateインストール・フォルダからGGSCIを実行します。

3. Oracle GoldenGateプロセスをすべて停止します。

4. Managerプログラムまたはサービスを停止します。

注意:
Oracle GoldenGateをWindowsクラスタから削除する際にすでにこれらを実行している場合は、手順5から8までをスキップします。

5. 「スタート」、「ファイル名を指定して実行」をクリックし、「ファイル名を指定して実行」ダイアログ・ボックスでcmdと入力してコマンド・コンソールを開きます。

6. ディレクトリをOracle GoldenGateインストール・ディレクトリに変更します。

7. 次の構文を使用してinstallプログラムを実行します。
install deleteevents deleteservice

このコマンドは、Oracle GoldenGateイベントがWindowsのイベント・マネージャにレポートされないようにし、Managerサービスを削除します。

8. (ソース・システムでのオプション)バイナリ・ロギングを無効にします。

9. (Replicatチェックポイント表が使用されている任意のシステムで) DBLOGINコマンドを使用してデータベースにログインし、DELETE CHECKPOINTTABLEコマンドを実行してReplicatチェックポイント表を削除します。

10. すべてのシステムで:
すべてのプロセス(GGSCIを含む)が停止していることを確認し、インストール・ディレクトリを削除してOracle GoldenGateファイルを削除します。

A インストールされるOracle GoldenGateコンポーネント

この付録では、Oracle GoldenGateソフトウェアによってOracle GoldenGateインストール・ディレクトリで作成または使用されるプログラム、ディレクトリおよびその他のコンポーネントについて説明します。特定のプラットフォームでは、ここに記載されていない追加ファイルがインストールされる場合があります。また、ここに記載されているファイルがすべてのプラットフォームにインストールされるとはかぎりません。

この付録には次の項があります。

- A.1項「Oracle GoldenGateのプログラムおよびユーティリティ」

- A.2項「Oracle GoldenGateのサブディレクトリ」

- A.3項「その他のOracle GoldenGateのファイル」

- A.4項「Oracle GoldenGateチェックポイント表」

A.1 Oracle GoldenGateのプログラムおよびユーティリティ

この項では、Oracle GoldenGateのルート・インストール・ディレクトリにインストールされるプログラムについて説明します。

注意:
一部のプログラムはすべてのインストールに含まれない場合があります。たとえば、ご使用のプラットフォームでキャプチャまたは配信のみがOracle GoldenGateによってサポートされる場合には、extractプログラムまたはreplicatプログラムはそれぞれインストールされません。同様に、特定のデータベースをサポートするための特別なファイルがインストールされる場合があります。

表A-1 インストールされるOracle GoldenGateのプログラムおよびユーティリティ

プログラム

説明

convchk

チェックポイント・ファイルを新しいバージョンに変換します。

convprm

引用符で囲まれた名前およびリテラルにSQL-92ルールを使用しないパラメータ・ファイルを、SQL-92ルールを使用する更新されたパラメータ・ファイルに変換します。引用符で囲まれたオブジェクト名およびリテラル用のSQL-92形式は、Oracle GoldenGateのバージョン12cでデフォルトとして導入されています。

defgen

ソース表とターゲット表の定義が異なる場合に、データ定義を生成し、Oracle GoldenGateプロセスで参照します。

emsclnt

WindowsまたはUNIXシステムのCollectorおよびReplicatによって作成されたイベント・メッセージをNonStopシステムのEMSに送信します。

extract

データベース表またはトランザクション・ログからキャプチャを実行するか、ベンダーのアクセス・モジュールからトランザクション・データを受信します。

ggmxinstall

SQL/MXデータベース用のOracle GoldenGateインストール・スクリプト。

ggcmd

ggsciのプログラムに関連付けられています。Oracle GoldenGate MonitorのJAGENTなどの外部アプリケーションを起動して監視します。これらのアプリケーションをggsci環境に統合します。

ggsci

コマンドの発行やパラメータ・ファイルの管理を行うためのOracle GoldenGateのユーザー・インタフェース。

ggsmgr.jcl

ggsmgr.proc

ggsmgrst.jcl

ggsmgrst.proc

z/OSシステムのバッチ・ジョブまたはオペレータ・コンソールからOracle GoldenGate Managerプロセスを起動します。DB2 z/OSデータベースをサポートするためにインストールされます。

install

Oracle GoldenGateをWindowsサービスとしてインストールし、Windowsベースのその他のサービス・オプションを提供します。

keygen

データ暗号化キーを生成します。

logdump

抽出証跡またはファイルに格納されている情報の表示や保存のためのユーティリティ。

mgr

(Manager) GGSCIインタフェースを使用してリソース管理、Oracle GoldenGateプロセスの制御と監視、レポート作成、およびリクエストのルーティングを行う制御プロセス。

oggerr

Oracle GoldenGateのエラー・メッセージを管理します。

replicat

ターゲット・データベースの表にデータを適用します。

reverse

トランザクション操作の順序を逆転するユーティリティ。これにより、Replicatを使用してターゲット表の変更を取り消し、前の状態に戻すことができます。

server

リモートの証跡にデータを書き込むExtract TCP/IPサーバーのコレクタであるCollectorプロセス。

vamserv

TMF対応のアプリケーションにより生成されるTMF監査証跡を読み取るため、Extractによって起動されます。NonStop SQL/MXデータベースをサポートするためにインストールされます。

A.2 Oracle GoldenGateサブディレクトリ

この項では、Oracle GoldenGateインストール・ディレクトリのサブディレクトリとその内容について説明します。

注意:
一部のディレクトリはインストールに含まれない場合があります。

表A-2 インストールされるOracle GoldenGateのサブディレクトリ

ディレクトリ

説明

br

制限付きリカバリ機能用のチェックポイント・ファイルを格納します。

cfg

Oracle GoldenGate Monitorの構成に使用されるプロパティおよびXMLファイルを格納します。

dirdb

Oracle GoldenGate MonitorアプリケーションまたはOracle Enterprise Manager内で使用するためにOracle GoldenGateインスタンスから収集された情報の永続化に使用されるデータ・ストアを格納します。

dirchk

ExtractプロセスおよびReplicatプロセスによって作成されたチェックポイント・ファイル(データの精度とフォルト・トレランスをサポートするために現在の読込みおよび書込み位置が保存されている)が含まれています。Oracle GoldenGateの内部フォーマットで書き込まれます。

ファイル名の形式は、group_name+sequence_number.extです。sequence_numberは、古いファイルに付加される順序番号で、extは、Extractチェックポイント・ファイルの場合はcpe、Replicatチェックポイント・ファイルの場合はcprです。

これらのファイルは編集しないでください。

例:

ext1.cpe

rep1.cpr

dircrd

資格証明ストア・ファイルを格納します。

dirdat

Extractプロセスによって作成されるOracle GoldenGateの証跡ファイルと抽出ファイルのデフォルトの場所。抽出されたデータをReplicatプロセスや他のアプリケーション、ユーティリティでさらに処理するために格納します。Oracle GoldenGateの内部フォーマットで書き込まれます。

ファイル名の形式は、ユーザーが定義した2文字の接頭辞の後に、6桁の順序番号(証跡ファイル)か、ユーザーが定義した関連するExtractプロセス・グループの名前(抽出ファイル)が続きます。

これらのファイルは編集しないでください。

例:

rt000001

finance

dirdef

DEFGENユーティリティで作成される、異機種同期環境で使用されるソースまたはターゲットのデータ定義を保持するデータ定義ファイルのデフォルトの場所。外部ASCIIで書き込まれます。ファイル名の形式は、DEFGENパラメータ・ファイルで指定されたユーザー定義の名前です。

これらのファイルを編集して、新しく作成された表の定義を追加できます。定義ファイルの編集方法が不明な場合は、Oracle GoldenGateテクニカル・サポートにご連絡ください。

例:

defs.dat

dirdmp

内部アクティビティ・ロギング・メカニズムをサポートするトレースまたはダンプ、ファイルを格納します。

dirjar

Oracle GoldenGate MonitorをサポートするJava実行可能ファイルを格納します。

dirpcs

ステータス・ファイルのデフォルトの場所です。ファイル名の形式は、group.extensionです。groupはグループの名前で、extensionはpce (Extract)、pcr (Replicat)、pcm (Manager)のいずれかです。

これらのファイルは、プロセスの実行中にのみ作成されます。ファイルにはプログラム名、プロセス名、ポート番号およびプロセスIDが示されます。

これらのファイルは編集しないでください。

例:

mgr.pcm

ext.pce

dirprm

Oracle GoldenGateのプロセスのグループまたはユーティリティのランタイム・パラメータを保存するためにOracle GoldenGateによって作成される、Oracle GoldenGateパラメータ・ファイルのデフォルトの場所。外部ASCII形式で書き込まれます。ファイル名の形式は、group name/user-defined name.prmまたはmgr.prmです。

プロセスを停止した後、これらのファイルを編集して、Oracle GoldenGateパラメータ値を変更できます。これらは、テキスト・エディタで直接編集するか、GGSCIでEDIT PARAMS使用して編集できます。

例:

defgen.prm

finance.prm

dirrec

Oracle GoldenGateでは使用しません。

dirrpt

Extract、ReplicatおよびManagerプロセスによって作成される、プロセスの実行に関連する統計情報をレポートするプロセス・レポート・ファイルのデフォルトの場所。外部ASCII形式で書き込まれます。

ファイル名の形式は、group name+sequence number.rptです。sequence numberは古いファイルに付加される順序番号です。

これらのファイルは編集しないでください。

例:

fin2.rpt

mgr4.rpt

dirsql

triggenが非推奨になる前は、SQLスクリプトを格納するためにtriggenユーティリティにより使用されていました。現在は、Oracle GoldenGateをサポートするトレーニング・スクリプトおよびユーザーが作成したSQLスクリプトの格納に使用されます。

dirtmp

キャッシュ・マネージャに割り当てられているメモリー・サイズを超えた場合にトランザクション・データを格納するデフォルトの場所。これらのファイルは編集しないでください。

dirwlt

Oracle GoldenGateウォレット・ファイルを格納します。

UserExitExamples

ユーザー・イグジットの作成に便利なサンプル・ファイルを格納します。

A.3 その他のOracle GoldenGateのファイル

この項では、Oracle GoldenGateインストールのルート・ディレクトリに作成またはインストールされるその他のファイル、テンプレートおよびオブジェクトについて説明します。

注意:
データベースおよびOSプラットフォームによっては、一部のファイルが使用環境にインストールされない場合があります。

表A-3 インストールされるその他のOracle GoldenGateのファイル

コンポーネント

説明

bcpfmt.tpl

Microsoft BCP/DTSバルクロード・ユーティリティ用の実行ファイルの作成時にReplicatで使用するためのテンプレート。

bcrypt.txt

Blowfishの暗号化ソフトウェア・ライセンス契約。

cagent.dll

Oracle GoldenGate Monitor CサブエージェントのWindowsダイナミック・リンク・ライブラリを格納します。

category.dll

INSTALLユーティリティによって使用されるWindowsのダイナミック・リンク・ライブラリ。

chkpt_db_create.sql

ローカル・データベースでチェックポイント表を作成するスクリプト。データベース・タイプごとに異なるスクリプトがインストールされます。

db2cntl.tpl

IBM LOADUTILバルク・ロード・ユーティリティの制御ファイルを作成する際、Replicatで使用されるテンプレート。

ddl_cleartrace.sql

DDLトレース・ファイルを削除するスクリプト。(Oracleインストール)

ddl_ddl2file.sql

マーカー表からのDDLをファイルに保存するスクリプト。

ddl_disable.sql

Oracle GoldenGate DDLトリガーを無効にするスクリプト。(Oracleインストール)

ddl_enable.sql

Oracle GoldenGate DDLトリガーを有効にするスクリプト。(Oracleインストール)

ddl_filter.sql

Oracle GoldenGateでのDDLのフィルタリングをサポートするスクリプト。このスクリプトはプログラムで実行されます。手動で実行しないでください。

ddl_nopurgeRecyclebin.sql

Oracle GoldenGateのサポート・スタッフによって使用される空のスクリプト・ファイル。

ddl_ora11.sql

ddl_ora12.sql

Oracle GoldenGate DDLサポートの一部としてプログラムで実行されるスクリプト。これらのスクリプトは実行しないでください。

ddl_pin.sql

パフォーマンス向上のためにDDLトレース、DDLパッケージ、およびDDLトリガーを確保するスクリプト。(Oracleインストール)

ddl_purgeRecyclebin.sql

DDLレプリケーション機能をサポートするためにOracleのごみ箱をパージするスクリプト。

ddl_remove.sql

DDL抽出トリガーおよびパッケージを削除するスクリプト。(Oracleインストール)

ddl_session.sql

ddl_session1.sql

Oracle DDLオブジェクトのインストールをサポートします。このスクリプトはプログラムで実行されます。手動で実行しないでください。

ddl_setup.sql

Oracle GoldenGateのDDL抽出オブジェクトおよびレプリケーション・オブジェクトをインストールするスクリプト。(Oracleインストール)

ddl_status.sql

Oracle GoldenGateのDDLサポート機能によって作成された各オブジェクトが存在し、正しく機能しているかを検証するスクリプト。(Oracleインストール)

ddl_staymetadata_off.sql

ddl_staymetadata_on.sql

Oracle DDLトリガーがメタデータを収集するかどうかを制御するスクリプト。このスクリプトはプログラムで実行されます。手動で実行しないでください。

ddl_trace_off.sql

ddl_trace_on.sql

DDLトレースがオンであるか、オフであるかを制御するスクリプト。

ddl_tracelevel.sql

DDLサポート機能のためのトレース・レベルを設定するスクリプト。(Oracleインストール)

debug files

トレースが有効だった場合に存在している可能性があるテキスト・ファイルをデバッグします。

demo_db_scriptname.sql

demo_more_db_scriptname.sql

チュートリアルおよび基本的なテストで使用するためのデモンストレーション表を作成し、移入するスクリプト。

.dmp files

トレースの目的でOracle GoldenGateのプロセスで作成されるダンプ・ファイル。

ENCKEYS

暗号化鍵を格納するユーザー作成ファイル。外部ASCII形式で書き込まれます。

exitdemo.c

ユーザー・イグジットの例。

exitdemo_utf16.c

UTF16でエンコードされたデータを、ユーザー・イグジットとプロセスの間で交換される情報に対するコールバック構造で使用する方法を示すユーザー・イグジット例。

freeBSD.txt

FreeBSDのライセンス契約。

ggmessage.dat

Oracle GoldenGateのプロセスによって返されるエラー、情報メッセージおよび警告メッセージが含まれるデータ・ファイル。このファイルのバージョンはプロセス起動時にチェックされ、プロセスが動作するには、プロセスと同一のバージョンを使用する必要があります。

ggserr.log

Oracle GoldenGateで生成されたイベント、メッセージ、エラーおよび警告の処理を記録するファイル。

ggsmsg.dll

installプログラムによって使用されるWindowsのダイナミック・リンク・ライブラリ。

GLOBALS

Oracle GoldenGateインスタンス全体に適用されるパラメータを格納するユーザー作成ファイル。

help.txt

GGSCIコマンド・インタフェースのヘルプ・ファイル。

icudtxx.dll

icuinxx.dll

icuucxx.dll

International Components for UnicodeのWindows共有ライブラリ(xxは現在使用中のバージョン)。

jagent.bat

Oracle GoldenGate MonitorのJavaエージェントのWindowsバッチ・ファイル。

jagent.log

jagentjni.log

Oracle GoldenGate Monitorエージェントのログ・ファイル。

jagent.sh

Oracle GoldenGate MonitorのJavaエージェントのUNIXシェル・スクリプト。

LGPL.txt

Lesser General Public Licenseステートメント。Free Software Foundationのフリー・ライブラリに適用されます。

libodbc.so

UNIX上のIngres 2.6用ODBCファイル。

libodbc.txt

libodbc.soのライセンス契約

libxml2.dll

Oracle GoldenGate XMLプロシージャのXMLライブラリを含むWindows動的リンク・ライブラリ。

libxml2.txt

libxml2.dllのライセンス契約。

marker.hist

NonStopソース・システムからマーカーが渡された場合に、Replicatによって作成されるファイル。

marker_remove.sql

DDLマーカー表を削除するスクリプト。(Oracleインストール)

marker_setup.sql

Oracle GoldenGateのDDLマーカー表をインストールするスクリプト。(Oracleインストール)

marker_status.sql

DDLマーカー表が正常にインストールされたことを確認するスクリプト。(Oracleインストール)

notices.txt

サードパーティ・ソフトウェアのライセンス・ファイル。

odbcinst.ini

UNIX上のIngres 2.6のODBC構成ファイル。

params.sql

DDLサポートのための構成可能なパラメータが含まれているスクリプト。(Oracleインストール)

pthread-win32.txt

pthread-VC.dllのライセンス契約。

pthread-VC.dll

Microsoft WindowsのPOSIXスレッド・ライブラリ。

prvtclkm.plb

Oracleの暗号化されたデータのレプリケーションをサポートします。

pw_agent_util.bat

pw_agent_util.sh

Oracle GoldenGate Monitorエージェントをサポートするスクリプト・ファイル。

role_setup.sql

Oracle GoldenGateのDDLサポートに必要なデータベース・ロールを作成するスクリプト。(Oracleインストール)

sampleodbc.ini

UNIX上のIngres 2.6用サンプルODBCファイル。

sqlldr.tpl

Oracle SQL*Loaderバルクロード・ユーティリティ用の制御ファイルの作成時にReplicatで使用するためのテンプレート。

start.prm

stop.prm

Managerプロセスを起動および停止するz/OS paramlibのメンバー。

startmgr

stopmgr

GGSCIからManagerプロセスを開始するz/OS UNIX System Servicesスクリプト。

startmgrcom

stopmgrcom

Managerプロセス用のz/OSシステム入力コマンド。

tcperrs

TCP/IPエラーに対応するユーザー定義の指示を含むファイル。

usrdecs.h

ユーザー・イグジットAPIのファイルが含まれます。

xerces-c_2_8.dll

Apache XMLパーサー・ライブラリ。

zlib.txt

zlib圧縮ライブラリのライセンス契約。

A.4 Oracle GoldenGateチェックポイント表

データベース・チェックポイントを使用する場合、ADD CHECKPOINTTABLEコマンドを実行すると、Oracle GoldenGateによりユーザー定義名を使用してデータベースにチェックポイント表が作成されます。または、ユーザーがchkpt_db_create.sqlスクリプトを使用して表を作成することもできます。ここでdbはデータベースのタイプです。この表の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2016, Oracle and/or its affiliates.All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。