Chat now with support
Chat with Support

SharePlex 8.6.6 - リファレンス・ガイド

このガイドについて このガイドで使用されている表記規則 SharePlex コマンド SharePlex パラメータ SharePlex ユーティリティ 付録 B:SharePlex 環境変数

status

status コマンドは、システム上の複製の状態サマリを表示して、プロセスが実行中であることを確認し、エラー、警告、または通知をチェックするために使用します。詳細な状態レポートを表示するには、lstatus コマンドを使用します。

ステータス表示は次のものを表示します。

  • Process:プロセスの名前。
  • State:「実行中」、「エラーによる停止」、または「ユーザーによる停止」のいずれかという、各プロセスの状態
  • PID:プロセスのオペレーティングシステムのプロセス ID
  • Running Since:プロセスが起動された日付と時刻
  • Other information:システムが使用されている方法、システムに、アクティブ設定があるか、複製エラーが発生しているかなど。

 

SharePlex は、SP_COP_IDLETIME パラメータで定義された間隔でステータス表示を更新します。

使用法:

サポートされるターゲット: すべて
権限レベル: Viewer (3)
発行先: ソースまたはターゲットシステム
関連コマンド: lstatus、qstatus、show、show statusdb

構文

基本コマンド リモートオプション
status

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

リモートオプション

一連のオプションによって、リモートマシンに対するコマンドの発行や、ログイン名、パスワード、ポート番号、またはこれらの項目の組み合わせを含むコマンドのスクリプト化も可能になります。

オプション 説明
on host

リモートシステム(現在の sp_ctrl セッションを実行しているシステム以外のシステム)でコマンドを実行します。リモートシステムのログイン資格情報を要求するプロンプトが表示されます。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on SysA

on host:portnumber

リモートログインおよびポート番号を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on SysA:8304

on login/password@host

リモートログイン、パスワード、およびホスト名を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例:sp_ctrl(sysB)>status on john/spot5489@SysA

on login/password@host:portnumber

リモートログイン、パスワード、ホスト名、およびポート番号を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on john/spot5489@SysA:8304

stop

stop コマンドは、関連付けられたキューからの読み取り、または書き込みを終了できるようにして、SharePlex 複製プロセスを正常に停止するために使用します。複製プロセスを停止したときは、データは安全にキューの中に蓄積します。

stop コマンドで停止されたプロセスは、SharePlex がシャットダウンされ再起動されても、停止したままになります。これは、start コマンドだけが起動できます。プロセスが再び起動したときは、停止されたポイントから処理を再開するために、データは同期したままになります。

注: stop コマンドは、プロセスが関連付けられたキューからの読み取り、またはキューへの書き込みを終了した後で、複製プロセスを停止するので、abort service コマンドとは異なります。abort service コマンドは、プロセスがデータを処理しているかどうかに関わらず、すぐにプロセスを終了します。

Capture プロセスの停止

Capture プロセスを停止するときは注意してください。次の場合は、ソースおよびターゲットテーブルが非同期になることがあります。

  • Capture が停止している間にユーザーがソースデータの変更を継続した場合

    および

  • Oracle REDO ログがその時にラップした場合

    および

  • アーカイブログが使用できなくなった場合

特定の時点での Post の停止

Post プロセスが停止するときを制御するために、[at sourcetime] オプションの 1 つを使用します。これらのオプションは、どれも、指定された時刻、または時刻と時付けがスタンプされた最初のメッセージを受信したときに、自動的に Post を停止します。その後のメッセージは、Post が再起動されるまで、post キューに蓄積します。

[at sourcetime] オプションは、ジョブがソースシステムでスケジュールされており、ターゲットシステムに適用される前に、操作がそこで成功したことを確認したいときに、使用できます。ジョブを実行するようにスケジュールする前に、このオプションを Post を停止するために設定します。

ターゲットシステムでレポートを実行しており、オーバーヘッドのために Post 操作を競合させたくないときも、このオプションを使用できます。

SharePlex は同期的ではないために、Post が停止するターゲットシステム上の実際の時間は、操作のタイムスタンプより遅くなることがあります。タイミングは、先行メッセージをキューに post するためにどれぐらいかかるかによって異なります。

使用法:

サポートされるターゲット: すべて
権限レベル: Operator (2)。Capture を停止するには Administrator (1) が必要。
発行先:
  • Capture、Read、Export のための stop はソースシステムに対して発行します。
  • Import、Post のための stop はターゲットシステムに対して発行します。
関連コマンド: abort service、start

構文

基本コマンド コマンドオプション リモートオプション
stop service

[to host]

[from host]

[for datasource]

[for datasource-datadest]

[queue queuename]

[at sourcetime hh:mm:ss]

[at sourcetime mm/dd/yyyy hh:mm:ss]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

構文の説明

コンポーネント 説明
service

停止する SharePlex プロセス。有効な値は次のとおりです。

  • Capture
  • Read
  • Export
  • Import
  • Post

例:

sp_ctrl(sysA)> stop export

to host

このオプションを使用すると、他のシステムへの Export を継続させながら、指定したターゲットシステムへの Export が停止されます。

  • to は構文の必須部分です。
  • host はターゲットシステムの名前です。

例:

sp_ctrl(sysA)> stop export to sysB

この例では、sysA から sysB への Export が停止されますが、sysA から他のターゲットシステムへの他の Export は継続します。

from host

このオプションを使用すると、他のソースシステムからの Import を継続させながら、指定したソースシステムからの Import が停止されます。

  • from は構文の必須部分です。
  • host はソースシステムの名前です。

例:

sp_ctrl(sysD)> stop import from sysC

この例では、sys C からの Import が sysD で停止されますが、sysD での他のシステムからの Import は継続します。

for datasource

このオプションは、指定されたデータソースの Capture または Read を停止します。

  • for は構文の必須部分です。
  • datasourceo.SID として表されます。ここで、SID は ORACLE_SIDです。

例:

sp_ctrl(sysA)> stop read for o.oraA

この例では、Read が sysA でインスタンス oraA について中止されますが、sysA 上の他のインスタンスのための他の Read プロセスは継続します。

for datasource-datadest

このオプションは、指定されたソースとターゲット間のデータストリームで Post を停止します。

  • for は構文の必須部分です。
  • datasourceo.SID として表されます。ここで、SID は ORACLE_SIDです。

  • datadesto.SID または r.database として表されます。ここで、SID は ORACLE_SID、database はオープンターゲットデータベースの名前です。

例:

sp_ctrl(sysC)> stop post for o.oraA-o.oraC

この例では、Post は sysC で oraC に複製するインスタンス oraA について中止され、sysC 上の他の Post プロセスは post を継続します。

queue queuename

このオプションは、指定された名前付きキューに関連付けられた Export、Import または Post プロセスを停止します。他の名前付きキューによる複製は、影響を受けずに継続します。

  • queue は構文の必須部分です。
  • queuename は、設定ファイルに示されているキューのユーザー定義名です。

例:

sp_ctrl(sysA)> stop export queue QA

この例では、名前付き export キュー QA によるデータの Export が sysA で停止され、他のすべての名前付きキューに割り当てられたデータについては、Export が継続します。

at sourcetime hh:mm:ss

このオプションは、指定された時刻のスタンプがある最初のメッセージを受信したときに、Post プロセスを停止します。その後のメッセージは、Post が再起動されるまで、post キューに蓄積します。

  • at sourcetime は構文の必須部分です。
  • hh:mm:ss は、その時刻で Post が停止するタイムスタンプであり、これは 24 時間制で指定する必要があります。一桁の構成要素にはゼロ(0)を付加します。スペースを入れないでください。

例:

sp_ctrl(sysC)> stop post at sourcetime 24:00:00

この例では、深夜 0 時のタイムスタンプがある最初のメッセージを受信したときに、Post が sysC で停止します。

at sourcetime mm/dd/yyyy hh:mm:ss

このオプションは、指定された時刻および日付のスタンプがある最初のメッセージを受信したときに、Post プロセスを停止します。これは、stop post at sourcetime hh:mm:ss と同じ目的と機能を持ち、日付オプションが追加されています。

  • at sourcetime は構文の必須部分です。
  • mm/dd/yyyy は、Post を指定した時刻で停止する日付です。日付の構成要素は、構文の中で時刻の構成要素よりも前につける必要があります。年は 4 桁すべてを含める必要があります。一桁の構成要素にはゼロ(0)を付加します。スペースを入れないでください。この構成要素は、スペースで時刻の構成要素から分かちます。
  • hh:mm:ss は、その時刻で Post が停止するタイムスタンプであり、これは 24 時間制で指定する必要があります。一桁の構成要素にはゼロ(0)を付加します。

例:

sp_ctrl(sysC)> stop post at sourcetime 01/31/2002 24:00:00

この例では、2002 年 1 月 31 日深夜 0 時のタイムスタンプがある最初のメッセージを受信したときに、Post が sysC で停止します。

リモートオプション

一連のオプションによって、リモートマシンに対するコマンドの発行や、ログイン名、パスワード、ポート番号、またはこれらの項目の組み合わせを含むコマンドのスクリプト化も可能になります。

オプション 説明
on host

リモートシステム(現在の sp_ctrl セッションを実行しているシステム以外のシステム)でコマンドを実行します。リモートシステムのログイン資格情報を要求するプロンプトが表示されます。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on SysA

on host:portnumber

リモートログインおよびポート番号を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on SysA:8304

on login/password@host

リモートログイン、パスワード、およびホスト名を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例:sp_ctrl(sysB)>status on john/spot5489@SysA

on login/password@host:portnumber

リモートログイン、パスワード、ホスト名、およびポート番号を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on john/spot5489@SysA:8304

target

target コマンドは、特定のタイプのターゲットをサポートするように Post を設定するために使用します。これはターゲット設定と呼ばれます。ターゲット設定に保存されるプロパティは、Post が複製データを処理、フォーマット、および出力する方法を制御します。

target コマンドには、ターゲット設定をリセットまたは表示するためのオプションもあります。

target コマンドは、グローバルレベルとプロセス単位レベル(queue オプションを使用する場合)の両方で、ターゲット設定を制御するためにも使用できます。

使用法:

サポートされるターゲット: すべて
権限レベル: Operator (2)
発行先: target system
関連コマンド: 接続

構文

基本コマンド コマンドオプション リモートオプション

target {o. | r. | x.| c.}target

[queue queuename]

{command_option}

{

{ set category property |

reset [category [property] ] |

show [category ] } |

switch

}

使用できません

構文の説明

コンポーネント 説明
{o. | r. | x.| c.}target

Post を設定するターゲット。ターゲット名の前に付く文字は、ターゲットのタイプ(Oracle データベース、オープンターゲットデータベース、JMS、Kafka ブローカ、ファイル、または変更履歴ターゲット)を表します。

ターゲットのタイプは次のとおりです。

o.SID

ここで、SID は Oracle データベースの ORACLE_SID です。

r.database

ここで、database はオープンターゲットデータベースの名前です(DSN ではありません)。*

x.jms

ここで、jms は Java Message Service(JMS)のキューまたはトピックです。

x.kafka

ここで、kafka は Apache Kafka ブローカです。

x.file

ここで、file は SQL または XML 形式のデータが含まれる構造化ファイルです。

c.SID

ここで、SID は変更履歴ターゲットとして設定されたターゲット Oracle データベースの ORACLE_SID です。

* 注: SharePlex でサポートされているオープンターゲットのターゲットは、『SharePlex リリースノート』に記載されています。他のターゲットがベータテスト中である可能性があります。SharePlex ベータプログラムの詳細については、『SharePlex リリースノート』を参照してください。

queue queuename

指定したキューに関連付けられた SharePlex Post プロセスにコマンドの動作を制限します。この動作は、設定しているターゲットプロパティのグローバル設定を上書きします。queue オプションを指定しない場合、target コマンドはローカル SharePlex インスタンスのすべての Post プロセスに影響します。

例:以下は、myjms1 キューに関連付けられた Post プロセスのメタデータプロパティを設定します。

target x.jms queue myjms1 set metadata time, userid, trans, size

{

set category property |

reset [category [property]] |

show [category] |

switch

}

  • set は、設定プロパティをターゲット設定に適用します。
  • reset は、設定をクリアしてデフォルトに戻します(デフォルト設定が存在する場合)。特定のカテゴリおよび(該当する場合は)特定のプロパティに制限できます。注:reset はプロパティ値を別の値に再設定しません。再設定するには別の set コマンドを使用してください。
  • show は、設定を表示します。
  • category は、設定プロパティのカテゴリです。コマンドで効率的に管理するため、プロパティはカテゴリ別にグループ化されます。「カテゴリの説明」を参照してください。
  • property は、設定、リセット、または表示する設定プロパティです。カテゴリごとにさまざまなプロパティがあります。
  • switch は、ファイルターゲット(x.file)のみに適用されます。このオプションは、新しいアクティブ出力ファイルを作成したり、連番の古いファイルとして保存したりする場合に使用します。このコマンドを発行すると、Post が新しいレコードを処理した後に切り替えが発生します。このオプションに入力値はなく、設定カテゴリに関連はありません。

カテゴリの説明

カテゴリ 説明
cdc

Oracle(変更履歴ターゲットとして設定)で有効。

特定のテーブルで SP_OPO_TRACK_PREIMAGE パラメータで設定されたグローバル設定を上書きします。「cdc カテゴリ」を参照してください。

characterset

オープンターゲットで有効。

ターゲットデータベースに post する前に、複製されたデータを指定されたキャラクタセットに変換するよう Post プロセスに指示します。「characterset カテゴリ」を参照してください。

datatype

オープンターゲットで有効。

Oracle ALTER TABLE ADD COLUMN コマンドをターゲットに適用するときに新しい列を作成するために Post が使用する、デフォルトのデータ型マッピングを上書きします。「datatype カテゴリ」を参照してください。

注意: DML 操作の場合、SharePlex はターゲットデータベースをクエリして、複製されたデータの適切なデータ型マッピングを判断します。

file

ファイルターゲットで有効。

ファイルターゲットのプロパティを設定します。詳細については、「file カテゴリ」を参照してください。

format

ファイルターゲットで有効。

ファイルターゲットに書き込まれるデータの形式を設定します。詳細については、「format カテゴリ」を参照してください。

jms

JMS ターゲットで有効。

JMS ターゲットのプロパティを設定します。詳細については、「jms カテゴリ」を参照してください。

kafka

Kafka ターゲットで有効。

Kafka ターゲットのプロパティを設定します。詳細については、「kafka カテゴリ」を参照してください。

metadata

Oracle(変更履歴ターゲットとして設定)、JMS、Kafka、およびファイルターゲットで有効。オープンターゲットデータベースではサポートされません。

SharePlex によって複製されるデータにメタデータプロパティを追加します。詳細については、「metadata カテゴリ」を参照してください。

resources

Oracle、オープンターゲットデータベース、JMS、Kafka、ファイルで有効。

ターゲットシステム上のリソースに影響するパラメータを設定します。「resources カテゴリ」を参照してください。

rule | filter

Oracle(変更履歴ターゲットとして設定)で有効。

追跡ルールまたはフィルタを特定のテーブルに適用する条件文を指定します。「rule | filter カテゴリ」を参照してください。

source

Oracle(変更履歴ターゲットとして設定)で有効。

ソース識別子プロパティを設定します。詳細については、「source カテゴリ」を参照してください。

sql

出力が SQL であるファイルターゲットで有効。

SQL プロパティを設定します。詳細については、「sql カテゴリ」を参照してください。

cdc カテゴリ

サポートされるターゲット

Oracle(変更履歴ターゲットとして設定)

コマンドオプション

target c.SID [queue queuename]

table tablename

{

set cdc preimage={yes | no}

reset cdc

show cdc

}

使用法:

特定のテーブルで SP_OPO_TRACK_PREIMAGE パラメータで設定された、更新用のグローバル設定を上書きします。更新操作の前イメージが履歴テーブルで追跡されるかどうかを制御します。有効な値は、yes(更新の前イメージを追跡)、または no(更新の前イメージを除外)です。

characterset カテゴリ

サポートされるターゲット

オープンターゲットデータベース

コマンドオプション

target r.database [queue queuename]

{

set characterset character_set |

reset characterset character_set |

show characterset character_set

}

使用法:

