サポートと今すぐチャット
サポートとのチャット

SharePlex 11.4 - 管理者ガイド

このガイドについて このガイドで使用される表記規則 SharePlexの概要 SharePlexの実行 SharePlexの複数のインスタンスの実行 sp_ctrlでのコマンドの実行 SharePlexパラメータの設定 データレプリケーションの設定 コンテナデータベースとの間のレプリケーションの設定 名前付きキューの設定 分割レプリケーションの設定 変更履歴ターゲットへのレプリケーションの設定 レプリケーション戦略の設定 DDLレプリケーションの設定 エラー処理の設定 データトランスフォーメーションの設定 セキュリティ機能の設定 SharePlexユーザのセキュリティグループへの割り当て 本番システムでのレプリケーションの開始 SharePlexの監視 レプリケーションの問題の防止と解決 非同期データのrepair Captureプロセスの調整 Postプロセスの調整 Oracleフェールオーバー後のレプリケーションのリカバリ アクティブなレプリケーション環境に対する変更 Oracleアプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲットのOracleデータのバックアップ トラブルシューティングのヒント 付録A: ピアツーピア図 付録B: SharePlex環境変数

設定ファイルの作成

SharePlexがデータをレプリケートするように設定するために、設定ファイルを作成します。

これはASCIIテキストファイルであり、以下を指定します。

  • SharePlexでレプリケートするデータ行や列のフィルタリングや分割を含む
  • ターゲットの名前とタイプ
  • データを配布する必要のあるシステムおよび該当する場合はデータベース

設定ファイルを作成する権限があるのは、SharePlex管理者またはオペレータだけです。

設定ファイルが完成したら、activate configコマンドで設定をアクティベーションして、レプリケーションを開始します。詳細については、本番システムでのレプリケーションの開始を参照してください。

sp_ctrlを使用して手作業で設定ファイルを作成することができます。また、データ構造によってサポートされている場合は、スクリプトを使用して設定ファイルの作成を自動化することもできます。

データのレプリケート元のシステム通常ソースシステム上に設定ファイルを作成しますが、アクティブ/アクティブレプリケーションなど一部の戦略では、複数のシステム上に設定ファイルが必要です。

sp_ctrlで設定ファイルを作成するには

  1. SharePlex製品ディレクトリのbinサブディレクトリからsp_ctrlを実行します。
  2. sp_ctrlで、create configコマンドを発行します。

    sp_ctrl> create config config_name

    このコマンドにより、オペレーティングシステム用に設定されているデフォルトのテキストエディタでファイルが開かれます。

    注意: sp_ctrlが使用するデフォルトのエディタは変更することができます。詳細については、sp_ctrlのデフォルトエディタの設定を参照してください。

  3. 設定ファイルを完成させます。詳細については、設定ファイルの構造を参照してください。

    重要! すべての設定は、SharePlex変数データディレクトリのconfigサブディレクトリ内に存在する必要があります。このディレクトリ外にある設定ファイルはアクティベーションできません。sp_ctrlインターフェイスからcreate configコマンドを使用して設定を作成すると、SharePlexはデフォルトでこのディレクトリに設定を保存します。テキストエディタで直接設定を作成する場合は、必ずconfigサブディレクトリに保存してください。

スクリプトを使用して設定ファイルを構築するには

注意: Oracleに対してのみ有効です

ソースとターゲットのオブジェクト名が同一であれば、SharePlexが提供する以下のスクリプトを使用して、設定ファイルの構築を自動化することができます。これらのスクリプトは、Oracleデータベースのソースとターゲットのみをサポートします。

オプション 説明 詳細を見るには
config.sql データベース内にあるすべてのテーブルとシーケンスを含む設定ファイルを作成します。ソースとターゲットのオブジェクト名が同一である必要があります。 SharePlexリファレンスガイド』の「構成スクリプト」を参照。
build_config.sql スキーマ内のすべてのテーブルを含む設定ファイルを作成します。ソースとターゲットのオブジェクト名が同一である必要があります。 SharePlexリファレンスガイド』の「構成スクリプト」を参照。

設定ファイルの構造

基本的な設定ファイルは以下のようになります。

# comment: basic SharePlex configuration file

datasource_specification

#source specification

target specification

routing map

source_owner.object1

target_owner.object1

routing_map

source_owner.object2

target_owner.object2

routing_map

source_owner.object3

target_owner.object3

routing_map

 

設定ファイルの基本的なコンポーネントは以下の通りです。

コンポーネント 説明 構文の例
# コメント ファイルの説明や、閲覧者に内容に関するその他の情報を提供する行ですが、SharePlexでは使用しません。各コメント行の前にポンド記号#を付けます。コメントは、設定ファイル内の任意の場所に入力できます。 # これはコメントです。
データソース指定

ソースデータベースを指定する構文。このコンポーネントは常に、設定ファイルのコメント行を除く最初の行である必要があります。以下の構文要素があり、すべて同じ行にスペースを入れずに記述されます。

Datasource:o.SID

ソース指定

サポートされるソースオブジェクトの完全修飾名で、owner.objectの形式で記述します。ownerは、データベースによるオブジェクトの論理的な格納方法によって、スキーマまたはデータベースになります。以下を参照してください。

オブジェクト名の修飾方法ページ

大文字と小文字を区別する名前の指定方法ページ

ワイルドカードを使って複数のオブジェクトを指定することができます。所有者名にはワイルドカードを使用できません。詳細については、ワイルドカードを使用した複数のオブジェクトの指定を参照してください。

src_owner.table

src_owner.sequence

ターゲット指定

レプリケートされたデータが適用されるターゲット。SharePlexがサポートするターゲットは次の通りです。

tgt_owner.table

tgt_owner.sequence

!file[:tgt_owner.table]

!jms[:tgt_owner.table]

!kafka[:tgt_owner.table]

!cdc:tgt_owner.table

ルーティングマップ

ターゲット指定で指定されたターゲットオブジェクトを含むシステムにデータを送信する1つ以上のルート 。ルートは以下の要素で構成されます。

  1. ターゲットをホストするマシンの名前。

  2. データベースターゲットのみ@記号の後にターゲットデータベースの指定が続きます。詳細については、設定ファイル内のデータベース指定を参照してください。

ターゲットがJMS、Kafka、ファイルの場合、データベース指定はありません。

ルーティングマップでは、文字と文字の間にスペースを入れることはできません。

詳細については、設定ファイル内のルーティング指定を参照してください。

host@o.SID

host@o.PDBalias

host@o.tns_alias

host@r.database_name

host

host@c.SID

複合ルーティングマップ:

host@o.SID+host@r.database[...]

オブジェクト名の修飾方法

SharePlexがキャプチャするオブジェクトとポストするオブジェクトを正しく判断できるように、設定ファイルでは、データベースでオブジェクト名を論理的に保存するのと同じ方法でオブジェクト名を修飾する必要があります。一般的に、SharePlexの構文では以下のように示します。

owner.object

ここで:

  • ownerは、そのコンテナがデータベースでどのように定義されているかに応じて、1つのオブジェクトワイルドカードの場合は複数のオブジェクトを含むスキーマまたはデータベースです。
  • objectはオブジェクトの名前か、複数のオブジェクトを指定するワイルドカードを指定します。

設定ファイルでソース側のオブジェクトまたはターゲット側のオブジェクトを定義する場合は、ownerコンポーネントを指定するためのガイドラインに従ってください。

データベース 完全修飾オブジェクト名
Aurora database_name.object_name
MySQL database_name.object_name
Oracle schema_name.object_name
PostgreSQL schema_name.object_name
SQL Server schema_name.object_name
SAP HANA schema_name.object_name

大文字と小文字を区別する名前の指定方法

このトピックでは、テーブル名を指定する場合や、列のマッピングで列名を明示的に指定する必要がある場合などに、設定ファイルで大文字と小文字を区別する名前を指定する方法を説明します。

大文字と小文字を区別するオブジェクト名

オブジェクトの所有者またはオブジェクトの名前の大文字と小文字がデータベース内で区別される場合、SharePlex設定ファイルでその名前を引用符で囲む必要があります。

重要: これは、Oracleのようにデータベース自体が大文字と小文字を区別する名前を引用符で囲むことを要求する場合でも、SQL Serverのようにデータベースが大文字と小文字を区別する名前を引用符なしで記述することを受け入れている場合でも適用されます。

オブジェクト名で大文字と小文字を区別するには:

