注意: 先に進む前に、SharePlexのデモオブジェクトがインストールされていることを確認します。「デモのための事前の作業ページを参照してください。
このデモでは、レプリケーション設定を作成してアクティベーションし、ソーステーブルにデータを読み込んで、データがターゲットテーブルに正常にレプリケートされたことを確認します。また、同期がとれていないテーブルの修復も行います。
注意: このデモでは、デモオブジェクトがdemoというスキーマにあることを前提としています。異なる場合は、実際のスキーマで置き換えてください。
ソースシステムで以下の手順を実行します。
sp_ctrlを実行します。
以下のコマンドを発行し、od_department、od_salary、od_timesheet、od_employeeの各テーブルをターゲットシステム上の同名のテーブルに複製するod_configという名前の設定ファイルを作成します。
sp_ctrl(source)>create config od_config
テキストエディタで、以下のテンプレートに基づいて設定ファイルを作成します。コンポーネント(ソース指定、ターゲット指定、ルーティングマップ)の文字と文字の間にはスペースを入れず、各コンポーネントの間には少なくとも1つのスペースを入れます。
# od_config configuration file | ||
datasource:o.source_SID | ||
demo.od_department |
demo.od_department |
target_system@o.target_SID |
demo.od_salary | demo.od_salary |
target_system@o.target_SID |
demo.od_timesheet | demo.od_timesheet | target_system@o.target_SID |
demo.od_employee | demo.od_employee | target_system@o.target_SID |
ここで:
sp_ctrlで、設定ファイルが正常にアクティベーションされることを確認します。
sp_ctrl(source)>verify config sample_config
ソースシステムで以下の手順を実行します。設定をアクティベーションすると、SharePlexは、指定されたソースデータに行われたトランザクションの変更をキャプチャする準備が整います。
設定をアクティベーションするには、以下の手順を実行します。
設定をアクティベーションします。
sp_ctrl(source)>activate config od_config
注意: 設定名では大文字と小文字が区別されます。
設定が正常にアクティベーションされたことを確認します。「File Name(ファイル名)」の下に「configod_config」という名前が表示され、「State(状態)」の下に「Active」と表示されます。
sp_ctrl(source)>list config
注意: 以前に同じデータベースを使用して基本的なSharePlexデモを実行している場合、そのデモで使用した設定ファイルはこのアクティベーションによって無効になります。
ソースで、デモスキーマのオーナーとしてログインし、od_add_empsプロシージャを実行して、od_employeeテーブルとod_salaryテーブルにデータを入力します。
このプロシージャには、部門ごとに挿入する従業員数を指定するINパラメーターが1つあります。
SQL>execod_add_emps(100);
このセクションでは、ソーステーブルとターゲットテーブルを比較し、データが同期されていることを確認します。
ソースシステムで、sp_ctrlを実行します。
ソースで、od_employeeテーブルとod_salaryテーブルをターゲットとcompareします。
sp_ctrl(source)> compare demo.od_employee
sp_ctrl(source)> compare demo.od_salary
注意: このコマンドは、設定ファイルから正しいターゲットテーブルを決定します。
ソースで、compare結果を表示します。
sp_ctrl(source)> compare status
両方のcompareプロセスが完了するまで、このコマンドを発行し続けます。コマンドの出力に、同期していない行が表示されてはなりません。
このセクションでは、同期がとれていない状態をrepairし、データの同期を復元します。
同期がとれていない状態をrepairするには、以下の手順を実行します。
ターゲット上でSQL*Plusを実行し、od_employeeからいくつかの行を削除します。これにより、そのテーブルはソーステーブルと同期していない状態になります。
ソース上で、od_employeeテーブルをcompareします。
sp_ctrl(source)> compare demo.od_employee
ソースで、compare結果を表示します。
sp_ctrl(source)>compare status
コマンドの出力に、同期していない行が表示され、その数はターゲットのod_employeeから削除した行の数と同じになります。
ソース上で、od_employeeテーブルをrepairします。
sp_ctrl(source)>repair demo.od_employee
ソース上で、repairの結果を確認します。
sp_ctrl(source)>repair status
コマンドの出力に、同期していない行は表示されません。なぜなら、削除された行がrepairコマンドによって挿入されているからです。
注意: 先に進む前に、SharePlexのデモオブジェクトがインストールされていることを確認します。「デモのための事前の作業ページを参照してください。
このデモでは、
パーティションスキームと、そのパーティションスキーム用の1つ以上の行パーティションを定義します。
行パーティションは、ターゲットテーブルにレプリケートするソーステーブルの行のサブセットとして定義されます。
パーティションスキームは、行パーティションの論理コンテナです
注意: このデモでは、デモオブジェクトがdemoというスキーマにあることを前提としています。異なる場合は、実際のスキーマで置き換えてください。
以下の手順でテーブルを準備します。
前のデモを実行した場合は、以下を実行します。
ソースおよびターゲット上でsp_ctrlを実行し、以下のコマンドを実行してsp_copを停止します。
sp_ctrl (source) shutdown
sp_ctrl (target) shutdown
ソースとターゲットで、od_employeeテーブルとod_salaryテーブルをTRUNCATEします。
SQL> truncate table demo.od_employee;
SQL> truncate table demo.od_salary;
行パーティションを設定するには、以下の手順を実行します。
ソース側で、od_employeeテーブルからレプリケートする行を指定する行パーティションを作成します。この例では、従業員の部門が「1」である行のみです。
注意: パーティションは行のみを指定します。ソーステーブルとターゲットテーブルの名前は、設定ファイルで指定します。
sp_ctrl> add partition to scheme1 set condition = 'EMP_DEPT_NO=1' and route = target_sys@o.ora_SID
ここで:
ソースシステムで以下の手順を実行します。
sp_ctrlでod_config設定ファイルを開いて編集します。
sp_ctrl(source)>edit config od_config
テキストエディタで設定ファイルを編集し、作成したパーティションスキームを使用するようにod_employeeテーブルのエントリを変更します。
# od_config configuration file | ||
datasource:o.source_SID | ||
demo.od_department |
demo.od_department |
target_system@o.target_SID |
demo.od_salary | demo.od_salary |
target_system@o.target_SID |
demo.od_timesheet | demo.od_timesheet | target_system@o.target_SID |
demo.od_employee | demo.od_employee | !scheme1 |
ここで:
設定をアクティベーションするには、以下の手順を実行します。
ソースシステムで以下の手順を実行します。設定をアクティベーションすると、SharePlexは、指定されたソースデータに行われたトランザクションの変更をキャプチャする準備が整います。
設定をアクティベーションします。
sp_ctrl(source)>activate config od_config
注意: 設定名では大文字と小文字が区別されます。
設定が正常にアクティベーションされたことを確認します。「File Name(ファイル名)」の下に「configod_config」という名前が表示され、「State(状態)」の下に「Active」と表示されます。
sp_ctrl(source)>list config
以下の手順でデータを複製します。
ソースで、デモスキーマのオーナーとしてログインし、od_add_empsプロシージャを実行して、od_employeeテーブルとod_salaryテーブルにデータを入力します。このプロシージャには、部門ごとに挿入する従業員数を指定するINパラメーターが1つあります。
SQL>exec od_add_emps(100);
ソース側で、ソースのod_employeeテーブルからすべての行を選択します。
SQL> select * from od_employee;
EMP_DEPT_NO列の値は、行全体で「1」から「5」の範囲でなければなりません。
ターゲット側で、ターゲットのod_employeeテーブルからすべての行を選択します。
SQL> select * from od_employee;
EMP_DEPT_NO列の値は、すべての行で「1」である必要があります。この列の値が「1」以外の行は複製されていません。
注意: 先に進む前に、SharePlexのデモオブジェクトがインストールされていることを確認します。「デモのための事前の作業ページを参照してください。
このデモでは、以下を行います
設定ファイルで列パーティションを指定します。列パーティションは、指定された列に加えられたデータ変更のみをレプリケートします。
注意: このデモでは、デモオブジェクトがdemoというスキーマにあることを前提としています。異なる場合は、実際のスキーマで置き換えてください。
以下の手順でテーブルを準備します。
前のデモを実行した場合は、以下を実行します。
ソースおよびターゲット上でsp_ctrlを実行し、以下のコマンドを実行してsp_copを停止します。
sp_ctrl (source) shutdown
sp_ctrl (target) shutdown
ソースとターゲットで、od_employeeテーブルとod_salaryテーブルをTRUNCATEします。
SQL> truncate table demo.od_employee;
SQL> truncate table demo.od_salary;
ソースシステムで以下の手順を実行します。
sp_ctrlで、od_config設定を非アクティベーションします。
sp_ctrl(source)>deactivate config od_config
設定が正常に非アクティベーションされたことを確認します。「File Name(ファイル名)」の下に「od_config」という名前が表示され、「State(状態)」列の下に非アクティブであると表示されます。
sp_ctrl(source)>list config
sp_ctrlでod_config設定ファイルを開いて編集します。
sp_ctrl(source)>edit config od_config
テキストエディタで設定ファイルを編集し、列パーティションを使うようにod_employeeテーブルのエントリを変更します。
# od_config設定ファイル datasource:o.source_SID | ||
demo.od_department |
demo.od_department |
target_system@o.target_SID |
demo.od_salary !(SAL_VALUE) |
demo.od_salary |
target_system@o.target_SID |
demo.od_timesheet |
demo.od_timesheet |
target_system@o.target_SID |
demo.od_employee (EMP_NO, EMP_FIRST_NAME, EMP_LAST_NAME |
demo.od_employee |
target_system@o.target_SID |
ここで:
(EMP_NO, EMP_FIRST_NAME, EMP_LAST_NAME)は列パーティションの構文です。リストされた列のみが複製されます。
注意:
|
設定をアクティベーションするには、以下の手順を実行します。
ソースシステムで以下の手順を実行します。設定をアクティベーションすると、SharePlexは、指定されたソースデータに行われたトランザクションの変更をキャプチャする準備が整います。
設定をアクティベーションします。
sp_ctrl(source)>activate config od_config
注意: 設定名では大文字と小文字が区別されます。
設定が正常にアクティベーションされたことを確認します。「File Name(ファイル名)」の下に「configod_config」という名前が表示され、「State(状態)」の下に「Active」と表示されます。
sp_ctrl(source)>list config
以下の手順でデータを複製します。
ソースで、デモスキーマのオーナーとしてログインし、od_add_empsプロシージャを実行して、od_employeeテーブルとod_salaryテーブルにデータを入力します。このプロシージャには、部門ごとに挿入する従業員数を指定するINパラメーターが1つあります。
SQL>exec od_add_emps(100);
ソース側で、ソースのod_employeeテーブルからすべての行を選択します。
SQL> select * from od_employee;
テーブルのすべての列に値が入力されています。
ターゲット側で、ターゲットのod_employeeテーブルからすべての行を選択します。
SQL> select * from od_employee;
EMP_NO列、EMP_FIRST_NAME列、EMP_LAST_NAME列には値のみが存在すべきです。他の列はNULL値を含むべきです。
ターゲットで、ターゲットのod_salaryテーブルからすべての行を選択します。
SQL> select * from od_salary;
SALE_EMP_NO列とSAL_CHANGED列のみに値が存在します。SAL_VALUE列にはNULLのみが含まれています。
注意: 先に進む前に、SharePlexのデモオブジェクトがインストールされていることを確認します。「デモのための事前の作業ページを参照してください。
このデモでは、提供されたトランスフォーメーションプロシージャを使用して、SharePlexで2つの別々のソーステーブルからデータを複製し、1つのターゲットテーブルに適用します。
注意: このデモでは、デモオブジェクトがdemoというスキーマにあることを前提としています。異なる場合は、実際のスキーマで置き換えてください。
以下の手順でオブジェクトを準備します。
前のデモを実行した場合は、以下を実行します。
ソースおよびターゲット上でsp_ctrlを実行し、以下のコマンドを実行してsp_copを停止します。
sp_ctrl (source) shutdown
sp_ctrl (target) shutdown
ソースとターゲットで、od_employeeテーブルとod_salaryテーブルをTRUNCATEします。
SQL> truncate table demo.od_employee;
SQL> truncate table demo.od_salary;
ターゲットで、デモオブジェクトを所有するユーザに、SharePlexの初回インストール時にSharePlexスキーマにインストールされたsp_crパッケージを実行するシステム特権を付与します。
SQL> grant execute on sp_cr to user_name
ターゲットで、SharePlexデモオブジェクトを所有するユーザとしてSQL*Plusにログインし、SharePlex製品ディレクトリのutilサブディレクトリからtransform.sqlスクリプトを実行します。これにより、od_transform_employee_insertとod_transform_employee_updateという名前のトランスフォーメーションルーチンがインストールされます。以下を入力するようプロンプトが表示されます。
以下の手順でSharePlexを設定します。
ターゲットでtransformation.SIDファイル(ここで、SIDはターゲットデータベースのORACLE_SID)をテキストエディタで使用します。このファイルの保存場所は、SharePlex変数データディレクトリのdataサブディレクトリです。
注意: Postはこのファイルをチェックし、操作をデータベースにポストする代わりに呼び出さなければならないトランスフォーメーションプロシージャがあるかどうかを判断します。
以下のエントリをtransformation.SIDファイルに作成します。
各列を少なくとも数個のスペースかタブ文字で区切ります。
demo.od_employee |
I |
demo.od_transform_employee_insert |
demo.od_employee |
U |
demo.od_transform_employee_update |
demo.od_salary |
I |
demo.od_transform_employee_insert |
demo.od_salary |
U |
demo.od_transform_employee_update |
注意: 各エントリの構成要素は以下の通りです。これらはこの順序で表示される必要があります。
|
ターゲットで、以下のパラメーターを有効にします。
sp_ctrl(target)> set param SP_OPO_XFORM_EXCLUDE_ROWID 1
ソースで、od_salaryテーブルとod_employeeテーブルを複製するod.transformという名前の設定ファイルを作成します。
sp_ctrl(source)> create config od_transform
テキストエディタで、以下のテンプレートに基づいて設定ファイルを作成します。
datasource:o.source_SID |
|
|
demo.od_salary |
demo.od_salary |
target_system@o.target_SID |
demo.od_employee |
demo.od_employee |
target_system@o.target_SID |
以下の手順を実行して、レプリケーションをアクティベーションして開始します。
ソースで、設定をアクティベーションします。
設定が正常にアクティベーションされたことを確認します。「File Name(ファイル名)」の下に「od_transform」という名前が表示され、「State(状態)」の下に「Active」と表示されます。
sp_ctrl(source)>list config
ソースで、デモスキーマのオーナーとしてログインし、od_add_empsプロシージャを実行して、od_employeeテーブルとod_salaryテーブルにデータを入力します。INパラメーター10を使用して、od_sales_emp_dataテーブルに50人の新規従業員を作成します。
SQL> exec od_add_emps(10);
変換されたデータを表示するには、以下の手順を実行します。
SQL*Plusでod_sales_emp_dataから全ての行を選択します。
変換されたデータを表示します。以下の結果が表示されます。
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center