複製されたデータをターゲットデータベースに post する前に、ローカル Oracle クライアントに送信して指定されたキャラクタセットに変換するよう、Post プロセスに指示します。指定されたキャラクタセットは、キャラクタデータをオープンターゲットターゲットに post するときに Post で使用されるデフォルトキャラクタセットである Unicode を上書きします。

:このオプションを使用するには、ターゲットシステムに Oracle クライアントが必要です。詳細については、オープンターゲットデータベースを参照してください。

プロパティ 入力値 デフォルト
character_set

Oracle における、ターゲットキャラクタセットと同等なもの。Oracle 名で指定されます。

Unicode
例:

ターゲットで GB2312 キャラクタセットのデータを post するには、Oracle ZHS16GBK キャラクタセットを指定します。

target r.mymss set characterset ZHS16GBK

datatype カテゴリ

サポートされるターゲット

オープンターゲットデータベース

コマンドオプション

target r.database [queue queuename]

{

set datatype src_datatype=tgt_datatype |

reset datatype [src_datatype] |

show datatype [for database_type]

}

使用法:

SharePlex では、サポートするオープンターゲットターゲットデータベースのタイプごとに、ソースとターゲット間のデフォルトの列マッピングがあります。このマッピングにより、Oracle ALTER TABLE ADD COLUMN コマンドをオープンターゲットターゲットに適用するときに Post が作成する新しい列のデータ型が決まります。

set dataype オプションを指定して target コマンドを使用すると、サポートされるターゲットまたはテスト環境の他のオープンターゲットターゲットについて独自の列マッピングを設定できます。マッピングは、(テーブル単位ではなく)ターゲット設定全体に影響します。

重要: デフォルトマッピングを変更する場合、SharePlex は新しいマッピングの正確性を検証できません。Quest は、カスタムマッピングの結果生じる不正確さについて責任を負うことはできません。

reset datatype オプションは、1 つ以上のマッピングをデフォルトに復元する場合に使用します。show オプションは、デフォルトのマッピングおよび上書きを表示する場合に使用します。

プロパティ 説明
src_datatype

ターゲットデータ型にマッピングしている Oracle ソースデータ型。有効な値は次のとおりです。

anydata

blob

char

clob

date

double

float

long

longraw

number

raw

timestamp

timestamp_tz

varchar

tgt_datatype ターゲットで有効なデータ型。ソースデータ型はこのデータ型にマッピングされます。
for database_type

show オプションに適用されます。特定のタイプのデータベースのデータ型マッピングを表示します。有効な値は次のとおりです。

hana

sybase

sqlserver

postgres

teradata

for database_type なしの show オプションは、すべてのローカルターゲットのデフォルトデータ型マッピング、およびマッピングの上書きを表示します。

次のコマンドは、SQL Server データ型 IMAGE にマッピングするように Oracle データ型 BLOB を設定します。

target r.mymss set datatype blob=image

 

次のコマンドは、SQL Server ターゲットの現在およびデフォルトのデータ型マッピングを表示します。

target r.myss show datatype for sqlserver

file カテゴリ

サポートされるターゲット

ファイル

コマンドオプション

target x.file [queue queuename]

{

set file property=value |

reset file [property] |

show file

}

使用法:
プロパティ 入力値 デフォルト

location=pathname

ファイルを作成する、SharePlex 変数データディレクトリ内のパス名。

opx

max_records=number

ファイルを切り替える前のアクティブファイルの最大サイズ(レコード数で測定)。

50,000

max_size=megabytes

ファイルを切り替える前のファイルの最大サイズ(メガバイト数で測定)。

50

max_time=seconds

ファイルを切り替える前の最大待機秒数。

300

record_length=number

レコードの最大サイズ(文字数)

132

例:

target x.file set file max_size=320

format カテゴリ

サポートされるターゲット

ファイル

コマンドオプション

target x.file [queue queuename]

{

set format property=value |

reset format [property] |

show format

}

使用法:
プロパティ 入力値 デフォルト

decimal=character

小数点文字

. (ピリオド)

enotation=notation

指数表記

14

record={SQL | XML}

出力レコードの形式(SQL または XML)

xml

例:

target x.file set format record=sql

jms カテゴリ

サポートされるターゲット

JMS

コマンドオプション

target x.jms [queue queuename]

{

set jms property=value |

reset jms [property] |

show jms

}

使用法:

各プロパティは keyword=value ペアの形式を取ります。

プロパティ 入力値 デフォルト

factory_class=factory_class

必須。ファクトリクラスの完全修飾クラス名。プロバイダの初期コンテキストファクトリのクラス名を指定するように JNDI 環境プロパティ java.naming.factory.initial を設定します。

なし

provider_url=url

必須。オブジェクト名コンポーネントなしの RMI URL。初期コンテキストとして使用されているレジストリの場所を指定するように JNDI 環境プロパティ java.naming.provider.url を設定します。

なし

lib_location=path

必須。JAR ファイルをインストールしたディレクトリへのパス。

なし

destination={queue | topic}

メッセージングドメイン。有効な値は queue(ポート - ポート)、または topic(発行元 - サブスクライバモデル)です。

queue

factory_name=factory_name

JNDI 接続ファクトリ参照の名前。コンマ区切りのリストで複数の名前を指定できます。例:(jndi.name1, jndi.name2)

なし

user=user

JMS にアタッチしているユーザーの名前。認証が必要ない場合は、これと password オプションを省略します。

なし

password=password

JMS ユーザーのパスワード。

なし

queuename=JMS_queuename

JMS キューまたはトピックの名前。

OpenTarget

persistent={yes | no}

yes の場合、送信操作の一部としてディスクストレージにメッセージを記録します。

no の場合、ログを記録しません。

yes
session_transacted ={yes | no}

no は、複製されたメッセージごとに JMS コミットを発行するように Post に指示し、各メッセージをすぐに認識して消費できるようにします。これがデフォルトです。

yes は、トランザクション方式で操作するように Post に指示します。このモードでは、Post は以下に基づく間隔で JMS コミットを発行(メッセージを認識して消費できるように)します。

  • データが Post キューから読み込み-解放される前にコミットを発行します。これは、SP_OPX_READRELEASE_INTERVAL パラメータの設定値で制御されます。
  • SP_OPX_READRELEASE_INTERVAL に到達するまで、JMS 書き込みごとにコミットを発行します。これは、SP_OPX_CHECKPOINT_FREQ パラメータの設定値で制御されます。
no
properties

使用している JMS プロバイダが SharePlex で提供されるデフォルトのプロパティが含まれるメッセージを消費できない場合に、このオプションを使用します。これでプロパティを削除または追加できます。プロパティはコンマ区切りリストで指定します。

  • プロパティを追加するには、name=value という形式で指定します。
  • SharePlex プロパティを削除するには、名前の先頭にダッシュを付けます。たとえば、次の文字列は 2 つの SharePlex プロパティを削除します。-JMSXDeliveryCount,-JMSXGroupSeq
なし
client_id 使用している JMS プロバイダがデフォルトの SharePlex クライアント ID が含まれるメッセージを消費できない場合に、このオプションを使用します。この値は、プロバイダが受け入れるクライアント ID に設定します。 なし
commit_frequency

JMS サーバへの post をトランザクション方式で実行するように Post が設定されるときに、このオプションを使用します(target コマンドの session_transacted プロパティでの指定に従って、各メッセージの後ではなく、一定の間隔で JMS コミットを発行します)。このパラメータは、JMS コミットの間隔を指定します。SP_OPX_READRELEASE_INTERVAL パラメータに関連して機能します。有効な値は、1 以上の正の整数です。

1500
例:

target x.jms set jms queuename=SharePlexJMS

kafka カテゴリ

サポートされるターゲット

Kafka

コマンドオプション

target x.kafka [queue queuename]

{

set kafka property=value |

reset kafka [property] |

show kafka

}

使用法:

各プロパティは keyword=value ペアの形式を取ります。

プロパティ 入力値 デフォルト
broker

必須。Kafka ブローカのホストおよびポート番号、または複数のブローカのコンマ区切りのリスト。このリストは、Kafka クラスタへのブートストラップです。Post は、これらのブローカのいずれかに接続できる限り、クラスタ内の他のブローカを検出します。

localhost:9092
compression.code オプション。Kafka でデータを圧縮するかどうかを制御します。オプションは、nonegzip、または snappy です。 なし
topic

必須。ターゲットの Kafka トピックの名前。

この文字列には、特殊なシーケンス %o または %t を含めることができます。%o シーケンスは、複製されるテーブルの所有者名で置き換えられます。%t シーケンスは、複製されるテーブルのテーブル名で置き換えられます。この機能は、true に設定した Kafka サーバ設定 auto.create.topics.enabled と一緒に使用できます。さらに、default.replication.factor および num.partitions のサーバ設定はトピックが自動作成されるときにデフォルトとして使用されるため、これらの設定も確認してください。

shareplex
client_id

オプション。呼び出しを追跡するために Post がリクエストごとに送信するユーザー定義の文字列。

なし
partition

オプション。以下のいずれかが必要です。

  • 固定パーティション番号:Post に対し、指定されたパーティション番号にのみメッセージを post するよう指示します。たとえば、0 に設定すると、Post はパーティション 0 にのみ post します。このオプションは、テストで使用する場合や、同じ Kafka トピックにデータを post するチャネルが複数ある場合に適しています。
  • キーワード rotate:Post に対し、ラウンドロビン方式でトピックのすべてのパーティションにメッセージを適用するよう指示します。新しいメッセージごとにパーティションが変更されます。たとえば、トピックに 3 つのパーティションがある場合、メッセージはパーティション 0、1、2、0、1、2 といった順に post されます。
  • キーワード rotate trans:これは rotate オプションと似ていますが、メッセージごとではなくトランザクションごとにパーティションが増分される点が異なります。たとえば、トピックに 3 つのパーティションがある場合、メッセージはコミットされるまではパーティション 0 に、次にコミットされるまではパーティション 1 に、順に post されます。このオプションは、複数のテーブルを単一のトピックに複製する場合に適しています。このオプションを使用すると、複数のパーティションにわたってデータを分散しながら、トランザクションのすべての操作を単一のパーティションで保持できます。このため、単一のパーティションから読み取るコンシューマが、完全なトランザクションのストリームを受け取ることができます。
なし
request.required.acks オプション。これは Kafka クライアントパラメータです。デフォルトでは、すべてを意味する値 -1 に設定されます。すべてが実際に意味するのは同期状態のすべてのレプリカであるため、この件については Kafka のドキュメントを参照してください。このパラメータを min.insync.replicas サーバパラメータと一緒に使用して、可用性とデータの一貫性に関して動作を調整できます。重要:これらの設定によっては、Kafka プロデューサ(この場合は SharePlex)と Kafka クラスタの間でデータが失われる可能性があります。 なし
threshold_size

オプション。Post が Kafka ブローカに送信するおおよそのネットワークパケットサイズ*(キロバイト単位)。

メモ

  • 最大パケットサイズは 128,000 KB です。
  • パケットサイズは概数です。
10000KB

