3.4 データの反映

HiRDB Dataextractorのデータの反映とは,抽出側システムから送信されたデータを受信して,反映側のHiRDBのDBへ反映するまでをいいます。

ここでは,HiRDBのDBからデータを抽出して,HiRDBのDBヘデータを反映する場合について説明します。XDM/RDのDBまたは順編成データセットからデータを抽出してHiRDBのDBヘデータを反映する場合については,マニュアル「データベース抽出プログラム XDM/XT」を参照してください。

<この節の構成>
(1) データの格納方法の指定
(2) データの反映方法の指定
(3) データ型の変換
(4) 文字コードの変換
(5) 出力ファイルの作成
(6) データ反映時の注意事項

(1) データの格納方法の指定

HiRDBの表に格納する方法には,次の2種類があります。

(a) 表単位の格納

HiRDBの表へ,表単位に格納する方法です。

xtrepコマンドで-jオプションを指定していない場合に,表単位の格納になります。

格納対象のHiRDBの表が横分割されている場合には,RDエリア単位の格納の方が,複数のRDエリアに対する格納処理を並列に実行できるため,格納時間を短縮できます。

(b) RDエリア単位の格納

HiRDBの表へ,RDエリア単位に格納する方法です。

xtrepコマンドで-jオプションに格納対象のRDエリア名を指定した場合に,RDエリア単位の格納になります。HiRDBの表が横分割表の場合には,RDエリア単位の格納では,RDエリアごとにHiRDB Dataextractorを起動することによって格納処理を並列に実行できるため,表単位の格納に比較して格納時間を短縮できます。

RDエリア単位の格納は,次に示す横分割方法に対して有効となります。

 

RDエリア単位の格納の概要を,次の図に示します。

図3-11 RDエリア単位の格納の概要

[図データ]

RDエリア単位の格納での運用方法を,次の表に示します。

表3-14 RDエリア単位の格納での運用方法

横分割方法HiRDBのpdloadの処理抽出時の運用方法格納時の運用方法
キーレンジ分割入力されたデータが,指定されたRDエリアの格納範囲のデータかどうかをチェックしてから格納します。格納範囲外のデータの場合は,エラーデータファイルの指定(xtrepコマンド-qオプション)があるときには,その行データをエラーデータファイルに出力します。抽出時に抽出条件を指定して,格納するRDエリアの格納条件に合ったデータを抽出します。サーバ内の横分割表の場合,非分割キーインデクスはデータの格納後にHiRDBの再編成ユティリティで作成することが必要です。「注意事項」を参照してください。
エラーデータファイルはpdloadの入力ファイルとして利用できます。エラーデータファイルに格納範囲外のデータが出力された場合は,出力されているデータを確認して,必要であればpdloadを使用して表に格納します。
注意事項
  • サーバ内の横分割表の場合の非分割キーインデクスの作成
    サーバ内の横分割表の場合,RDエリア単位の格納では,xtrepコマンドの-iオプションでc(インデクスの一括作成)を指定しても,非分割キーインデクスについてはインデクス情報出力モードが仮定されます。この場合,データの格納後にHiRDBのデータベース再編成ユティリティ(pdrorg)を使用して,非分割キーインデクスを一括作成することが必要です(pdrorgの-kオプションにikmkを指定します)。
    HiRDBのデータベース再編成ユティリティについては,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
    なお,サーバ間の横分割表の場合は,xtrepコマンドの-iオプションでの指定に従ってインデクスが作成されます。

(2) データの反映方法の指定

HiRDB Dataextractorは,データの反映時にHiRDBのデータベース作成ユティリティpdload)を使用します。

xtrepコマンドでのオプションの指定によって,次の反映方法が指定できます。

(3) データ型の変換

データを反映する場合に,抽出側の表の列のデータ型と,反映側の表の列のデータ型とが異なるとき,変換できるデータ型ならばHiRDBの列のデータ型に変換して反映します。変換できるデータ型については,「3.1.3 抽出したデータのデータ型変換」,「3.2.3 抽出したデータのデータ型変換」または「3.3.3 抽出したデータのデータ型変換」を参照してください。

(4) 文字コードの変換

ORACLEとHiRDB間,SQL ServerとHiRDB間,またはHiRDB間でのデータ連携の場合,環境変数の指定に従い,文字コードを変換してデータを反映します。変換できる文字コードについては,「3.1.4 抽出したデータの文字コード変換」を参照してください。また,この機能の使用方法については,「4.2.3 データ抽出・反映の付加機能」,「5.1.3 データ抽出・反映の付加機能」または「6.1.3 データ抽出・反映の付加機能」を参照してください。

(5) 出力ファイルの作成

xtrepコマンドでのオプションの指定によって,pdloadを起動する前に抽出したデータをファイルに出力できます。このファイルを出力ファイルと呼びます。作成する出力ファイルの形式は,バイナリ形式です。バイナリ形式の詳細については,「表4-15 列データの記述形式(バイナリ形式)」を参照してください。

出力ファイルへの出力は,-oオプションまたは-Oオプションで指定します。表への格納後の出力ファイルの処理方法によって,-oオプションまたは-Oオプションのどちらかを指定します。出力ファイルの処理方法には,次の2種類があります。

抽出した列にBLOB列がある場合は,出力ファイルとは別にLOB入力ファイルが作成されます。LOB入力ファイルはLOBデータ単位に作成されます。LOB入力ファイルを格納するためのディレクトリは,-bオプションで指定できます。反映処理終了後のLOB入力ファイルの処理方式も,-oオプションまたは-Oオプションで決定します。なお,環境変数XTLOBKINDの指定によって,LOB入力ファイルを作成しないで,BLOB列のデータをBLOB列以外のデータと同一の出力ファイルに格納することもできます。

出力ファイルおよびLOB入力ファイルの作成時に,すでに作成対象のファイルがある場合に上書きしてもよいかどうかを-yオプションで指定します。作成対象のファイルがすでに存在する場合,-yオプション指定時はすでにあるファイルを削除してからデータをファイルに出力します。-yオプション省略時はメッセージを出力して処理を終了します。

出力ファイルおよびLOB入力ファイルは,反映側HiRDBの次のサーバのホストに作成されます。

(6) データ反映時の注意事項