名前を大文字/小文字の区別を含めて正確に指定し、二重引用符で囲みます。

正しい方法
  • 所有者名とオブジェクト名の両方で大文字と小文字を区別するオブジェクトの指定方法は以下の通りです。

    "Owner"."Object"

  • コンポーネントの1つだけで大文字と小文字を区別するオブジェクトの指定方法は以下の通りです。

    owner."Object"または"Owner".object

    大文字と小文字を区別しない名前の場合は、大文字と小文字をどのように指定しても問題ありません。

両方の指定方法の例:

Datasource o.oraA

 

 

sales."Emp"

"Sales"."Emp"

sysB@o.oraB

誤った方法

以下の指定方法は、両方のコンポーネントが1組の引用符内にあるため正しくありません

"Sales.Employees"

大文字と小文字を区別する列名

列のマッピングによってソース列名を異なるターゲット列名にマッピングする必要がある場合を除いて、通常、列名は設定ファイルでは指定しませんソース列とターゲット列のマッピングページを参照してください。ただし、ソース列とターゲット列のペアの名前で大文字と小文字が異なる場合は、大文字と小文字を区別するために列のマッピングに含めなければならない場合があります。列のマッピングが必要かどうかは、ターゲットの種類OracleまたはOpen Targetによって異なります。

OracleからOracleへのレプリケーションで列名の大文字と小文字を区別するには

Oracle間のレプリケーションの場合、OracleのPostプロセスは列名の大文字と小文字の変換を自動的に行いません。ソース列とターゲット列で大文字と小文字が異なる場合は、列のマッピングを使用してソース名の大文字小文字をターゲット名の大文字小文字にマッピングする必要があります。Postに大文字と小文字を区別させるには、名前を正しい大文字/小文字で記述し、二重引用符で囲みます。

以下は、列のマッピングで大文字と小文字を区別する列名をマッピングする例です。

Datasource o.oraA

 

 

sales.emp(ID,"first","last")

sales.emp(ID,"First","Last")

sysB@o.oraB

Open Targetで列名の大文字と小文字を区別するには:

Open TargetのPostプロセスでは、列名の大文字と小文字の変換が自動的に行われます。大文字小文字が異なるソース列からターゲット列にレプリケートする場合でも、列のマッピングは必要ありません。

設定ファイル内のデータベース仕様

設定ファイル内のデータベース指定

データベース指定は、設定ファイルの以下のコンポーネントで必要です。

  • データソースソースデータストアの指定
  • ルーティングマップターゲットデータストアと場所の指定
データベース

データベースの種類の
表記*

データベース識別子
Oracleソース

o.

Oracleデータベースの設定に応じて、以下のいずれかを使用します。これは、SharePlexがデータベースに接続するために使用する文字列です。

  • 通常CDB以外のOracleデータベースのOracle SIDo.ora12など
  • OracleコンテナデータベースCDB内のプラガブルデータベースPDBのTNSエイリアスo.pdb1など
  • Oracle RACクラスタのグローバルTNSエイリアスo.rac1などSharePlexはこのTNSエイリアスを介してOracle RACインスタンスに接続し、各ノードでローカルのOracleインスタンスのOracle SIDにローカルにマッピングします。このエイリアスの作成の詳細については、『Sharelexインストールガイド』の「HAクラスタ向けインストールとセットアップ」を参照してください。
Open Targetターゲット r.

Open TargetOracle以外のターゲットデータベースの名前を指定するために使用しますr.mydbなど

重要! 実際のデータベース名を使用してください。ODBCデータソース名DNSやデータベースインスタンス名を使用しないでください。データベース名が大文字と小文字を区別する場合は、大文字と小文字を正しく指定します。

Oracle変更履歴ターゲット c.

Oracle変更履歴デー タ ベースのOracle SID、TNSエイリアス、 またはグローバル RAC TNSエイリアスを指定するためにルーティングマップで使用しますc.ORA12CHなど。この設定では、SharePlexはすべてのソーストランザクションをターゲットテーブルへのINSERTとして適用し、実行されたすべての操作の履歴を保持します。

詳細については、変更履歴ターゲットへのレプリケーションの設定を参照してください。

*注意: ドットは必須です。

関連ドキュメント

The document was helpful.

評価を選択

I easily found the information I needed.

評価を選択