* 遅延を避けるために、Post は、着信メッセージがそれ以上ないことを検出すると、しきい値が満たされるのを待たずに即座にパケットを Kafka に送信します。

例:

target x.kafka set kafka topic=MyTopicName

metadata カテゴリ

サポートされるターゲット

Oracle、ファイル(XML 出力)、JMS、Kafka

コマンドオプション

target {c.SID | x.file | x.jms | x.kafka} [queue queuename]

{

set metadata [colname:]property[, ...]|

reset metadata |

show metadata

}

使用法:

target コマンドに set metadata を指定すると、データベースターゲット、XML ファイルターゲット、JMS ターゲット、または Kafka ターゲットに設定されたデフォルトのメタデータプロパティを上書きできます。これらのターゲットタイプはどれも、Post 出力でメタデータを提供します。

  • Oracle 変更履歴ターゲットの場合、target 指定がないと、Post はデフォルトのメタデータ列を更新します。デフォルトのメタデータ列は、複製の開始前にデフォルト名内に存在する必要があります。デフォルト列は、デフォルトのメタデータプロパティ内に示されます。デフォルトのメタデータプロパティは、次の表でアスタリスク(*)が付いています。set metadata を指定した target コマンドは、他のメタデータを追加したり列名をデフォルトからカスタム名に変更したりする場合のみ使用してください。カスタム名を変更するには、コマンド構文に示されている colname オプションを使用してください。
  • ファイル、JMS、または Kafka への XML 出力の場合、メタデータは XML スキーマごとに XML 形式で追加されます。デフォルトのメタデータは、特別な設定なしに追加され、次の表ではアスタリスクが付いています。set metadata を指定した target コマンドは、他のメタデータを追加するときのみ使用してください。

変更履歴ターゲットデータベースをサポートするように SharePlex を設定する詳細については、『SharePlex管理者ガイド』を参照してください。

複数のメタデータプロパティを設定するには、コンマ区切りリストとして指定します。

:アスタリスク(*)が付いたプロパティは、デフォルトでデータが設定され、target コマンドを必要としません。

プロパティ Post によって挿入される値 有効
time*

(SQL Server データでは無効)ソースで操作が適用された時刻。Oracle によって指定されます。

重要! Oracle バージョン 11g 以降では、time はトランザクション境界レコード(トランザクションの開始など)にのみ表示されます。Oracle REDO ログと SharePlex が操作をトランザクション順で複製する方法は、直線的に設計されています。SharePlex はこれに基づいて、タイムスタンプが異なるレコードが発生するまで、発生元レコードに含まれるタイムスタンプを後続のレコードに適用します。

デフォルトの列名:SHAREPLEX_SOURCE_TIME

データ型:TIMESTAMP

Oracle(変更履歴)

JMS

Kafka

ファイル(XML 出力のみ)

userid*

(SQL Server データでは無効)操作を実行したユーザー ID

デフォルトの列名:SHAREPLEX_SOURCE_USERID

データ型:NUMBER

Oracle

JMS

Kafka

ファイル(XML 出力のみ)

op*

操作のタイプ(INSERT、UPDATE、DELETE、TRUNCATE、DROP COLUMN、UPDATE BEFORE、UPDATE AFTER)。JMS 実装の場合、このフィールドは常にフィールド名 SPOps で XML 出力に追加されます。これを JMS プロパティに追加するには、op オプションを指定した明示的な target コマンドを発行します。

デフォルトの列名:SHAREPLEX_SOURCE_OPERATION

データ型:VARCHAR2

Oracle(変更履歴)

JMS

Kafka

scn*

(SQL Server データでは無効)操作が適用されたソース SCN

デフォルトの列名:SHAREPLEX_SOURCE_SCN

データ型:NUMBER

Oracle(変更履歴)
rowid*

(SQL Server データでは無効)変更された行の ROWID

デフォルトの列名:SHAREPLEX_SOURCE_ROWID

データ型:ROWID

Oracle(変更履歴)

JMS

Kafka

trans*

操作のトランザクション ID。JMS 実装の場合、このフィールドはフィールド名 SPTxnId で XML 出力と JMS プロパティの両方に追加されます。

デフォルトの列名:SHAREPLEX_SOURCE_TRANS

データ型:VARCHAR2

Oracle(変更履歴)

JMS

Kafka

ファイル(XML 出力のみ)

seq*

(SQL Server データでは無効)トランザクション内での操作の順序

デフォルトの列名:SHAREPLEX_OPERATION_SEQ

データ型:NUMBER

Oracle(変更履歴)
host

ソースホストの名前または IP アドレス

デフォルトの列名:SHAREPLEX_SOURCE_HOST

データ型:VARCHAR2

Oracle(変更履歴)
queue

SharePlex キューの名前

デフォルトの列名:SHAREPLEX_QUEUENAME

データ型:VARCHAR2

Oracle(変更履歴)
ソース

targetset source オプションを指定して設定された、ユーザー定義のソース識別子。「source カテゴリ」を参照してください。

デフォルトの列名:SHAREPLEX_SOURCE_ID

データ型:VARCHAR2

Oracle
changeid

操作の一意なシーケンシャル ID

デフォルトの列名:SHAREPLEX_CHANGE_ID

データ型:NUMBER

Oracle
size

トランザクション内の操作の数。

 

JMS

Kafka

ファイル(XML 出力のみ)

table ターゲットテーブルの名前。ターゲットテーブルの名前は、フィールド名 SPTblName で JMS プロパティに追加されます。

JMS

Kafka

idx トランザクション内のこの操作のインデックス。これは、フィールド名 SPMsgIdx で JMS プロパティに追加されます。JMS プロパティでは m/n という形式にフォーマットされます。ここで、n はトランザクション内の操作の総数、m はトランザクション内の操作番号です。

JMS

Kafka

JMS および Kafka における set metadata の例

以下は、ソースの IP アドレスまたはホスト名、SharePlex キューの名前、およびトランザクション内の操作数を JMS ターゲットの出力に追加するように、すべての Post プロセスを設定します。

target x.jms set metadata host, queue, size

または

target x.kafka set metadata host, queue, size

Oracle における set metadata の例

以下の例では、操作の時刻とその操作を実行したユーザー ID を Timestamp および User 列(どちらも大文字と小文字が区別されるユーザー定義名)に追加するように、myqueue1 キューに関連付けられた Post プロセスを設定します。

target c.targSID queue myqueue1 set metadata time:"Timestamp", userid:"User"

resources カテゴリ

サポートされるターゲット

Teradata

コマンドオプション

target r.target [queue queuename]

{

set resources property=value |

reset resources [property] |

show resources [for datastore]

}

使用法:
プロパティ 入力値 デフォルト

commit_frequency=number_of_operations

Post がコミットを発行するまでの操作の最大数を指定します。1 より大きい任意の整数を指定できます。大きなトランザクションを複数の小さなトランザクションに分割できます。分割後のトランザクションには、number_of_operations で指定された数以下の操作が含まれます。このオプションによって、トランザクションあたりで可能な行ロックの数といった、大きなトランザクションに影響するリソース制限に対処できます。

50000

max_active_statements=number_of_cursors Post が 1 セッション内でターゲットデータベースに対して処理できる同時アクティブ SQL 文の数を指定します。データベースまたはクライアントドライバによって許可されたアクティブな文の最大数までの整数を指定できます。SP_OPX_SQL_CACHE_DISABLE パラメータが 0(有効)に設定されているときは、Post によってのみ使用されます。

16

target r.mydb queue q1 set resources commit_frequency=10000

target r.mydb queue q1 set resources max_active_statements=10

target r.mydb show resources for teradata

rule | filter カテゴリ

サポートされるターゲット

Oracle(変更履歴ターゲットとして設定)

コマンドオプション

target c.SID [queue queuename]

table tablename

{

set {rule | filter} { 'column_condition' | !filename }

reset {rule | filter}

show {rule | filter}

}

使用法:

UPDATE 操作に適用されます。ターゲットテーブルに対して、追跡するデータを識別する条件ロジックを適用します。対象外のデータは除外されます。ターゲットテーブルごとに 1 つのrule または filter を使用できますが、括弧を使用したネスト式と AND、OR、NOT の論理接続詞を組み合わせて、さまざまな条件を作成できます。

構文要素 説明
rule | filter
  • rule は、UPDATE 操作が column_condition と一致する場合のみ、行を挿入するよう Post に指示します。UPDATE が column condition 一致しない場合、行は破棄されます。
  • filter は、UPDATE が column_condition と一致しない場合のみ、行を挿入するよう Post に指示します。UPDATE が column condition と一致する場合、行は破棄されます。
table tablename ルールまたはフィルタを設定しているターゲットテーブルの名前。

column_condition

UPDATE 操作によって満たされる必要のある条件ロジック。column_condition は条件文全体を表し、一重引用符で囲む必要があります。column condition は、以下の式の 1 つまたは任意の組み合わせを指定できます。式はそれぞれ括弧で囲む必要があります。

(column is changed)

(column is not changed)

([column1, column2, ...]matches change_list)

([column1, column2, ...]contains change_list)

 

ここで、

  • column はターゲット列の名前です。コンマを使用してリスト内の列名を区切り、角かっこを使用してリストを囲みます。
  • is changed は、指定された列が UPDATE 操作で変更されることを示します。
  • is not changed は、指定された列が UPDATE 操作で変更されないことを示します。
  • change_list は、変更されるソース列の論理表現です。
  • matches change_list は、条件が変更リストと完全一致であるときに満たされます(列数が変更リストより少なくも多くもなく、名前が同じである)。
  • contains change_list は、条件が変更リスト内のすべての列を含むときに満たされます。変更リストは、条件内の列のサブセットでもかまいませんが、変更リストより多くの列を含むことはできません。名前は一致する必要があります。
!filename 大きなカラムコンディションをテキストファイルに保存し、target コマンドを実行するときに column condition 構文全体の代わりにそのファイルを指定できます。

:バッチおよび直接ロード操作は rule/filter 機能でサポートされていません。

式を組み合わせてさまざまなルールを設定する方法の例を以下のコマンドで示します。

target c.mySIDtable mytable set rule '(col3 is not changed) and (col5 is not changed)'

target c.mySIDtable mytable set rule '([col1, col3] matches change_list)'

target c.mySIDtable mytable set rule 'not ([col2, col5] contains change_list)'

 

以下の表に、rule および filter を使用して行を含めたり破棄したりするさまざまな方法を示します。

ルール 更新される列 行の挿入の有無
rule = '(c2 is not changed)' c2 no
rule = '(c2 is not changed)' c3 yes
rule = '(c2 is changed)' c2 yes
rule = '(c2 is changed or c4 is changed)' c1 no
rule = '(c2 is changed or c4 is changed)' c1、c3、c5 no
rule = '(c2 is changed or c4 is changed)' c2 yes
rule = '(c2 is changed or c4 is changed)' c3、c4、c5 yes
rule = '([c3,c6,c7,c8] matches change_list)' c3、c6、c7、c8 yes
rule = '([c3,c6] matches change_list)' c3、c6、c7 no
rule = '([c3,c6,c7] contains change_list)' c3、c6 yes
rule = '([c3,c6] contains change_list)' c3、c8 no
     
フィルタ 更新される列 行の挿入の有無
filter = '(c2 is not changed)' c2 yes
filter = '(c2 is not changed)' c3 no
filter = '(c3 is changed and c4 is changed)' c1 yes
filter = '(c3 is changed and c4 is changed)' c3、c4 no
filter = '(c3 is changed and c4 is changed)' c1、c2、c3 yes
filter = '([c3,c6,c7] matches change_list)' c3、c6 yes
filter = '([c3,c6,c7] matches change_list)' c3、c6、c7 no
filter = '([c3,c6] contains change_list)' c3、c6 no
filter = '([c3,c6,c7] contains change_list)' c3、c8 yes

source カテゴリ

サポートされるターゲット

Oracle

コマンドオプション

target c.SID [queue queuename]

{

set source sourceID |

reset source |

show source

}

使用法:

SHAREPLEX_SOURCE_ID メタデータ列のユーザー定義のソース識別子を設定します。set metadata source オプションを指定した target を使用して、この列にデータを投入するように Post を設定します。1 文字の英数字文字列を指定してください。

例:

set source を使用して、複数のソースデータベースからのデータを同一のターゲットデータベースに複製する設定をサポートする方法を以下に示します。このターゲット設定により、各 Post プロセスは SHAREPLEX_SOURCE_ID 列をソースデータベースに応じた異なるソース ID で更新し、ターゲットデータベース内のデータを区別します。この例では、4 つの Post プロセスを使用します。

target c.target1 queue source718 set source east

target c.target1 queue source92 set source south

target c.target1 queue source101 set source west

target c.target1 queue source75 set source north

キュー「source718」の Post プロセスは、ストリーム内のテーブルへの挿入または更新時に、毎回 SHAREPLEX_SOURCE_ID 列を値「east」で更新します。キュー「source92」の Post プロセスは、SHAREPLEX_SOURCE_ID 列を値「south」で更新します。残り 2 つの Post プロセスについても同様です。

sql カテゴリ

サポートされるターゲット

ファイル(SQL 出力)

コマンドオプション

target x.file [queue queuename]

{

set sql property=value |

reset sql [property] |

show sql

}

使用法:
プロパティ 入力値 デフォルト

add_rownum={yes | no}

行番号を含める場合は yes、除外する場合は no

yes

begin_transaction={yes | no}

開始トランザクションレコードを含める場合は yes、除外する場合は no

no

comment=character

コメントをマークする文字

--

concatenate=character

文字列を連結する文字

||

end_transaction={yes | no}

終了トランザクションレコードを含める場合は yes、除外する場合は no

no

legacy={yes | no}

SharePlex 8.6 で必須。以下のようなレガシー SQL の日付およびタイムスタンプ形式を使用します。

MMDDYYYYHH24MISS および MMDDYYYYHH24MISS.FFFFFF(yes/no)

no

name_delimiter=character

SID、テーブル、所有者、列の名前を区切る文字。この値は、Post が ODBC ドライバに対して SQL_DELIMITER の設定をクエリするときに返される値を上書きします。

なし

record_terminator=character

SQL を終了する文字

;

例:

target x.file set sql comment=#

trace capture

trace capture コマンドは、Capture の処理とパフォーマンスの統計をトレースファイルに出力するために使用します。

Capture のトレースには以下が含まれます。

  • トレース自体の詳細
  • Capture がさまざまなタスクの全体とスレッドごとに費やした時間

使用法:

サポートされるターゲット: すべて
権限レベル: Operator (2)
発行先: ソースシステム
関連コマンド: trace readtrace post

構文

基本コマンド コマンドオプション リモートオプション
trace capture

[minutes]

[for datasource]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

構文の説明

コンポーネント 説明
minutes

トレースを実行する分数。デフォルトは15分です。

for datasource Capture トレースの実行対象となるデータソース。同一の SharePlex インスタンスで複数の Capture を実行する場合のみ必須です。使用する場合は、minutes の後に続ける必要があります。

リモートオプション

一連のオプションによって、リモートマシンに対するコマンドの発行や、ログイン名、パスワード、ポート番号、またはこれらの項目の組み合わせを含むコマンドのスクリプト化も可能になります。

オプション 説明
on host

リモートシステム(現在の sp_ctrl セッションを実行しているシステム以外のシステム)でコマンドを実行します。リモートシステムのログイン資格情報を要求するプロンプトが表示されます。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on SysA

on host:portnumber

リモートログインおよびポート番号を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on SysA:8304

on login/password@host

リモートログイン、パスワード、およびホスト名を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例:sp_ctrl(sysB)>status on john/spot5489@SysA

on login/password@host:portnumber

リモートログイン、パスワード、ホスト名、およびポート番号を指定する必要がある場合に、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後のコンポーネントにする必要があります。

例: sp_ctrl(sysB)>status on john/spot5489@SysA:8304

出力

トレースが終了すると、変数データディレクトリの log サブディレクトリ内のファイルにトレースデータが次の形式で書き込まれます。

process_id_trace_time

例:

orcl_ocap_trace_Sep30_15_24_2014

ここで、orcl はデータソース、ocap は Capture プロセスの名前です。

例:

次のコマンドは、データソース myora に対して 1 分間のトレースを実行します。

trace capture 1 for myora

このコマンドのトレース出力は次のようになります。

 

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating