OTSユーティリティ(ODBC Test Suite)を使用して、選択したODBCドライバを介してOpen Targetターゲットのデータベースに接続するSharePlexの機能をテストし、さまざまな列タイプにテストデータをポストします。
注意:
|
SharePlexでの使用が検討されているOpen Targetデータベース。
テストするODBCドライバをインストールします。
(Linux)以下の環境変数を設定します。
LD_LIBRARY_PATHを以下の両方の場所に設定します。
OTSは、SharePlexビルドで使用するほか、スタンドアロンバージョンとして使用することもできます。
スタンドアロンバージョンをインストールするには:
Linux: OTSパッケージのSPOodbc_test_suite-version-Beta-db_version-rh-40-amd64-m64.tpmをダウンロードします。インストール先ディレクトリの入力を求められます。
以下の手順でOTSを実行します。
OTSを実行します。Linux上のSharePlexのインストール内から 、またはスタンドアロンOTSパッケージから実行する場合は、utilサブディレクトリから実行します。
ターゲットデータベースのデータソース名(DSN)。DSNは既に存在している必要があります。その後、名前とパスワードの入力を求められます。
OTS requires connection information for the tested database. Enter data source name (DSN) or connection string: mydsn
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対応の操作は以下の通りです。
結果には、各テストでCHARとVARCHARデータ型に使用されたストレージの最大値と最小値(該当する場合)も表示されます。
データ型と操作のテストごとに、P(合格)またはF(不合格)の結果が与えられ、SharePlexが特定のデータ型で特定のDMLまたはDDL操作を実行できたかどうかが示されます。
最後の列であるPass/Failには、特定のデータ型について、テストが全体として合格/不合格のいずれであったかが一目で分かるように示されます。ある行のいずれかの操作タイプにFが与えられると、Pass/Fail列にFが表示されます。これは、そのデータ型に対するテストの総合結果が不合格であることを意味します。
OTSユーティリティは、まだQuest SharePlex認定されていないOpen Targetデータベース用の初期スクリーニングツールです。その目的は、SharePlex自体のインストールやセットアップを必要とせずに、特定のメタデータのセットで、特定のターゲットにレプリケートしたい操作のタイプが成功する可能性が高いかどうかを判断することです。例えば、テストの結果が以下の場合、SharePlex はおそらくターゲットにポストできると仮定することができます。
OTSユーティリティは最初の一歩に過ぎません。SharePlexの完全なインストールで実際のデータを使用してテストし、ソースOracleアプリケーションが生成する実際の操作を使用し、テスト環境でそれらのレプリケートされた操作を実際のターゲットテーブルにポストすることの代用にはなりません。さらに、OTSでのテストが成功したからといって、データベースがSharePlexで完全にサポートされるとは限りません。OTSの実行方法を参照してください。
SharePlexが特定のOpen Targetデータベースをサポートするかどうかを判断するには、以下を検討します。
SharePlex製品管理部門は、データベースをサポートする技術的および市場的な実現可能性を承認していますか?
質問1と2の回答がはいの場合、データベースはODBC認定です。つまり、このデータベースは、質問3に答えるためにQAラボでテストする資格があるということです。
あるデータベースのあらゆるエディション、バージョン、プラットフォームをテストするのは現実的ではありません。市場と技術的な要因に基づいて、製品管理部門はデータベースのどのバリエーションをテストするかを決定します。これらのテストに合格した場合、製品管理部門はデータベースにSharePlex認定の指定を与えることを検討できます。
SharePlexの設定のホスト名またはIPアドレスを変更するには、provisionユーティリティを使用します。
SharePlexプロセスは、データを適切にルーティングするために、ソースマシンとターゲットマシンのホスト名またはIPアドレスに依存しています。provisionユーティリティを使用すると、新しい設定を再アクティベーションすることなく、アクティブなSharePlexインスタンス内でホスト名または IP アドレスを変更できます。
注意: provisionユーティリティは、データベース内の内容を何も変更しません。SharePlex内部オブジェクトにのみ影響します。
サポート対象のすべてのプラットフォーム上のSharePlexでサポートされるすべてのデータベース
AIXマシン上でSharePlexを実行している場合は、provisionを実行する前にEXTSHMを設定します。
export EXTSHM=ON
SharePlex設定内のすべてのマシンでprovisionを実行します。各マシンは、他のすべてのマシンのIPアドレスを参照できます。
注意: provisionは、実行中にsp_copが開始されるのを防止します
オペレーティングシステムのコマンドラインで、以下の構文を使用してproductdirのSharePlex utilサブディレクトリからprovisionを実行します。
provision -f old_name[:old_ipaddress] -t new_name[:new_ipaddress] [-p port] [-n]
引数 | 入力 |
---|---|
-f old_hostname[:old_ipaddress] |
|
-t new_hostname[:new_ipaddress] |
|
-p port |
Windowsシステムの場合、provisionを実行するSharePlexインスタンスのポートを指定します。 ("-p"port provisionは、Windowsシステムでのみ実行できます。) |
-n |
実際に変更を加えることなく、provisionを実行します。provisionが行う変更に関するレポートを生成します。 重要!ベストプラクティスは、まず-nを指定してprovisionを実行して、行われる変更内容を確認してから、-nなしで実行して実際に変更を加えることです。 |
-hnew_hostID |
|
-i | -iは必須で、ホスト情報を表します。 |
例:
provision -h newid -n
provision -i
provision -f oldname -t newname -n
provisionユーティリティは、ホスト名とIPアドレスを以前の状態に復元するために使用できるundo_provisionスクリプトを作成します。SharePlex製品ディレクトリのutilディレクトリからundo_provisionスクリプトを実行します。このスクリプトには入力引数がありません。
以下のような状況になる可能性がありますが、レプリケーション環境の完全性には影響しません。
qviewユーティリティを使用すると、キュー名を表示したり、古いキューファイルを削除したりできます。ここで説明するqviewツールは、設定を非アクティベーションしません。
重要! qviewを初めて使用する場合は、必ずQuestテクニカルサポートの支援を得て使用してください。このユーティリティを適切に使用しないと、レプリケーション環境が損傷し、再同期と再アクティベーションが必要になる場合があります。
サポート対象のすべてのプラットフォーム上のSharePlexがサポートするすべてのデータベース
SharePlex管理者としてシステムにログオンし、オペレーティングシステムのコマンドラインを使用して、SharePlex製品ディレクトリのbin サブディレクトリからqviewを実行します。このユーティリティはインタラクティブなコマンドセッションです。
qviewユーティリティは以下のコマンドを提供します。
コマンド | 説明 |
---|---|
リスト | システム上のすべてのアクティブな設定のすべてのキューを一覧表示します。 |
trim | 古いサブキューファイルをクリーンアップします。 |
fullrb | 完全なロールバックメッセージを作成します。 |
otrans | Captureキュー内の指定された数のメッセージをスキャンします。 |
listコマンドを使用して、システム上のすべてのアクティブな設定のすべてのキューを一覧表示します。
qview listコマンドは、各キュー、それに書き込むレプリケーションプロセス、およびそれを読み込むレプリケーションプロセスを一覧表示します。例えば、captureキューの場合、CaptureプロセスとReadプロセスが表示されます。キューは以下のように指定します。
この例では、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のディスク領域となります。
qviewでtrimコマンドを使用すると、まだターゲットデータベースにコミットされていないデータを含むサブキューファイルを保持したまま、読み取りリリースされた古いサブキューファイルを定期的に削除することができます。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つしかない場合)、および変更されたオブジェクトID(1つしかない場合)を出力します。
otransから取得したトランザクションIDを使用して、fullrbを実行します。qviewユーティリティは、Captureキューを開き、帯域外の完全ロールバックメッセージをCaptureキューに書き込み、その後コミットを書き込みます。
以下の手順でqviewを実行します。
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
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)
Captureを開始します。
sp_ctrl> start capture
otrans number
ここで、numberはキューでスキャンするメッセージの数です。
fullrb transaction_ID
ここで、transaction_IDは、otransから返されたトランザクションIDです。
show_scnユーティリティを使用して、レプリケーション再開リカバリ手順中に以下のコマンドで指定する正しいOracle SCN値を表示します。
Oracleのソースとターゲット
show_scnユーティリティは、ソース、ターゲット、またはその両方に障害が発生した後、レプリケーション再開手順中に実行されます。レプリケーション再開とshow_scnユーティリティを使用するには、レプリケーション開始時に以下のものを用意しておく必要があります。
重要: コンテキスト内で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
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center