Chat now with support
Chat with Support

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

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

provision

SharePlex ユーティリティ

SharePlex ユーティリティを使用して、SharePlex 環境を設定、テスト、および管理できます。

コンテンツ

qview

説明

qview ユーティリティを通して、キューの名前を表示したり古いキューファイルを削除したりすることができます。ここで説明するqview ツールは、設定をディアクティベートしません。

警告! 初めてqview を使用する際は、Quest Technical Support の支援なしでは使用しないでください。このユーティリティが正常に使用されなかった場合、複製環境が故障し再同期および再アクティベーションが必要になる可能性があります。

サポートされるデータベース

サポートされているすべてのプラットフォーム上で SharePlex によってサポートされているすべてのデータベース

qview の実行

SharePlex 管理者としてシステムにログオンし、オペレーティングシステムのコマンドラインを使用して、SharePlex 製品ディレクトリの bin サブディレクトリから qview を実行します。このユーティリティは、インタラクティブなコマンドセッションです。

Windows プラットフォーム上で SharePlex サービスの実行中に qview を実行するには、管理者ユーザーとしてシステムにログオンします。Windows では 管理者ユーザーは 1 つしかありません。他のユーザーは、管理者「権限」がある(管理者グループのメンバである)かどうかを問わず、qviewを実行することができません。管理者権限を持つ他の Windows ユーザーは、SharePlex サービスがシャットダウンされている場合に qview を実行できます。

Windows で、qview-p オプション付きで実行して、キューを表示する SharePlex インスタンスのポート番号を指定します。

qview -pport list

qview コマンドの概要

qview ユーティリティには、次のコマンドがあります。

コマンド 説明
list システム上でアクティブなすべての設定のキューをすべて表示します。
trim 古いサブキューファイルをクリーンアップします。
fullrb 完全なロールバックメッセージを作成します。
otrans Capture キュー内で、指定された数のメッセージをスキャンします。

キューのリスト

list コマンドは、システム上のすべてのアクティブ設定のすべてのキューを表示するために使用します。

説明

qview list コマンドは、個々のキュー、キューに書き込む複製プロセス、キューを読み取る複製プロセスをリストします。たとえば capture キューの場合は、Capture プロセスと Read プロセスがリストされます。キューは、次のように指定します。

  • capture キューは +C で指定します。
  • export キューは +X で指定します。
  • post キューは +P で指定します。
出力の例

この例では、名前の文字列の sp_ocap で示されているように、capture キュー o.ora11+C に対するライタは Capture プロセスです。名前の文字列の sp_ord で示されているように、リーダーは Read プロセスです。同じ名付けロジックが、出力に示されている他のキューにも適用されます(export キュー expdsg+X および post キュー expdsg+P)。

The following queues exist:
o.ora11+C
	WRITER +PA+o.ora11+sp_ocap+o.ora11
	READER +PR+o.ora11+sp_ordr+o.ora11
elliot+X
	WRITER +PR+o.ora11+sp_ordr+o.ora11
	READER +PX+elliot+sp_xport+0x0a01014e (11.1.1.78)
elliot+P+o.ora11-o.ora11
subqueues range from 2 to 6
	WRITER +PI+elliot+sp_mport+0x0a01014e (11.1.1.78)
	READER +PP+elliot+sp_opst_mt+o.ora11-o.ora11

構文

list

古いサブキューの削除

trim コマンドを使用して、ソースシステム上の古いサブキューファイルをクリーンアップします。

説明

SharePlex の post キューは、実際には多数の「サブキュー」から構成されており、それぞれがソースシステム上のユーザーセッションにおおよそ対応しています。Post プロセスは、ターゲットインスタンスに対して Oracle セッションを確立します。一時にターゲットシステムに存在するサブキューの数は、複製が開始されてからのソースシステム上でのピークアクティビティを反映します。

SharePlex はチェックポイントリカバリシステムの一部として、複製されたデータをサブキューからディスク上の関連付けられたデータファイルに定期的に書き込みます。各サブキューにはそれに関連付けられた 1 つまたは複数のデータファイルがあり、それぞれのデフォルトサイズは 8 MB です。8 MB のサイズ全体が使用されていない場合は、データが post され read/release が行われていても、データファイルはシステムに残ります。その結果、ソースシステムのアクティビティレベルが高いほど、ディスク上のデータファイルの量が増えます。qstatus 表示の post キューのサイズ(MB)は、すべてのデータファイルが使用している実際のディスク領域です。

たとえばソースシステムに 100 個の並行セッションがあり、ターゲットシステムの post queue に 100 個のサブキューを作成するとします。さらにデータファイルが半分しか使用されていない場合、たとえば 8 MB 中 4 MB しか使用されていないため、削除されないとします。このシステムの post queue には 各 4 MB のデータファイルが 100 個あり、合計 400MB のディスク領域を使用していることになります。

qview にある trim コマンドを使用すると、read-release された古いサブキューを定期的に削除し、ターゲットデータベースにまだコミットされていないデータを含んでいるものを保持することができます。trim コマンドでは、サブキュー 0 または 1 は最も使用されるサブキューであるため削除されません。

このコマンドの実行方法

このコマンドを実行する対象は、ターゲットシステムに限定されます。

Import および Post を停止してから、qview を実行して、このコマンドを発行します。sp_cop は実行中のままで構いません。

:もしこれらのプロセスのどちらか、もしくは両方が停止されていない場合は、qview が次のエラーメッセージを返します。que_INUSE: Que is already open.

キューは 1 度に 1 個のキューのみ trim できます。複数の post キューが存在する場合、コマンドで影響を与える対象の選択を要求するプロンプトが表示されます。

Queue zac+P+o.ora920-o.ora920 (y/n) <n>? n
Queue elliot+P+o.ora920-o.ora920 (y/n) <n>? y

:キューを選択しないと、qview が次のエラーメッセージを返します:que_NOEXIST: Queue does not exist.

構文

trim

フルロールバックの実行

otrans および fullrb コマンドを使用して、フルロールバックメッセージを作成します。

説明

otrans コマンドを使用して、読み取りのリリース時点から、Capture キュー内で、指定された数のメッセージをスキャンします。その後、qview ユーティリティはトランザクション ID、操作(レコード)数、DML タイプ操作(1 つだけ存在する場合)、および変更されたオブジェクト ID(1 つだけ存在する場合)を出力します。

otrans から取得したトランザクション ID を使用して、fullrb を実行します。qview ユーティリティは Capture キューを開いて、帯域外のフルロールバックメッセージを Capture キューに書き込んでから、コミットを書き込みます。

このコマンドの実行方法

  1. Capture を停止します。
  2. qview を実行します。
  3. otrans コマンドを発行します。

    vqiew> otrans 500000

    出力は、次のようになります。

    Full rollback 8(7).752562-3(139) --- 99999 Update operations on object id 466857
    Open transaction 8(23).752700-2(14162) --- 2001 Update operations (1000 backward operations) 
    on object id 466857
  4. otrans 出力のトランザクション ID を使用して、fullrb コマンドを発行します。

    vqiew> fullrb 8(7).752562-3(139)

    出力は、次のようになります。

    Current queue o.ora920+C        user +PA+o.ora920+sp_ocap+o.ora920
    Full rollback record written to capture queue at 378744, id 1102
    odr_magic        0x4f445235
    odr_op           ODR_FULL_ROLLBACK (50)
    odr_trans        8(7).752562-3(139)
    odr_time         01/01/88 00:00:00 (0)
  5. Capture を開始します。

    sp_ctrl> start capture

構文

otrans number

ここで、number は、キュー内でスキャンするメッセージ数です。

fullrb transaction_ID

ここで、transaction_ID は、otrans から返されたトランザクション ID です。

socket_testsocket_test

SharePlex ユーティリティ > socket_testsocket_test

説明

socket_test ユーティリティを使用して、Compare/Repair 機能のネットワークやファイアウォールの問題をデバッグします。socket_test ユーティリティが成功した場合は、ソースとターゲットの通信の妨げとなるネットワークまたはファイアウォールの問題がないことを示します。

このセクションでは、Network Address Translation(NAT)が設定された環境でこのユーティリティを使う方法を説明します。NAT は、ローカルエリアネットワーク(LAN)でプライベートの内部トラフィック用に IP アドレスを使用し、パブリックの外部トラフィック用に別のアドレスを使用することを可能にします。NAT は 2 つのネットワーク(たとえば、プライベート LAN とパブリックインターネット、あるいは保護されたネットワークと保護されていないネットワーク)の間のブリッジおよびインタプリタとして動作します。

システムで NAT を使用しているか判断するには、ソースマシンから nslookup を実行し、次にターゲットマシンから実行します。すべてのテストで同じホスト名を使用してください。異なる値が出力された場合は、NAT が設定された環境でシステムが動作している可能性が高いです。

socket_test ユーティリティは SharePlex 製品ディレクトリの util サブディレクトリにあります。サーバコンポーネントとクライアントコンポーネントの 2 つのコンポーネントがあります。

サポートされるデータベース

UNIX および Linux でサポートされるすべてのデータベース

socket_test の実行

  1. ソースマシンで、次の構文を使用して socket_test を実行します。server オプションを指定して、サーバコンポーネントを実行してください。

    $ proddir/util/socket_test server

    プラットフォーム情報、ホスト名、ホスト IP アドレス、およびポート番号が以下の例のように表示されます。socket_test クライアントコンポーネント(ステップ 2)が接続するまで、サーバは待機状態となります。

    socket_test - version:1.2
    HP-UX irvqasuf B.11.11 U 9000/800 1141089608 unlimited-user license
    Program executing as server..., Thu Mar  9 19:58:22 2006
    SP_SYS_HOST_NAME was not set.
    server host name: irvqasuf
    server IP:10.1.0.146
    Port Number:57370
  2. ターゲットマシンで、次の構文を使用して socket_test を実行します。client オプションを指定して、クライアントコンポーネントを実行してください。ソースマシンの NAT IP アドレス、および前のステップの socket_test server のテストで発行されたポート番号を指定します。

    $ proddir/util/socket_test client IP_address

    テストに成功すると、2 つの状態が発生します。

    • ユーティリティに以下の例のようなメッセージ「SUCCESSFULLY read/write messages from server」が表示されます。
    socket_test - version:1.2
    SunOS irvlabu01 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire-880
    Program executing as client..., Thu Mar  9 19:52:40 2006
    SP_SYS_HOST_NAME was not set.
    client host name: irvlabu01
    client IP:10.1.0.36
    
    Client is try to connect to.....
    Server Host:10.1.0.146
    Server Port:57370
    rb(512):ReadWriteCnt = 0, readCnt=0, readBytes=0, writeCnt=0, writeBytes=0re:ReadWriteCnt = 1, readCnt=1, totalRBytes=512, writeCnt=0, totalWBytes=0
    -m,0,0,-s,0,-l,10000000,-t,0,-r,0,-o,0,-x,0,0,0,0,0,0,
    SUCCESSFULLY read/write messages from server
    CE:ReadWriteCnt = 1, readCnt=1, totalRBytes=512, writeCnt=0, totalWBytes=0
    Client completed successfully, Thu Mar  9 19:52:40 2006
    Program exiting..., Thu Mar  9 19:52:40 2006 
    • また、手順 1 でのソースマシンの socket_test server 出力に以下のようなテキストが追加されます。
    Connected to client
    WB(512):ReadWriteCnt = 0, readCnt=0, readBytes=0, writeCnt=0, writeBytes=0
    WE:ReadWriteCnt = 1, readCnt=0, totalRBytes=0, writeCnt=1, totalWBytes=512
    SE:ReadWriteCnt = 1, readCnt=0, totalRBytes=0, writeCnt=1, totalWBytes=512
    Server completed successfully, Thu Mar  9 20:00:07 2006
    Program exiting..., Thu Mar  9 20:00:07 2006
    

    テストに成功しなかった場合、以下の例のようなエラーメッセージが表示され、socket_test server は待機状態のままになります。

    socket_test - version:1.2
    SunOS irvlabu01 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire-880
    Program executing as client..., Thu Mar  9 20:02:26 2006
    SP_SYS_HOST_NAME was not set.
    client host name: irvlabu01
    client IP:10.1.0.36
    
    Client is try to connect to.....
    Server Host:10.1.0.146
    Server Port:57370
    Error calling connect in connect_to_server
    Error 146:Connection refused
    Error 146 calling connect_to_server
    CE:ReadWriteCnt = 0, readCnt=0, totalRBytes=0, writeCnt=0, totalWBytes=0
    Error in client, Thu Mar  9 20:02:26 2006

    ソケットテストが失敗した場合は、ソースマシン上で Ctrl-C コマンドを実行することで socket_test サーバを終了できます。

sp-bininfo

説明

sp-bininfo ユーティリティを使用して、SharePlex の新しいリリースに、GA リリースの間にサポートから受け取った SharePlex の過去のワンオフビルドが含まれていることを確認します。

出力には、SharePlex の現在のバージョン用にインストールされているワンオフごとに以下の情報が表示されます。

  • SharePlex モジュール。Capture(sp_ocap)、Post(sp_opst または sp_xpst)など
  • SharePlex のバージョンおよびビルド番号
  • データベースおよびプラットフォーム
  • 変更要求(CR)番号。これは、内部で使用される一意の変更追跡番号で、ワンオフ要求が開発プロセスに入る時点でケースに割り当てられます。
  • ワンオフで更新された SharePlex ライブラリ

図 2: サンプル sp-bininfo 出力

(6) sp_ocap:
       build 171 of SharePlex_Oracle (ONEOFF-CR123456-CR654321-CR789102-oracle110) 8.6.3 for rh-40-amd64 by jdoe
       Shareplex shared lib(s):
         libspwildcard.so.8.6.3.47
         libsporacle.so.8.6.3.47
         libsporalog.so.8.6.3.47
         libspshareplex.so.8.6.3.47
         libspspo.uname.so.8.6.3.47
         libspdb.so.8.6.3.47
         libspodb.so.8.6.3.47
         libspspo.typecheck.so.8.6.3.47
         libspcore.so.8.6.3.47
         libspext.so.8.6.3.47
         libspspo.memory.impl.so.8.6.3.47
         libspspo.memory.stub.so.8.6.3.47
         libspspo.shim.so.8.6.3.47
         libspspymdb.so.8.6.3.47

サポートされるデータベース

該当なし

サポート対象のプラットフォーム

Linux および Unix

sp-bininfo の実行

  1. 現在の SharePlex インストールの製品ディレクトリ内にある util サブディレクトリから sp-bininfo ユーティリティを実行します。

    $ cd path_to_SharePlex_proddir/util

    $ ./sp-bininfo

  2. sp-bininfo の出力に表示される各ワンオフの CR と、新しい SharePlex バージョンに付属する『リリースノート』の「解決済みの問題」セクションに記載されている CR を比較します。
  3. ワンオフの CR が「解決済みの問題」に記載されていない場合、新しいバージョンにはその機能が含まれていないため、アップグレードを続行するべきではありません。見つからない修正を入手するには、SharePlex サポートに問い合わせてください。
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating