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

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

このガイドについて このガイドで使用される表記規則 Oracle用SharePlexコマンド SharePlexパラメーター PostgreSQL用SharePlexコマンド PostgreSQL用SharePlexパラメーター 一般SharePlexユーティリティ Oracleクラウドインフラストラクチャ SharePlex環境変数

compare status

compare status

compare statusコマンドを使用して、最後に実行されたcompareまたはrepairジョブのステータスを表示します。compare statusコマンドを使用すると、compareジョブやrepairジョブ、またはcompareジョブやrepairジョブの一部に関する詳細なステータスを表示したり、SharePlexに履歴があるすべてのcompareジョブおよびrepairジョブのステータスを表示したりできます。

注意: compare statusコマンドの詳細および使用例については、job statusコマンドを参照してください。

用途

サポート対象のソース: Oracle
サポート対象のターゲット: Oracle
認証レベル: ビューアー3
発行場所: ソースシステム
関連コマンド:

compare / compare usingrepair / repair using

構文

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

[job_id]

[Job_id.table_id]

[all]

[full]

[detail]

[status]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

構文の説明
コンポーネント 説明
job status SharePlexが履歴を保持するすべてのcompareジョブおよびrepairジョブのステータスを表示します。
job_id

指定されたSharePlex割り当てジョブIDを持つジョブのステータス履歴を表示します。

:

sp_ctrl(sysA)>job status 2828.2

job_id.table_id

指定されたSharePlex割り当てジョブIDとテーブルを持つジョブのステータス履歴を表示します。

:

sp_ctrl(sysA)>job status 2828.HR.SRC_TEST3

all

データベースに履歴があるすべてのジョブの概要行を表示します。

:

sp_ctrl(sysA)>job status all

full

ジョブ内の各オブジェクトのステータスを表示します。デフォルトでは、job statusコマンドは、完了していないオブジェクト、または例外的なステータスで完了したオブジェクトのステータスを表示します。

:

sp_ctrl(sysA)>job status 2828 full

detail

報告されたすべてのオブジェクトの詳細情報を表示します。デフォルトでは、job statusコマンドは報告されたすべてのオブジェクトの概要行を表示します。詳細情報は、job_id.table_idオプションで表示されるものと同じであることに注意してください。

:

sp_ctrl(sysA)>job status detail

status

指定されたステータスの過去のジョブのステータス履歴を表示します。

:

sp_ctrl(sysA)>job status "Error"

リモートオプション

これらのオプションにより、リモートマシンにコマンドを発行したり、ログイン名、パスワード、ポート番号、またはそれらの組み合わせを含むコマンドをスクリプト化したりすることができます。

オプション 説明
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

connection

connectionコマンドを使用すると、SharePlexをデータベースに接続するように設定できます。

connectionコマンドの使用方法

connectionコマンドを使用して、データベースに接続する際にSharePlexが使用する接続プロパティを設定します。このコマンドは、データベースで使用できるデータベース・セットアップ・ユーティリティがない場合にのみ使用します。データベースのセットアップユーティリティが存在するかどうかを確認するには、「データベース・セットアップ・ユーティリティ ページを参照してください。

connectionコマンドは以下のように使用します。

  • setオプションを使用して接続属性を設定します。使用するオプションごとに、connectionコマンドを1つ発行します。このコマンドでは、1つのコマンドで複数のキーワード/値のペアを文字列化することができません。
  • resetオプションを使用して接続設定をクリアします。
  • showオプションを指定して現在の接続設定を表示します。

注意:

  • SharePlexがサポートするOpen Targetターゲットは、SharePlexリリースノートに記載されています。

  • ODBCデータベースのDSNが存在する場合、dsnuser、およびpasswordキーワードのみが必須の接続設定です。DSNが存在しない場合、userpasswordserverdriver、およびportキーワードがすべて必須です。
  • connect_stringキーワードは、推奨される場合、または提供されたODBCキーワードが十分でない場合に、ユーザ定義のODBC接続文字列をサポートします。

重要: このコマンドを使用した後は、必ずPostプロセスを停止してから再度開始してください。

用途

サポート対象のソース: Oracle
サポート対象のターゲット: すべて
認証レベル: オペレーター2
発行場所: ソースまたはターゲットシステム
関連コマンド: target

構文

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

connection {o. | r.}database

{

set keyword=value |

show [all] |

reset [keyword]

}

[user=username]

[password=password]

[tns_alias=alias]

[asm_sid=SID]

[asm_user=username]

[asm_password=password]

[asm_tns_alias=alias]

[wallet_location = path]

[wallet_automode = Y/N]

[dsn=DSN]

[server=servername]

[driver=path]

[port=portnumber]

[connect_string=string]

[plugin = pluginname]

[plugin_version = versionnumber]

[plugin_direction = source/target/both]

[sp_host_port = Hostname:port]

[admin_user = username]

[database = SID]

[dstype = Datastorename]

[version = versionnumber]

[hostaddr = IPaddress]

[host = servername]

[dbname = databasename]

[db_host = IP]

[db_port = portnumber]

[oracle_home = path]

[service_name = servicename]

利用不可
構文の説明
コンポーネント 説明
{o. | r.}database

接続を設定するデータベース。以下のフォーマットを使用します。

Oracle:

o.SID

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

Open TargetODBC:

r.database

ここで、databaseはデータベースの名前ですDSNではない

注意: データベースの指定は、設定ファイルのデータソース行またはルーティングマップのデータベース指定と一致している必要があります。例えば、ルーティングマップがmyhost@r.mydbの場合、connectionコマンドには、
connection r.mydb set user=myuserのように同じデータベース指定が含まれます。

set keyword=value 接続プロパティを設定します。キーワードを参照してください。
show [all]

showは、指定されたデータベースの現在の接続設定を表示します。

show allは、すべてのローカルデータベースの接続設定を表示します。 以下の例のように、database指定をshow allと一緒に使用しないでください。

connection show all

reset [keyword]

resetは、指定されたデータベースのすべての接続設定をクリアします。

resetキーワード は、特定の接続プロパティの接続設定のみをクリアします。キーワードを参照してください

キーワード
キーワード データベースのタイプ 入力値の説明
user=username すべて databaseで指定されたデータベースに接続するためにSharePlexが使用するデータベースユーザの名前。
password=password すべて usernameで指定されたユーザのパスワード。
tns_alias=alias Oracle SharePlexが接続するTNSエイリアス。データベースへの接続をtnsnames.oraファイルで管理する場合は必須です。
asm_sid=SID Oracle ASMインスタンスのOracle SID。Oracle Automatic Storage Managementがデータベースに使用されている場合は必要です。
asm_user=username Oracle SharePlexがASMインスタンスに接続するために使用するASMユーザの名前。
asm_password=password Oracle ASMユーザのパスワード。
asm_tns_alias=alias Oracle ASMインスタンスのTNSエイリアス。ASMインスタンスへの接続をtnsnames.oraファイルで管理する場合は必須です。
wallet_location = path Oracle 設定されている場合、Oracleのウォレットファイルへのパス
wallet_automode = Y/N Oracle SharePlexの自動オープンを設定する場合はYに設定
dsn=DSN Open TargetODBC データベースに関連付けられているデータソース名DSN。データベースのDSNが存在する場合、このキーワードと、userおよびpasswordキーワードのみが必須の接続設定です。
server=servername Open TargetODBC データベースをホストするサーバの名前またはIPアドレス。
driver=path Open TargetODBC データベースへのODBC接続をサポートするODBCドライバのフルパス。
port=portnumber Open TargetODBC データベースのポート番号。
connect_string=string Open TargetODBC ユーザ定義の接続文字列。独自の接続文字列を使用する場合は、ODBC接続を成功させるために必要な要素がすべて含まれていることを確認してください。ただし、ユーザ名とパスワードは省略してください。userおよびpasswordオプションを指定してconnectionコマンドを使用し、ユーザ情報を提供します。
plugin = pluginname   プラグインの名前
plugin_version = versionnumber   プラグインバージョン
plugin_direction = source/target/both   plugin_directionの値は、source、target、またはbothに設定できます。
sp_host_port = Hostname:port データベースOracle以外 SharePlexホスト: セットアップを実行したポート
admin_user = username   管理者ユーザのSQL Server
database = SID   データベース名
dstype = Datastorename   データストア名
version = versionnumber    
hostaddr = IPaddress データベースOracle以外 ODBCが接続するサーバのIPアドレス
host = servername データベースOracle以外 ODBCが接続するサーバ名
dbname = databasename データベースOracle以外 ODBCが接続するデータベース名
db_host = IP データベースOracle以外 DSN経由のデータベースのホスト
db_port = portnumber データベースOracle以外 DSNを通じてデータベースが使用するポート
oracle_home = path Oracle Oracle Homeへのパス
service_name = servicename Oracle Oracleサービス名
Oracleの例

connection o.myora12 set user=myuser

connection o.myora12 set password=mypassword

connection o.myora12 set tns_alias=myora12

Open Targetの例
DSNが存在する場合

connection r.mydb set user=myuser

connection r.mydb set password=mypassword

connection r.mydb set dsn=mydsn

DSNが存在しない場合

connection r.mydb set user=myuser

connection r.mydb set password=mypassword

connection r.mydb set port=1234

connection r.mydb set server=server1

connection r.mydb set driver=/database/ODBC/lib/databasedriver.so

DSNが存在しないため、接続文字列を使用

connection r.mydb set user=myuser

connection r.mydb set password=mypassword

connection r.mydb set connect_string=”driver=/database/ODBC/lib/databasedriver.so;server=server1;port=1234;uid=myuser;pwd=mypassword”

接続値の削除

connection r.mydb reset port

connection r.mydb reset

接続設定の表示

connection r.mydb show

connection show all

copy/append

copy / append

copy/appendコマンドは、Oracle Export/Importユーティリティを使用して、ユーザがレプリケーションをセットアップしたり、既にレプリケーション内にある個のテーブルを同期したりできるようにします。

ユーザは、個のテーブルを単一のターゲットにコピー/追加したり、複数のターゲットを指定したり、レプリケーション設定内のすべてのターゲットを指定したりできます。

重要:
  • このコマンドはCONSISTENT=YでExportを呼び出します。ORA-01555エラーを避けるために、適切なサイズのRBSを必要とします。
  • このコマンドを双方向環境または高可用性環境で使用するには、追加の手順が必要です。ナレッジベースの解決策48020を参照してください。
  • このコマンドを使用する前に、このドキュメントをすべて確認してください。使い方を誤ると、データが失われたり、同期が取れなくなったりする可能性があります。

copyコマンド

データを同期する前にターゲットテーブルを切り捨てたい場合は、copyコマンドを使用して、あるホストから別のホストにテーブルまたは複数のテーブルを同期またはインスタンス化します。

appendコマンド

データを同期する前にターゲットテーブルを切り捨てたくない場合は、appendコマンドを使用して、あるホストから別のホストにテーブルまたは複数のテーブルを同期またはインスタンス化します。

copy/appendコマンドを使用するとき

copy/appendコマンドは以下のように使用します。

  • データベースを移行するため。
  • Compare/Repairプロセスでrepairできないテーブルを同期するため。
  • テーブルをインスタンス化する際にレプリケーションに入れる。
copy/appendコマンドがサポートするもの

copy/appendコマンドは以下をサポートしています。

  • copy/appendコマンドでサポートされるオブジェクトは、OracleのImport/Exportユーティリティでサポートされているオブジェクトです。
  • 下位バージョンのOracleから上位バージョンのOracleへのコピー、または同じバージョンのOracle間でのコピー。
  • Oracleワイルドカード指定の結果として含まれる同期ルーティングファイル内のオブジェクトのコピー/追加。
  • コマンドライン構文でのOracleワイルドカード指定の使用。
copy/appendコマンドがサポートしていないもの

copy/appendコマンドは、以下をサポートしていません。

  • 上位バージョンのOracleから下位バージョンのOracleへのコピー
  • テーブルからビューへのコピー
  • UDTまたはVARRAYUDTまたはVARRAYタイプがOracleのImport/ExportユーティリティまたはOracleのホットバックアップを使用してターゲットデータベースに作成されていない場合。これはOracleのインポート/エクスポート機能の制限です
  • 水平分割または垂直分割されたレプリケーション内のテーブル
  • シーケンス
  • トランスフォーメーションが使用されているテーブルトランスフォーメーションがターゲットにも適用されている場合を除く
  • ソースサーバとターゲットサーバ間のデータ受け渡しにパススルーサーバを使用するネットワーク構成
  • 列のマッピング
  • 列のサブセット
  • テーブル内の行のサブセットの指定
  • インデックス、制約、トリガ、およびグラントオプション
  • 直接ロード
  • 透過的データ暗号化TDE
  • appendコマンドはOracleパーティションをサポートしていませんcopyコマンドのみがOracleパーティションをサポートしています

  • Oracle Database 23cでは、暗号化されたテーブルスペースではCopy/Appendコマンドはサポートされません。

重要:
  • copy/appendコマンドは、Oracleワイルドカードをサポートしています。ただし、ワイルドカード指定で示されるオブジェクトのセットに、現在レプリケーションに含まれないオブジェクトが含まれている場合、copy/appendコマンドは、現在レプリケーションに含まれているオブジェクトに対してのみ作用します。
  • forceオプションを使用し、すべてのターゲット情報を指定した場合、レプリケーションに含まれるテーブルは現在の動作と同様に静的にコピーされます。

ランチャープロセス

copy/appendコマンドを実行する前に、ターゲットシステムでランチャープロセスを実行しておく必要があります。ランチャープロセスを開始するには、各ターゲットシステムで以下のコマンドを実行する必要があります。

sp_ctrl(sysB)> start launcher

ランチャープロセスの実行中は、show launcherコマンドを使用してプロセスの詳細を表示できます。

ユーザが同期を完了したら、ターゲットシステムでランチャーを停止することができます。ランチャープロセスを停止するには、各ターゲットシステムで以下のコマンドを実行する必要があります。

sp_ctrl(sysB)>stop launcher

コピー/追加プロセスの概要

copy/appendコマンドは、個のホスト間で個のテーブルを同期するプロセスを開始します。

以下は、単純な同期プロセスのアクティビティを示すイベントのシーケンスです。

  1. ターゲットシステムにログオンし、sp_ctrlからstart launcherコマンドを発行します。
  2. sp_ctrlセッションからcopy/appendコマンドが発行されると、sp_cncはソースシステム上にsp_sync_svrを生成します。
  3. sp_sync_svrはターゲットシステムに接続し、ターゲットシステムでsp_sync_clntを起動します。
  4. sp_sync_svrは、sp_syn_clntにテーブルリストを送信し、ターゲットテーブルの情報を確認します。a) オブジェクトがコピーされている場合追加ではなく、ターゲットテーブルは切り捨てられます。
  5. コピー対象の各オブジェクトに対して、sp_sync_svrはOracleのexportプロセスを開始します。
  6. コピー対象のオブジェクトがレプリケーションに含まれる場合、sp_sync_svrは、sp_sync_clntがPostプロセスの準備ができたことを示すまで待機する必要があります。
  7. sp_sync_clntプロセスは、sp_sync_svrプロセスがOracleのexportプロセスを開いた各オブジェクトに対してOracleのimportプロセスを開始します。
  8. sp_sync_svrプロセスは、コピーが完了するまで、データをsp_sync_clntプロセスに転送します。
  9. コピー対象のオブジェクトがレプリケーションに含まれる場合、Postプロセスが再度開始され、そのポストアクティビティを再開します。
  10. ターゲットシステムにログオンし、sp_ctrlからstop launcherコマンドを発行します。

コピープロセスの同時実行

一度に複数のcopy/appendコマンドを発行できます。ユーザは、コピープロセスの進行中にPostプロセスがすべてのレプリケーションを停止することに注意する必要があります。

同期プロセスの識別

同期プロセスは、sp_copプロセスによって開始されないため、sp_ctrlコンソールにリストされません。プロセスを識別するには、オペレーティングシステムを使用して実行可能ファイルを探します。

  • sp_sync_svr
  • sp_sync_clnt

  • sp_sync_lstnr

  • sp_sync_launcher

同期のチューニングパラメーター

以下は、copy/ appendコマンドを使用した同期に関連するパラメーターのリストです。これらのパラメーターはすべてライブであり、次にコマンドが発行されたときに有効になります。

  • SP_OSY_COMPRESSION: このパラメーターは、データ圧縮をオフ0からフル9まで調整します。デフォルトの整数値は6に設定されています。
  • SP_OSY_EXP_BUFFER_SIZE: このパラメーターは、ターゲットシステムに送信される前にバッファされるデータ量を調整します。デフォルトの整数値は1024キロバイトです。
  • SP_OSY_IMP_BUFFER_SIZE: このパラメーターは、ターゲットシステムに適用される前にバッファされるデータ量を調整します。デフォルトの整数値は1024キロバイトです。
  • SP_OSY_LOCK_TIMEOUT: このパラメーターは、同期プロセスがテーブルロックを取得するまで待機する時間を秒数で設定します。デフォルトの整数値は2秒です。
  • SP_OSY_PORT: このパラメーターは、同期プロセスのポート番号を設定します。デフォルトの整数値は、ポート番号2501に設定されています。
  • SP_OSY_POST_TIMEOUT: このパラメーターは、同期プロセスが、Postプロセスの準備が整い、同期が開始されるまで待機する時間を秒数で設定します。デフォルトの整数値は1800秒30分に設定されています。
  • SP_OSY_TCP_TIMEOUT: このパラメーターはIPCタイムアウトの秒数を設定します。デフォルトの整数値は60秒に設定されています。
  • SP_OSY_THREADS: このパラメーターは、同期処理のスレッド数を設定します。このスレッドパラメーターは、パーティション分割されたテーブルにのみ影響します。デフォルトの整数値は5スレッドに設定されています。最大値は32スレッドです。

コピーステータスの表示

1つまたは複数のcopy/appendコマンドのステータスを表示する最適な方法は、copy statusコマンドまたはappend statusコマンドを使用することです。基本コマンドは、システム上のすべてのcopy/appendプロセスの結果を表示します。

基本コマンドは、システム上で現在実行中のすべてのcopy/appendジョブのステータスと、最後に実行されたcopy/append現在実行中のリストに含まれていない場合のステータスを表示します。このリストは、指定したステータスのみを表示するようにフィルタリングすることができます。

1つ以上のcopy/appendコマンドの結果を表示する最適な方法は、sp_ctrlcopyオプションを指定してreportコマンドを使用することです。

以下の例では、copy/appendコマンドがレプリケーションに含まれないテーブルに対して発行されています。その後のcopy statusは、テーブルに関する基本情報と手順のステータスを表示します。

sp_ctrl (alvlabl17:8708)> copy sp_iot.SYNC_iot_BASIC to sp_iot.SYNC_iot_BASIC for o.w920a32f at irvqasu15@o.a102u64f force

copy started; job id 111

sp_ctrl (alvlabl17:8708)> copy status 111 for o.w920a32f

Job ID : 111

Host : alvlabl17.quest.com

Started : 17-MAR-08 13:59:28

Job Type : Copy

Status : Done

ID Tablename Total rows %Comp Status Status time Total time
--- ------------------------- ----------- -------- -------- ----------- ----------
1 "SP_IOT"."SYNC_IOT_BASIC1" 3720 100 Done N/A 0:08
2 "SP_IOT"."SYNC_IOT_BASIC2" 3720 100 Error N/A 0:08
3 "SP_IOT"."SYNC_IOT_BASIC3" 3720 100 Done N/A 0:08

このリストをフィルタリングして、ステータスがエラーであるテーブルだけを表示するには、以下のコマンドを実行します。

sp_ctrl (alvlabl17:8708)> copy status 111 for o.w920a32f “Error”

同期ルーティングファイルの使用

同期ルーティングファイルは、アクティベーションに使用される設定ファイルと非常によく似た構造をしており、ファイルの内容には同じフォーマット要件があります。この2つのファイルの違いは、設定ファイルのテーブルやオブジェクトの中には、同期プロセスでサポートされていないため、同期ルーティングファイルに含めるべきではないものがあることです。例えば、水平分割または垂直分割のテーブルは、同期プロセスでサポートされていないため、同期ルーティングファイルに含めるべきではありません。

同期ルーティングファイルでのOracleワイルドカードの使用はサポートされています。同期ルーティングファイルでのOracleワイルドカードの適用方法は、設定ファイルの場合と同じです。SharePlexがワイルドカードをどのようにサポートしているかについては、『SharePlex管理ガイド』を参照してください。

ルーティングファイルの例
Datasource:o.s_sid1
s_user0.sync_multi_trgt d_user0.sync_multi_trgt d_host1@o.d_sid1
s_user0.sync_multi_trgt d_user0.sync_multi_trgt d_host2@o.d_sid1
s_user0.sync_multi_trgt d_user0.sync_multi_trgt_bu d_host1@o.d_sid2
メモ:
  • テーブルのグループに対してcopy/appendコマンドを使用する場合、すべてのテーブルがレプリケーションの対象であるか、すべてのテーブルがレプリケーションの対象外である必要があります。レプリケーション対象のテーブルとレプリケーション対象外のテーブルが混在している場合は、グループごとに個別の同期ルーティングファイルを作成し、それぞれのファイルで個別の同期プロセスを開始する必要があります。
  • copy/appendコマンドはランダムな順序でテーブルをコピーし、参照整合性を考慮しません。したがって、一度に1つのテーブルだけをコピー/追加するか、コピー/追加をごく少数のテーブルに制限することをお勧めします。

異種ソーステーブルとターゲットテーブルのコピー

ソーステーブルとターゲットテーブルの構造は同一でなければなりませんが、例外として、ソーステーブルの列数はターゲットテーブルより少なくても構いません。

copy/appendコマンドは、ソーステーブルの列数が対応するターゲットテーブルより多い場合は使用しないでください。

分割レプリケーションでのコピーの使用

設定内のテーブルが分割レプリケーションを使用する場合:

  • copy/appendコマンドは、個のテーブルのコピーとパーティション化された個のテーブルのコピーをサポートしますが、個のパーティションのコピーはサポートしていません。
  • 指定されたターゲットオブジェクトがパーティションであっても、データが個のパーティションにコピーされることはありません。
  • パーティションをターゲットとして指定することはサポートされていません。
  • データの同期は、copyでもappendでも、常にベーステーブルで行われ、パーティションで行われることはありません。
  • copy/appendコマンドは、現在レプリケーションに含まれている垂直または水平のパーティション分割されたテーブルをサポートしていません。
  • [singlethread]オプションを使用すると、パーティション分割されたテーブルが1つのオブジェクトとしてコピーされます。デフォルトの動作は、パーティション分割されたテーブルの各パーティションを個別にコピーするので、コピーを並行して実行できます。

処理スレッド数の制御

複数のプロセッサを搭載したマシンを活用するために、SP_OSY_THREADSパラメーターを使用して、ソースシステム上のコピー/追加処理スレッド数を設定できます。このスレッドパラメーターは、パーティション分割されたテーブルにのみ影響します。このパラメーターのデフォルト値は5スレッドに設定されており、有効な値の範囲は1~32スレッドです。

テーブルがレプリケーションの対象である場合、同期プロセスはシングルスレッドであることに注意してください。マルチスレッド処理が有効になるのは、レプリケーション対象外のテーブルのみです。

コマンドライン構文でのOracleワイルドカードの使用

Oracleワイルドカードは、copy/appendコマンドの source_table部分を指定するときに使用できます。さらに、not表記を使用して、特定のオブジェクトを除外することもできます。

特定のスキーマ内の全テーブルを指定するには、以下を使用します。

sp_ctrl (irvspxu14:8567)> copy scott.%

上記の例では、オブジェクトが現在レプリケーションに含まれている場合、scottスキーマ以下のすべてのオブジェクトがコピーされます。

また、以下を使用して除外を設定することもできます。

sp_ctrl (irvspxu14:8567)> copy scott.% not (%"foo"%)

上記の例では、オブジェクトが現在レプリケーションに含まれている場合、名前に「foo」が含まれるオブジェクトを除く、scottスキーマ以下のすべてのオブジェクトがコピーされます。

SharePlexがワイルドカードをどのようにサポートしているかの詳細については、『SharePlex管理ガイド』を参照してください。

copy/appendの使用に関するその他の考慮事項

  • copy/appendコマンドを使用して同期されていないテーブルを同期する場合、またはcopy/append コマンドを使用してテーブルをインスタンス化する際にレプリケーションに入れる場合、テーブルのコピー中にPostプロセスが一時停止します。copy/appendコマンドが完了すると、Postプロセスは再開されます。これは、新しいルートを通じてレプリケーションに追加されるテーブルには適用されません。
  • copy/appendコマンドは、テーブルが現在レプリケーションに含まれている場合、一度に1つのテーブルに対してのみ操作できます。
  • 既知のレプリケーションルートにないテーブルにcopy/appendコマンドを使用する場合は、forceオプションを使用する必要があります。レプリケーション対象外のオブジェクトにcopy/appendを使用するには、forceオプションを使用する必要があります。
  • レプリケーション対象のテーブルにcopy/appendコマンドを使用する場合、copy/appendコマンドの発行時に、すべてのSharePlexプロセスCapture、Read、Export、Import、Postが実行中でなければならず、プロセス中も実行中のままである必要があります。
  • カスケードレプリケーション環境では、copy/appendコマンドを使用しないでください。
  • 外部キーを持つテーブルは、それらのキーを一旦無効にしてから再度有効にする必要があります。
  • テーブルインデックス、制約、トリガ、およびグラントオプションはサポートされていないため、同期完了後に再度有効にする必要があります。
  • オブジェクトがレプリケーション対象の場合、copy/appendは、ソーステーブルとターゲットテーブル間のロックや同期は必要ありません。copy/appendコマンドが実行されている間、ソーステーブルとターゲットテーブルが変更されないことを前提としているからです。
  • 複数のオブジェクトを含む設定ファイルが指定された場合、ソーススキーマ名とターゲットスキーマ名が異なることが許容されるのは、すべてのターゲットオブジェクトが同じスキーマ名を持つ場合のみです。

  • copy/appendコマンドは、オブジェクトが異なるスキーマに存在する場合のみ、同じデータベース上の2つのオブジェクト間でデータをコピーまたは追加することができます。
  • copy/appendプロセスの実行中に新しい設定をアクティベーションすると、同期プロセスが失敗する可能性があります。

注意: copyコマンドとappendコマンドの構文はまったく同じです。以下に示す例では、copyコマンドを使用していますが、copyappendに置き換えるだけでappendコマンドを呼び出すことができます。

用途

サポート対象のソース: Oracle
サポート対象のターゲット: Oracle
認証レベル: オペレーター2
発行場所: ソースシステム
関連コマンド: なし

構文

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

{copy | append} source_owner.source_table

 

[not (list of exceptions)]

[totarget_owner.target_table[.partition]]

[at target_host[@target_SID]

[for o.source_SID]

[singlethread]

[force]

[status]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

{copy | append} using filename

[for o.source_SID]

[force]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

 
構文の説明
コンポーネント 説明

source_owner.source_table

のソース所有者とソーステーブル名、またはワイルドカードを使用してオブジェクトのグループを指定します。usingfilename構文とともに{copy | append}を使用している場合は無効です。

totarget_owner.target_tableオプションなしで使用する場合、この構文は同期ターゲットがレプリケーションターゲットと同じであると想定します。

:

sp_ctrl(SysA)>copy s_user1.sync_single_tbl

sp_ctrl(sysA)>append s_user1.sync_single_tbl

filename

同期するテーブルを含む同期ルーティングファイルの名前。ファイル名では大文字と小文字が区別されます。

このオプションは、{copy |append}usingコマンドに使用します。

:

sp_ctrl(SysA)>copy using sync_file_2.txt

sp_ctrl(sysA)>append using sync_file_2.txt

[not (list of exceptions)]

テーブル指定にワイルドカードが含まれている場合に、コピー/追加しないテーブルの例外リストを指定します。

exception_listは、コピー/追加してはならないテーブル名のリストです。

copytest1、copytest2、copytest3という3つのテーブルがあるとします。以下の例では、copytest3テーブルのデータのみがターゲットにコピーされます。

sp_ctrl > copy s_user1.% not (copytest1,copytest2)

totarget_owner.target_table [.partition]

同期のターゲットテーブルを指定します。このオプションは、source_owner.source_tableオプションと併用する場合のみ有効です。

テーブルがレプリケーションに含まれていない場合、このオプションをattarget_host@ [target_sid]オプションと組み合わせて使用します。

:

sp_ctrl(SysA)>copy s_user1.sync_single_tbl to d_user1.sync_single_tbl

sp_ctrl(SysA)>append s_user1.sync_single_tbl to d_user1.sync_single_tbl

at target_host@ [target_SID]

同期のターゲットテーブルの場所を指定します。to target_owner.target_table [.partition]オプションと組み合わせて使用します。

:

sp_ctrl(SysA)>copy s_user1.sync_single_tbl to d_user1.sync_single_tbl at d_host1@o.d_sid1

sp_ctrl(SysA)>append s_user1.sync_single_tbl to d_user1.sync_single_tbl at d_host1@o.d_sid1

for o.source_SID

アクティブな設定がない場合、または複数のアクティブな設定がある場合に、同期するオブジェクトが含まれるデータソースを指定するために使用します。

:

sp_ctrl(SysA)>copy s_user1.sync_single_tbl for o.source_sid at target_host@o.target_sid force

sp_ctrl(SysA)>append s_user1.sync_single_tbl for o.source_sid at target_host@o.target_sid force

singlethread パーティション分割されたテーブルを1つのオブジェクトとしてコピーするには、このオプションを使用します。デフォルトの動作は、パーティション分割されたテーブルの各パーティションを個別にコピーするので、コピーを並行して実行できます。
force

このオプションは、同期を意図したテーブルがレプリケーションに含まれない、 またはテーブルルートが既存または既知のルートに一致しない場合に使用します。

:

sp_ctrl(SysA)>copy s_user1.sync_single_tbl at target_host@o.target_sid force

sp_ctrl(SysA)>append s_user1.sync_single_tbl at target_host@o.target_sid force

status

以前のcopy/appendコマンドのステータス履歴を表示します。

sp_ctrl(SysA)>copy status

sp_ctrl(SysA)>append status

リモートオプション

これらのオプションにより、リモートマシンにコマンドを発行したり、ログイン名、パスワード、ポート番号、またはそれらの組み合わせを含むコマンドをスクリプト化したりすることができます。

オプション 説明
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

copy cache

copy cacheコマンドを使用して、オブジェクトキャッシュをソースからターゲットにコピーします。

SharePlexイベントログに以下のメッセージがある場合は、copy cacheコマンドにPostプロセスのターゲットホストとターゲットSID、およびエラーメッセージにあるactidアクティベーションIDを含めてください。これは、Postプロセスが現在ポストしているアクティベーションのアクティベーションIDです。

Poster [SP-OPO01009] cannot read object cache for actid <nnnn>

copy cacheコマンドをオプションなしで発行すると、SharePlexはソース上の現在のアクティベーションIDを識別し、そのアクティベーションIDのオブジェクトキャッシュをソースからすべてのターゲットにコピーします。

用途

サポート対象のソース: Oracle
サポート対象のターゲット: すべて
認証レベル: オペレーター2
発行場所: ソースシステム
関連コマンド: show log

構文

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

copy cache

[actid actid]

[at target_host[@target_sid]]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

構文の説明
コンポーネント 説明
copy cache

copy cacheコマンドをオプションなしで発行すると、SharePlexはソース上の現在のアクティベーションIDactidを特定し、そのactidのオブジェクトキャッシュをすべてのターゲットにコピーします。

actid actid 指定されたターゲットまたはすべてのターゲットターゲットが指定されていない場合にコピーするオブジェクトキャッシュのアクティベーションIDを指定します。
attarget_host[@target_sid] 指定されたactidまたは現在のactidactidが指定されていない場合のオブジェクトキャッシュをコピーするターゲットを指定します。
リモートオプション

これらのオプションにより、リモートマシンにコマンドを発行したり、ログイン名、パスワード、ポート番号、またはそれらの組み合わせを含むコマンドをスクリプト化したりすることができます。

オプション 説明
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

関連ドキュメント

The document was helpful.

評価を選択

I easily found the information I needed.

評価を選択