Chat now with support
Chat with Support

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

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

ots

説明

OTSユーティリティODBC Test Suiteを使用して、選択したODBCドライバを介してOpen Targetターゲットのデータベースに接続するSharePlexの機能をテストし、さまざまな列タイプにテストデータをポストします。

注意:
  • OTSユーティリティは、汎用のODBC接続とデータ型の処理方法を使用し、まだSharePlex認定されていないODBCデータベースの予備テストを行いますデータベースがSharePlex を参照してくださいOTSユーティリティは、認定済みのデータベースには使用する必要がありません。認定済みデータベースのリストについては、SharePlexリリースノートを参照してください。
  • このユーティリティは、ODBCデータストアがSharePlexターゲットとして適切であることを決定的に証明するものではありません。認証プロセスの一環として、提案された本番環境の複製において実際のデータを使用した包括的なテストを必ず実施する必要があります。

サポート対象データベース

SharePlexでの使用が検討されているOpen Targetデータベース。

要件

  1. テストするODBCドライバをインストールします。

  2. Linux以下の環境変数を設定します。

    • LD_LIBRARY_PATHを以下の両方の場所に設定します。

      • ODBCライブラリが含まれているSharePlex libディレクトリ。
      • ODBCドライバの場所。
    • データベースのデータソース名DSNを設定した場合は、ODBCINIとODBCSYSINIを、OTSがインストールされているディレクトリを指すように設定します。DSNが存在せず、接続文字列を使用して接続する場合は、これらの変数を設定する必要はありませんOTSの実行方法を参照してください
  3. OTSは、INSERT、UPDATE、およびDELETE操作をテストするためのテーブルを作成します。このテーブルは、データベースに接続したユーザによって作成され、所有されますOTSの実行方法 を参照してください。このユーザは、このテーブルを作成し所有するのに十分な権限を持っている必要があります。

スタンドアロンOTSのインストール方法

OTSは、SharePlexビルドで使用するほか、スタンドアロンバージョンとして使用することもできます。

スタンドアロンバージョンをインストールするには:

Linux: OTSパッケージのSPOodbc_test_suite-version-Beta-db_version-rh-40-amd64-m64.tpmをダウンロードします。インストール先ディレクトリの入力を求められます。

OTSの実行方法

以下の手順でOTSを実行します。

  1. OTSを実行します。Linux上のSharePlexのインストール内から 、またはスタンドアロンOTSパッケージから実行する場合は、utilサブディレクトリから実行します。

  2. 以下のいずれかを入力します。
    • ターゲットデータベースのデータソース名DSN。DSNは既に存在している必要があります。その後、名前とパスワードの入力を求められます。

    • 接続文字列。この文字列には、ターゲットデータベースへの接続を確立するための正しいパラメーターがすべて含まれている必要があります。
    OTS requires connection information for the tested database.
    Enter data source name (DSN) or connection string: mydsn
    

仕組み

OTSユーティリティは以下のテストを実行します。

  1. ユーティリティの実行者が提供する名前とパスワード、または接続文字列を使用して、Open Targetターゲットに接続します。
  2. サポートされている操作とデータ型のリストを、許容されるストレージ値と列がNULL可能かどうかを含めて、ターゲットデータベースにクエリします。
  3. 各データ型について、SharePlexがサポートするDMLおよびDDL操作の完全なセットを発行します。
  4. 画面上で結果を要約しますOTSの結果を解釈する方法を参照してください
  5. デバッグおよびサポートケースをサポートするために、レポート、ダンプファイル、ログを作成します。

    注意: レポートファイルは、OTSがデータベースに接続できる場合にのみ生成されます。接続に失敗した場合、ファイルは空になります。

OTSの結果を解釈する方法

OTS画面の概要には以下の情報が表示されます。

  • 使用した接続情報の概要
  • テストしたデータ型の概要リスト
  • テストの詳細

詳細結果は、例に示すように、文字データ型や整数データ型など、データ型のカテゴリごとに1つずつ表にまとめられます。

図1: 文字データ型の詳細な表の例

Test: Character data types
--------------------------------------------------------------------------------
Name     Size Nullable Insert Insert Update Delete Add Drop Trunc Pass/Fail
                       Null                        Col Col
--------------------------------------------------------------------------------
char     4096 Y        P      P      P      P      P   P    P     P
nchar    4096 Y        P      P      P      P      P   P    P     P
varchar  4096 Y        P      P      P      P      P   P    P     P
sysname    30 Y        P      P      P      P      P   P    P     P
nvarchar 4096 Y        P      P      P      P      P   P    P     P

各テーブルの最初の3列Name、Size、Nullableは、ODBCドライバへのクエリから取得したものです。データ型がNULLを含むことを許可されている場合、Nullable列にYはいが表示されます。そうでない場合は、Nいいえが表示されます。

クエリ結果の列の後に、実行したテストを表す列が続きます。テストしたデータ型ごとに1行ずつ表示されます。

OTSがテストするSharePlex対応の操作は以下の通りです。

  • NULL値を使用したINSERT
  • INSERT
  • UPDATE
  • DELETE
  • ALTER TABLEのADD COLUMN
  • ALTER TABLEのDROP COLUMN
  • TRUNCATE TABLE

結果には、各テストでCHARとVARCHARデータ型に使用されたストレージの最大値と最小値該当する場合も表示されます。

  • 最大値しかないデータ型VARCHARおよびCHARの場合、OTSは最大サイズより大きいデータ長を挿入して、ODBCデータベースドライバがエラーを返すか、エラーなしで自動的にデータを切り捨てるかを確認します。
  • 最小値と最大値の両方を持つデータ型数値データ型の場合、両方の値について一連の操作テストを実行します。最小値より小さい数値と最大値より大きい数値がテストされ、ODBCデータベースドライバがオーバーフローエラーを返すか、自動的に丸めて、値を切り捨てるかどうかを確認します。

データ型と操作のテストごとに、P合格またはF不合格の結果が与えられ、SharePlexが特定のデータ型で特定のDMLまたはDDL操作を実行できたかどうかが示されます。

最後の列であるPass/Failには、特定のデータ型について、テストが全体として合格/不合格のいずれであったかが一目で分かるように示されます。ある行のいずれかの操作タイプにFが与えられると、Pass/Fail列にFが表示されます。これは、そのデータ型に対するテストの総合結果が不合格であることを意味します。

結果の利用方法

OTSユーティリティは、まだQuest SharePlex認定されていないOpen Targetデータベース用の初期スクリーニングツールです。その目的は、SharePlex自体のインストールやセットアップを必要とせずに、特定のメタデータのセットで、特定のターゲットにレプリケートしたい操作のタイプが成功する可能性が高いかどうかを判断することです。例えば、テストの結果が以下の場合、SharePlex はおそらくターゲットにポストできると仮定することができます。

  • DMLテストは1つを除いてすべて合格したが、不合格だったデータ型がユーザのデータでは定義されていない。
  • DDLはすべて不合格だったが、DDLはレプリケートする必要がない。

OTSユーティリティは最初の一歩に過ぎません。SharePlexの完全なインストールで実際のデータを使用してテストし、ソースOracleアプリケーションが生成する実際の操作を使用し、テスト環境でそれらのレプリケートされた操作を実際のターゲットテーブルにポストすることの代用にはなりません。さらに、OTSでのテストが成功したからといって、データベースがSharePlexで完全にサポートされるとは限りません。OTSの実行方法を参照してください。

データベースがSharePlex
にサポートされるかどうかを判断する方法

SharePlexが特定のOpen Targetデータベースをサポートするかどうかを判断するには、以下を検討します。

  1. OTSを通じて、SharePlexはデータベースの指定されたODBCドライバを介してトランザクションの完全なセットを実行できますか?
  2. SharePlex製品管理部門は、データベースをサポートする技術的および市場的な実現可能性を承認していますか?

  3. SharePlex QAラボは、SharePlexがデータベースをサポートできることをテストで検証しましたか?

質問1と2の回答がはいの場合、データベースはODBC認定です。つまり、このデータベースは、質問3に答えるためにQAラボでテストする資格があるということです。

あるデータベースのあらゆるエディション、バージョン、プラットフォームをテストするのは現実的ではありません。市場と技術的な要因に基づいて、製品管理部門はデータベースのどのバリエーションをテストするかを決定します。これらのテストに合格した場合、製品管理部門はデータベースにSharePlex認定の指定を与えることを検討できます。

provision

説明

SharePlexの設定のホスト名またはIPアドレスを変更するには、provisionユーティリティを使用します。

SharePlexプロセスは、データを適切にルーティングするために、ソースマシンとターゲットマシンのホスト名またはIPアドレスに依存しています。provisionユーティリティを使用すると、新しい設定を再アクティベーションすることなく、アクティブなSharePlexインスタンス内でホスト名または IP アドレスを変更できます。

注意: provisionユーティリティは、データベース内の内容を何も変更しません。SharePlex内部オブジェクトにのみ影響します。

サポート対象データベース

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

provision使用のガイドライン

  • AIXマシン上でSharePlexを実行している場合は、provisionを実行する前にEXTSHMを設定します。

    export EXTSHM=ON

  • SharePlex設定内のすべてのマシンでprovisionを実行します。各マシンは、他のすべてのマシンのIPアドレスを参照できます。

provisionの実行

  1. sp_copを停止します。sp_copが実行中の場合、provisionは失敗します。

注意: provisionは、実行中にsp_copが開始されるのを防止します

  1. オペレーティングシステムのコマンドラインで、以下の構文を使用してproductdirのSharePlex utilサブディレクトリからprovisionを実行します。

    provision -f old_name[:old_ipaddress] -t new_name[:new_ipaddress] [-p port] [-n]

    provision -h <new hostid> [-p <port>] -n
    provision -i [-p <port>]
    引数 入力
    -f old_hostname[:old_ipaddress]
    • -fは必須で、「from」を表します。
    • old_hostnameは古い現在のホスト名。
    • old_IPaddressは古いIPアドレスです。ネットワークからIPアドレスを取得できない場合に使用します。
    -t new_hostname[:new_ipaddress]
    • -tは必須で、「to」を表します。
    • new_hostnameは新しいホスト名。
    • new_IPaddressは新しいIPアドレスです。ネットワークからIPアドレスを取得できない場合に使用します。
    -p port

    Windowsシステムの場合、provisionを実行するSharePlexインスタンスのポートを指定します。

    "-p"port provisionは、Windowsシステムでのみ実行できます。

    -n

    実際に変更を加えることなく、provisionを実行します。provisionが行う変更に関するレポートを生成します。

    重要!ベストプラクティスは、まず-nを指定してprovisionを実行して、行われる変更内容を確認してから、-nなしで実行して実際に変更を加えることです。

    -hnew_hostID
    • -hは必須で、ホストIDの変更またはホストIDの置き換えを表します。
    • new_hostidは新しいIPアドレスです。
    -i -iは必須で、ホスト情報を表します。

例:

provision -h newid -n
provision -i
provision -f oldname -t newname -n
  1. イベントログを表示して、行われたすべての変更を表示します。provisionの実行が失敗したり、行われた変更に同意できない場合は、undo_provisionスクリプトを実行することで変更を取り消すことができます。provisionによる変更を取り消す を参照してください。

provisionによる変更を取り消す

provisionユーティリティは、ホスト名とIPアドレスを以前の状態に復元するために使用できるundo_provisionスクリプトを作成します。SharePlex製品ディレクトリのutilディレクトリからundo_provisionスクリプトを実行します。このスクリプトには入力引数がありません。

既知の問題

以下のような状況になる可能性がありますが、レプリケーション環境の完全性には影響しません

  • provisionユーティリティは、アクティブな設定ファイルを変更しません。これは、provisionを実行した後、設定ファイルがレプリケーションの現在の状態を表さなくなることを意味します。compare configコマンドを実行する必要がある場合、または設定を再アクティベーションすることにした場合は、先に設定ファイルのホスト名またはIPアドレスを更新してください。
  • 名前またはアドレスが変更される前にSharePlexをマシンに接続して、ExportまたはImportエラーが発生した場合、エラーステータスが持続し、クリアすることができません。
  • 新しいマシンや変更されたマシンがソースマシンである場合、provisionは新しいルーティング情報を生成しますが、Readプロセスのキャッシュにまだ古いルーティングが残っている可能性があります。sp_copを起動すると、保存されているIPアドレスがマシンのものと一致しないという警告がReadにより生成される場合があります。このエラーは無視してかまいません。
  • ソースホストに対してprovisionを実行した後、SHAREPLEX_ACTIDテーブルの "hostname"列が新しいホスト名の詳細で更新されない場合があります。この列が正しく更新されない場合は、SHAREPLEX_ACTIDテーブルを手動で更新して新しいホスト名を指定する必要があります。これは、名前の変更がソースマシンに影響する場合にのみ必要です。

qview

説明

qviewユーティリティを使用すると、キュー名を表示したり、古いキューファイルを削除したりできます。ここで説明するqviewツールは、設定を非アクティベーションしません。

重要! qviewを初めて使用する場合は、必ずQuestテクニカルサポートの支援を得て使用してください。このユーティリティを適切に使用しないと、レプリケーション環境が損傷し、再同期と再アクティベーションが必要になる場合があります。

サポート対象データベース

サポート対象のすべてのプラットフォーム上のSharePlexがサポートするすべてのデータベース

qviewの実行

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

qviewコマンドの概要

qviewユーティリティは以下のコマンドを提供します。

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

キューの一覧表示

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

説明

qview listコマンドは、各キュー、それに書き込むレプリケーションプロセス、およびそれを読み込むレプリケーションプロセスを一覧表示します。例えば、captureキューの場合、CaptureプロセスとReadプロセスが表示されます。キューは以下のように指定します。

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

この例では、captureキューo.ora11+Cへのライターは、名前文字列のsp_ocapによって示されているように、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

構文

リスト

古いサブキューの削除

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

説明

SharePlexpostキューは、実際には複数のサブキューから構成されており、それぞれがソースシステム上のユーザセッションにほぼ対応しています。Postプロセスはサブキューを使用して、ターゲットインスタンスのセッションを確立します。ターゲットシステム上の特定の時刻に存在するサブキューの数は、レプリケーション開始以降のソースシステム上のピークアクティビティを反映しています。

SharePlexは、チェックポイント・リカバリ・システムの一環として、レプリケートされたデータをサブキューからディスク上の関連付けられたデータファイルに定期的に書き込みます。各サブキューには1つ以上のデータファイルを関連付けることができ、それぞれのデフォルトサイズは8 MBです。8 MBのサイズ全体が使用されない場合、データがポストされ、読み取り/リリースされた後も、データファイルはシステム上に残ります。その結果、ソースシステムのアクティビティレベルが高いほど、ディスク上のデータファイルが増加します。qstatusで表示されるpostキューのサイズ単位: MBは、データファイルが占める実際のディスク容量です。

例えば、ソースシステム上に100の同時セッションがあり、ターゲットシステムのpostキューに100のサブキューが作成されたとします。そして、アクティビティレベルが低下したときにデータファイルが完全に使用されなかった例えば、8 MBのうち半分の4 MBのみが使用されたため、削除されなかったとします。そのシステムのpostキューは、それぞれ4 MBの100個のデータファイルで構成され、合計400 MBのディスク領域となります。

qviewtrimコマンドを使用すると、まだターゲットデータベースにコミットされていないデータを含むサブキューファイルを保持したまま、読み取りリリースされた古いサブキューファイルを定期的に削除することができます。trimコマンドは、サブキュー0または1のキューファイルを削除しません。これらはサブキューに最もよく使用されているからです。

このコマンドの実行方法

このコマンドはターゲットシステムでのみ実行します。

qviewを実行してこのコマンドを発行する前に、ImportとPostを停止します。sp_copは実行したままにしておくことができます。

注意: これらのプロセスの一方または両方が停止していない場合、qviewは次のエラーメッセージを返します: que_INUSE: Que is already openキューが既に開いています

一度に削除できるキューは1つだけです。複数のpostキューがある場合、コマンドを適用するpostキューを1つ選択するように求められます。

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つしかない場合、および変更されたオブジェクトID1つしかない場合を出力します。

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

このコマンドの実行方法

以下の手順でqviewを実行します。

  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です。

show_scn

show_scnユーティリティ

show_scnユーティリティを使用して、レプリケーション再開リカバリ手順中に以下のコマンドで指定する正しいOracle SCN値を表示します。

  • activate config config_name scn=scn_value
  • reconcile queue queue_name for datasource-datadest scn scn_value

サポート対象データベース

Oracleのソースとターゲット

show_scnの実行

show_scnユーティリティは、ソース、ターゲット、またはその両方に障害が発生した後、レプリケーション再開手順中に実行されます。レプリケーション再開とshow_scnユーティリティを使用するには、レプリケーション開始時に以下のものを用意しておく必要があります。

  • 本番稼働環境ソースインスタンスの物理的に同一のコピーと本番稼働環境ターゲットインスタンスの物理的に同一の別のコピーを提供するディザスタリカバリDRソリューション。Oracle Data Guardやディスクミラーリング、テープバックアップなどの方法は、この要件をサポートしています。
  • SP_OPO_UPDATE_SCNパラメーターは値1に設定しなければなりません。このパラメーターは、処理するトランザクションのSCNの記録を保持するようにSharePlexに指示します。このパラメーターを1に設定すると、Post Enhanced Performance機能も無効になります。

重要: コンテキスト内でshow_scnを使用する方法の詳細については、『SharePlex管理ガイド』の「障害およびリカバリ後のレプリケーション再開」を参照してください。

show_scnを実行するには:

ターゲットシステムのコマンドラインで、SharePlexの製品ディレクトリのbinサブディレクトリからshow_scnユーティリティを実行します。データソースには、ソースデータベースのORACLE_SIDを使用します。

$ /productdir/bin/show_scn datasource

出力

このユーティリティは、以下のような出力を提供します。

$> show_scn o.ora112

On source activate to scn=510012416

For resume replication from ora112

reconcile queue sp01 for o.ora112-o.ora112 scn 4517993781

reconcile queue sp02 for o.ora112-o.ora112 scn 4517994532

reconcile queue sp03 for o.ora112-o.ora112 scn 4517995633

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating