5.3.1 実行例の詳細
HiRDB Dataextractorの実行例について説明します。
実行例のシステム構成を次の図に示します。
- 〈この項の構成〉
(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