Hitachi

データベース抽出・反映サービス機能 HiRDB Dataextractor Version 10


5.3.1 実行例の詳細

HiRDB Dataextractorの実行例について説明します。

実行例のシステム構成を次の図に示します。

図5‒1 実行例のシステム構成(ORACLEからのデータ抽出時)

[図データ]

〈この項の構成〉

(1) 実行例の環境

(a) データの抽出側(HOST1)の環境

表の定義

表名

列名,および属性

TORA01

C01 CHAR(10),C02 NUMBER(10,8),C03 DATE

TORA02

C01 CHAR(10),C02 NUMBER(10,8),C03 NUMBER

環境変数の設定
$ORACLE_BASE /ORACLE8/ORACLE
$ORACLE_HOME /ORACLE8/ORACLE/product/8.1.6
$ORA_NLS33   /ORACLE8/ORACLE/product/8.1.6/ocommon/nls/admin/data
$NLS_LANG    Japanese_Japan.JA16SJIS
$ORACLE_SID  hds1
$ORACLE_TERM hp
$XTORAUSER   "user01"/"user01"
$PATH        /opt/HIRDBXT/bin
$LANG        ja_JP.SJIS
$XTHOST      HOST2
$XTPORTNO    20052
/etc/hostsでの反映先ホストの設定
        :
        :
160.16.150.120  HOST2
160.16.150.121  HOST3
        :
        :

(b) データの反映側(HOST2)の環境

表の定義
・スキーマ名user01の表の定義
CREATE TABLE T01(C01 CHAR(10),C02 DEC(10,8),C03 DATE,C04 TIME)
CREATE TABLE T02(C01 CHAR(10),C02 DEC(10,8),C03 INT, C04 INT)
・スキーマ名user02の表の定義
CREATE FIX TABLE T03(C01 CHAR(10),C02 DEC(10,8),C03 TIME)
/etc/servicesでのポートの定義
                      :
                      :
hirdbxt1 20052/tcp    # HiRDB Dataextractor
hirdbxt2 50000/tcp    # HiRDB Dataextractor
                      :
                      :
/etc/inetd.confでのHiRDB Dataextractor起動のための定義
                      :
                      :
hirdbxt1 stream tcp nowait user01
/opt/HIRDBXT/bin/pxtcntl pxtcntl /usr/home/user01/xtenv1
hirdbxt2 stream tcp nowait user02
/opt/HIRDBXT/bin/pxtcntl pxtcntl /usr/home/user02/xtenv2
                      :
                      :
環境変数情報設定ファイルでの環境変数の設定
・サービス名hirdbxt1,ポート番号20052の環境変数情報設定ファイル

(/usr/home/user01/xtenv1)

set PDDIR=/HiRDB2
set PDCONFPATH=/HiRDB2/conf
set PDUSER="user01"/"user01"
set LANG=ja_JP.SJIS
・サービス名hirdbxt2,ポート番号50000の環境変数情報設定ファイル

(/usr/home/user02/xtenv2)

set PDDIR=/HiRDB2
set PDCONFPATH=/HiRDB2/conf
set PDUSER="user02"/"user02"
set LANG=ja_JP.SJIS

(c) ファイル作成側(HOST3)の環境

/etc/servicesでのポートの定義
                     :
                     :
hirdbxt 20052/tcp    # HiRDB Dataextractor  
                     :
                     :
/etc/inetd.confでのHiRDB Dataextractor起動のための定義
                     :
                     :
hirdbxt stream tcp nowait user01
/opt/HIRDBXT/bin/pxtcntl pxtcntl /usr/home/user01/xtenv
                     :
                     :
環境変数情報設定ファイルでの環境変数の設定
・サービス名hirdbxt,ポート番号20052の環境変数情報設定ファイル

(/usr/home/user01/xtenv)

set XTTMPDIR=/usr/home/user01/data
set LANG=ja_JP.SJIS

(2) 指定するコマンドとオプション

データの抽出側で,xtrepOコマンドを指定します。

(a) 例1

HOST1の表TORA01をHOST2の表T01に複写します。

指定するオプションは次のとおりです。

  • 反映側のHiRDB Dataextractorが使用するポート番号は20052に設定します。

  • 既存のデータは削除しないで,データを追加します。

  • 更新前ログを取得します。

  • 一括出力ページ数は10ページに設定します。

  • 経過メッセージを1万行単位で出力します。

  • 抽出対象の表に排他制御をします。

  • ナル値の既定値は変更しません。

コマンド指定例
xtrepO -r T01 -s /usr/home/user01/clm TORA01
/usr/home/user01/clmの内容
C01,C02,C03,C03

(b) 例2

HOST1の表TORA02をHOST2の表T02に複写します。

指定するオプションは次のとおりです。

  • 反映側のHiRDB Dataextractorが使用するポート番号は20052に設定します。

  • 既存のデータを削除してデータを追加します。

  • ログを取得しません。

  • 一括出力ページ数は255ページに設定します。

  • 経過メッセージを10万行単位で出力します。

  • 抽出対象の表の排他制御はしません。

  • 列C01の値が’0000010000’以下の行を抽出し,列C04には定数0を設定します。

  • 列C01のナル値既定値を’FFFFFFFFFF’にします。

コマンド指定例
xtrepO -r T02 -d -l n -n 255 -m 100 -g -s /usr/home/user01/clm
-v /usr/home/user01/null -w /usr/home/user01/whr TORA02
/usr/home/user01/clmの内容
C01,C02,C03,0
/usr/home/user01/nullの内容
1=NUM=('FFFFFFFFFF')
/usr/home/user01/whrの内容
WHERE C01<='0000010000'

(c) 例3

HOST1の表TORA01をHOST2の表T03に複写します。

指定するオプションは次のとおりです。

  • HiRDB Dataextractorが使用するポート番号は50000に設定します。

  • 既存のデータは削除します。

  • 更新前ログを取得します。

  • 一括出力ページ数は40ページに設定します。

  • 実行結果を/tmp/xtrep_logに取得します。

  • 経過メッセージを1万行単位で出力します。

  • 抽出対象の表に任意の排他制御をします。

  • ナル値の既定値は変更しません。

コマンド指定例
xtrepO -d -r T03 -n 40 -p 50000 -e /tmp/xtrep_log -g /usr/home/user01/lck TORA01
/usr/home/user01/lckの内容
IN EXCLUSIVE MODE NOWAIT

(d) 例4

HOST1の表TORA01をHOST3のファイルに出力します。

指定するオプションは次のとおりです。

  • DAT形式のファイルを作成します。

  • 出力ファイル名は,/usr/home/user01/data/TORA01にします。

  • 全列に対して,変換するデータ型は指定しません。

コマンド指定例
xtrepO -R dat -o TORA01 -h HOST3 -s /usr/home/user01/clm TORA01
/usr/home/user01/clmの内容
C01,C02,C03

(e) 例5

HOST1の表TORA01をHOST3のファイルに出力します。

指定するオプションは次のとおりです。

  • バイナリ形式のファイルを作成します。

  • 出力ファイル名は,/usr/home/user01/data/TORA01_BINにします。

  • 抽出表の列C01はMCHAR(20)属性に変換します。

  • 抽出表の列C03はTIME属性に変換します。

  • 経過メッセージを5万行単位で出力します。

  • 列C01の値が’0000010000’以下の行を抽出します。

コマンド指定例
xtrep0 -R -o TORA01_BIN -h HOST3 -m 50 -s /usr/home/user01/clm
-w /usr/home/user01/whr -L /usr/home/user01/cnv TORA01
/usr/home/user01/clmの内容
C01,C02,C03
/usr/home/user01/whrの内容
WHERE C01<='0000010000'
/usr/home/user01/cnvの内容
FORMAT FIELD_NUM 1 ATTR MCHAR(20)
       FIELD_NUM 3 ATTR TIME