以下は、SharePlexおよびsp_ctrlコマンドラインインターフェイスをUnixおよびLinux上で起動するための手順です。ソースシステムとターゲットシステムでSharePlexを起動します。
UnixおよびLinuxシステム上でSharePlexを起動するには、以下を実行します。
SharePlex製品ディレクトリのbinサブディレクトリから(以下の構文のproductdir)、sp_copとsp_ctrlを実行します。
$cd /productdir/bin
$./sp_cop &
$. /sp_ctrl
SharePlexは、レプリケーションの指示を設定ファイルから取得します。このファイルには、レプリケートされるオブジェクトが定義されています。このファイルでは、以下が指定されています。
注意: このデモでは、データベースからデータベースへのレプリケーションを示します。ファイルやメッセージングコンテナへのレプリケーションは対象外です。
ソースシステムで以下の手順を実行します。デモオブジェクトがsplexというスキーマにあることを前提としています。
以下の手順で設定ファイルを作成します。
sp_ctrlを実行します。
以下のコマンドを発行して、デフォルトのテキストエディタでsample_configという名前の設定ファイルを開きます。
sp_ctrl(source)> create config sample_config
設定テンプレートの説明に従って、テキストエディタで適切なテンプレートに基づいて設定ファイルを作成します。コンポーネント(ソース指定、ターゲット指定、ルーティングマップ)の文字と文字の間にはスペースを入れず、各コンポーネントの間には少なくとも1つのスペースを入れます。
sp_ctrlで、設定ファイルが正常にアクティベーションされることを確認します。
sp_ctrl(source)>verify config sample_config
datasource:o.source_SID | ||
splex.demo_src |
splex.demo_dest |
target_system@o.target_SID |
ここで:
datasource:o.source_SID | ||
splex.demo_src |
splex.demo_dest |
target_system@r.database_name |
ここで:
ソースシステムで以下の手順を実行します。設定をアクティベーションすると、SharePlexは、指定されたソースデータに行われたトランザクションの変更をキャプチャする準備が整います。
以下の手順で設定ファイルをアクティベーションします。
設定をアクティベーションします。
sp_ctrl(source)> activate config sample_config
注意: 設定名では大文字と小文字が区別されます。
設定が正常にアクティベーションされたことを確認します。「File Name(ファイル名)」の下に「sample_config」という名前が表示され、「State(状態)」の下に「Active」と表示されます。
sp_ctrl(source)> list config
設定のアクティベーションに失敗した場合は、view config sample_configコマンドを発行してファイルを表示します。テンプレートと比較し、入力した情報がすべて正しいことを確認します。正しいデータベース識別子を指定したことを確認します。構文に余分なスペースがないか、構成要素が欠けていないか確認します。
設定ファイルはアクティブではないので、以下のコマンドで直接編集できます。
sp_ctrl(source)> edit config sample_config
変更を保存し、アクティベーションを再試行します。
注意: アクティブな設定を変更するには、まずそれを新しいファイルにコピーし、そのコピーを編集してアクティベーションする必要があります。詳細については、『SharePlexインストールおよびセットアップガイド』の「アクティブなレプリケーション設定のテーブル指定の追加または変更」を参照してください。
このセクションでは、SharePlexのレプリケーションの迅速さと正確さをデモします。また、SharePlexが正しくインストールされ、設定されているかを確認するためにも使用できます。
このテストでは、レプリケーションが正常に機能していることを確認します。
データベースのネイティブSQLインターフェイスで以下の手順を実行します。
ソース上でsplex.demo_srcをTRUNCATEして空にします。
truncate table splex.demo_src;
splex.demo_srcにレコードを挿入し、コミットします。
insert into splex.demo_src values (‘Jim’, ‘123 Main Street’, ‘123-456-7890’);
commit;
ターゲットシステムで、splex.demo_destにレコードが存在することを確認します。
select * from splex.demo_dest;
このクエリでは、レプリケートされたレコードのみが表示されるはずです。
SharePlexで大量のデータが迅速かつ正確に複製されることを検証します。
データベースのネイティブSQLインターフェイスで以下の手順を実行します。
ソース上でsplex.demo_srcをTRUNCATEして空にします。
truncate table splex.demo_src;
ターゲットシステムで、splex.demo_destにすべてのレコードが存在することを確認します。
select count (*) from splex.demo_dest;
このカウントは、Insertsスクリプトによって挿入されたレコード数と一致します。
このテストは以下の方法を示します。
ソース上でsplex.demo_srcをTRUNCATEして空にします。
truncate table splex.demo_src;
ターゲットで、SharePlexをシャットダウンして、このシステムが利用できないことをシミュレートします。
sp_ctrl(source)> shutdown
ソース上で以下のコマンドを発行し、ローカルSharePlexキューのステータスを表示します。
sp_ctrl(source)> qstatus
出力にメッセージのバックログが表示されます。
注意:
|
ターゲットでsp_ctrlを実行します。
ターゲット上で、SharePlexプロセスが開始したことを確認します。
sp_ctrl(target)> status
ターゲットで、ソースシステム上でスクリプトによって挿入されたレコードがターゲットデータベースに存在することを確認します。
select count (*) from splex.demo_dest;
このカウントは、Insertsスクリプトによって挿入されたレコード数と一致します。
SharePlexがデータキャプチャの中断後に回復する方法を示します。
ソース上でsplex.demo_srcをTRUNCATEして空にします。
truncate table splex.demo_src;
ソース上で、Captureプロセスを停止します。
sp_ctrl(source)> stop capture
ソース上でInsertスクリプトを実行し、splex.demo_srcにトランザクションを生成します。
ソース上でCaptureプロセスを開始します。
sp_ctrl(source)> start capture
ソース上で、Captureが実行され、データが処理されたことを確認します。Captureの状態とキャプチャされた操作を確認します。
sp_ctrl(source)> status
ターゲットで、ネイティブSQLインターフェイスを使用して、ソース上でスクリプトによって挿入されたすべてのレコードがターゲットデータベースに存在することを確認します。
select count (*) from splex.demo_dest;
SharePlexcompareコマンドでソースとターゲットのデータをcompareし、同期していない行をrepairする方法を示します。
ソース上でsplex.demo_srcをTRUNCATEして空にします。
truncate table splex.demo_src;
ターゲット上で、すべてのデータがsplex.demo_destにポストされたことを確認します。まだデータがキューに残っていることがコマンドによって示される場合は、再度コマンドを発行します。
sp_ctrl(target)>qstatus
ソースで、sp_ctrlでcompareコマンドを実行します。
sp_ctrl (source)>compare splex.demo_src
注意: このコマンドは、設定ファイルから正しいターゲットテーブルを決定します。
ソース上でcompare結果を確認します。同期していない行は含まれていないはずです。
sp_ctrl(source)>compare status
ターゲット上でsplex.demo_destをUPDATEして、2行以上のNAME列の値を変更します。UPDATEにより、ソーステーブルとターゲットテーブルの同期が取れていない状態になります。
ソースで、もう一度compareコマンドを発行します。splex.demo_destで更新した行が同期されていない状態であることが示されます。
sp_ctrl(source)>compare splex.demo_src
ソース上でrepairコマンドを発行し、同期がとれていない行をrepairします。
sp_ctrl(source)> repair splex.demo_src
ソース上でrepairが行われたことを確認します。
sp_ctrl(source)>repair status
ターゲット上で、SELECT文を使用して両方のテーブルのすべての行を表示することにより、repairが正確であったことを手動で確認することができます。
select * from splex.demo_src;
select * from splex.demo_dest;
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center