ユーザーズ・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo Application Rehosting Workbench File-To-Oracleコンバータ

 


概要

目的

この章では、VSAMファイルをソースz/OS環境からターゲット環境へ移行するための、Rehosting Workbench File-to-Oracleコンバータのインストール、実装および構成方法について説明します。

スキル

ファイルを移行する場合、COBOL、JCL、z/OSユーティリティおよびUNIX/Linux Kornシェルの知識が必要です。

関連項目

移行プロセスの包括的な視点については、Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドのデータ変換およびCOBOL変換の章と、このガイドのOracle Tuxedo Application Rehosting Workbench COBOLコンバータの章を参照してください。

編成

データ・ファイルの移行は次の項で説明しています。

 


ファイルからOracleへの移行プロセス

処理するファイル編成

VSAMファイルをソース・プラットフォームからOracle UNIXターゲット・プラットフォームへ移行する時の最初の問題は、VSAMに関する場合、ファイルを保持するかまたはデータをOracle表に移行するかということです。

z/OSで処理されるVSAM RRDSESDSおよびKSDSのファイル編成は、Rehosting Workbenchを使用してOracleデータベースに移行できます。

Oracle Tuxedo Application Rehosting Workbench File-to-OracleコンバータはOracle表に変換されるこれらのファイルで使用されます。ファイル形式が保持されるファイルについては、「Oracle Tuxedo Application Rehosting Workbench File-to-Fileコンバータ」を参照してください。

移行プロセス手順

この章で詳細が説明されている、ファイルからOracleへの移行プロセスの原則的な手順は次のとおりです。

  1. 移行するファイルの全体的なリストを作成します。
  2. Oracle表に変換するファイルをリストします。
  3. これらの各ファイルについて、必要な場合は識別ルールのリストを作成します。
  4. コンポーネントの生成に使用する環境を準備します。
  5. Rehosting Workbenchを使用して、次の手順で使用するコンポーネントを生成します。
  6. ソース・プラットフォームからデータをアンロードします。
  7. データをターゲット・プラットフォームに転送します。
  8. データをトランスコードして再ロードします。
  9. 結果を確認します。
  10. アクセス・ルーチンと生成されたユーティリティをコンパイルします。
  11. Oracleデータベースを作成します。

その他のOracle Tuxedo Application Rehosting Workbenchツールとの対話

VSAMファイルのデータのOracle表への移行は、Oracle Tuxedo Application Rehosting Workbenchカタロガの結果に依存します。ファイルからOracleへの移行はCOBOLおよびJCLの変換に影響を与えるので、COBOLプログラムの変換作業の開始前に完了する必要があります。

 


プロセスの初期化

この項ではVSAMファイルのOracle表への移行の開始前に実行する手順について説明します。

移行するファイルのリスト

最初のタスクは移行するすべてのVSAMファイルをリストし(ファイルからファイルへのコンバータの使用と併せて)、次にOracle表に変換する必要のあるファイルを識別することです。たとえば、レコード・レベルでロックが必要な、後でOracleまたはファイル経由で使用される永続ファイルです。

ファイルの記述および同じ構造のファイルの管理

移行の候補となる各ファイルについて、その構造をCOBOL形式で記述する必要があります。この記述はRehosting Workbench COBOLコンバータによってCOBOLコピーで使用され、「COBOL記述」に記載されている制限の対象になります。

移行ファイル・リストが一度作成されたら、同一構造のファイルをパージすることができます。これは、データのトランスコードと再ロードに必要なプログラム数を減らして、ファイルを移行する際の作業を減らすためです。

パージされたファイルのリストから、最後のタスクは次のファイルのビルドからなります。

COBOL記述

COBOL記述は各ファイルと関連し、アプリケーション・プログラムで使用されるCOBOL記述を表すものとみなされます。この記述はOCCURSおよびREDEFINESの概念を含む、すべてのCOBOLデータ型を使用する複雑なCOBOL構造にすることができます。

多くの場合、このCOBOL記述はCOBOLファイル記述(FD)よりも発展させることができます。たとえば、FDフィールドはPIC X(364)と記述できますが、実際には定義された3倍の領域に相当し、COMP-3ベースの数値表や、いくつかの文字フィールドや数値フィールドなどの複雑な記述を含むことができます。

実際のアプリケーションを説明するのはこのような詳細なCOBOL記述です。このため、特定の物理ファイルを移行するための基盤として使用されます。

ファイル処理の実行の品質はこのCOBOL記述の品質に左右されます。この点から、COBOL記述はファイルとは分離されず、関連するファイルを参照する時は、ファイルとそれを表現するCOBOL記述の両方を意味します。記述はCOBOL形式で、次の名前のファイルで提供される必要があります。

<COPY name>.cpy
注意: ソース・プラットフォームのコピー・ブックにファイルの詳細が記述されている場合は、そのファイルをRehosting Workbenchで直接使用および宣言できます。

COBOL記述の形式

COBOL記述形式は次のルールに従う必要があります。

表5-1は、COBOL記述の形式の例を示しています。

表5-1 COBOL記述の形式の例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.
*
D
E
S
C
R
I
P
T
I
O
N
 
O
F
 
F
I
L
E
 
X
X
X
X
 
 
0
1
 
F
V
1
4
.
                                 
     
0
5
 
F
V
1
4
x
1
 
P
I
C
 
X
.
             
                                                   
                                                   

COBOL記述と関連する識別ルール

COBOL記述では、同じメモリー・フィールドを記述する方法がいくつかあり、これは異なる構造と記述でオブジェクトを同じ場所に格納することを意味します。

同じメモリー・フィールドに異なる記述のオブジェクトを含めて、ファイルを読み取ることができるので、このデータ領域を適切に解釈するために、使用する記述を決定するメカニズムが必要です。

ある条件に従い、一般的にレコードの1つまたは複数のフィールドの内容により、再定義領域の読取りに使用する記述を決定(識別)できるルールが必要です。

Rehosting Workbenchではこのルールは識別ルールと呼ばれます。

識別ルールなしでのCOBOL記述内の再定義では、ファイルのトランスコード時に重大なリスクが存在します。そのため、等価でない再定義済フィールドは識別ルールをリクエストします。他方、等価な再定義(テクニカル再定義と呼ばれる)はCOBOL記述内でクレンジングの対象となる必要があります(次の例を参照)。

識別ルールはファイルごとに用意し、相違点と識別される領域を明確に指定する必要があります。ファイルに関しては、ファイル記述の外部のフィールドを参照することはできません。

次の記述は、Rehosting Workbenchで必要なCOPYのサンプルです。

リスト5-1 COBOL COPYの例
01 FV14.
    	05	FV14-X1		PIC X.
  	05	FV14-X2 		PIC XXX.
	05 	FV14-X3.
		10 FV14-MTMGFA			PIC 9(2).
		10 FV14-NMASMG			PIC X(2).
		10 FV14-FILLER			PIC X(12).
		10 FV14-COINFA			PIC 9(6)V99.
	05 FV14-X4 REDEFINES FV14-X3.
		10 FV14-MTMGFA			PIC 9(6)V99.
		10 FV14-FILLER			PIC X(4).
		10 FV14-IRETCA			PIC X(01).
		10 FV14-FILLER			PIC X(2).
		10 FV14-ZNCERT.
			15 FV14-ZNALEA			COMP-2.
			15 FV14-NOSCP1			COMP-2.
			15 FV14-NOSEC2			COMP-2.
			15 FV14-NOCERT			PIC 9(4)	COMP-3.
			15 FV14-FILLER	PIC X(16).
	05 	FV14-X5 REDEFINES FV14-X3.
		10 FV14-FIL1		PIC X(16).
		10 FV14-MNT1		PIC S9(6)V99.
	05 	FV14-X6 REDEFINES FV14-X3.
		10 FV14-FIL3			PIC X(16).
		10 FV14-MNT3			PIC S9(6).
		10 FV14-FIL4			PIC X(2).

識別ルールは次の形式で作成されます。

リスト5-2 COBOL COPY識別ルール
Field FV14-X3
Rule if FV14-X1 = “A”						then  FV14-X3
elseif FV14-X1 = “B” 						then  FV14-X4
elseif FV14-X1 = “C” 						then  FV14-X5
else						FV14-X6
注意: COBOL記述では、フィールドFV14-X3が再定義される最初のフィールドである必要があります。それに続くフィールド、FV14-X4、FV14-X5およびFV14-X6の順序は重要ではありません。

COBOL記述のコピー名: <COPY name>.cpy

再定義の例

等価でない再定義
リスト5-3 等価でない再定義の例
01 FV15.
	05 FV15-MTMGFA 				PIC 9(2).
	05 FV15-ZNPCP3.
		10 FV15-NMASMG 			PIC X(2).
		10 FV15-FILLER 			PIC X(12).
		10 FV15-COINFA 			PIC 9(6)V99.
	05 FV15-ZNB2T REDEFINES FV1		5-ZNPCP3.
		10 FV15-MTMGFA 			PIC 9(4)V99.
		10 FV15-FILLER 			PIC X(4).
		10 FV15-IRETCA	 		PIC X(01).
		10 FV15-FILLER			 PIC X(2).
		10 FV15-ZNCERT
			15 FV15-ZNALEA			COMP-2.
			15 FV15-NOSCP1			COMP-2.
			15 FV15-NOSEC2			COMP-2.
			15 FV15-NOCERT			 PIC 9(4)		COMP-3.
			15 FV15-FILLER			 PIC X(16).

前述の例では、2つのフィールド(FV15-ZNPCP3およびFV15-ZNB2T)の構造が異なります。最初のフィールドはEBCDIC英数字、次のフィールドはEBCDICデータおよびCOMP2、COMP3データから構成されます。

識別ルールの実装は、データをUNIXプラットフォームに移行するのに必要です。

リスト5-4 関連する識別ルール
Field FV15-ZNPCP3
Rule if FV15-MTMGFA = 12					then FV15-ZNPCP3
 elseif FV15-MTMGFA = 08 and FV15-NMASMG = "KC	" then FV15-ZNB2T
テクニカル再定義と呼ばれる等価な再定義
リスト5-5 テクニカル再定義の初期状況
01 FV1.
	05 FV1-ZNPCP3.
		10 FV1-MTMGFA				PIC 9(6)V99.
		10 FV1-NMASMG				PIC X(25).
		10 FV1-FILLER				PIC X(12).
		10 FV1-COINFA				PIC 9(10).
		10 FV2-COINFA REDEFINES FV1-COINFA.
			15 FV2-ZNALEA			PIC 9(2).
			15 FV2-NOSCP1			PIC 9(4).
			15 FV2- FILLER 			PIC 9(4).
		10 FV15-MTMGFA				PIC 9(6)V99.
		10 FV15-FILLER				PIC X(4).
		10 FV15-IRETCA				PIC X(01).
		10 FV15-FILLER				PIC X(2).
リスト5-6 テクニカル再定義の潜在的に予想される結果
01 FV1.                                 01 FV1.
05 FV1-ZNPCP3.                         05 FV1-ZNPCP3.
10 FV1-MTMGFA			 PIC 9(6)V99.          10 FV1-MTMGFA	 PIC 9(6)V99.
10 FV1-NMASMG 	PIC X(25).            10 FV1-NMASMG 	PIC X(25).
10 FV1-FILLER 	PIC X(12).            10 FV1-FILLER 	PIC X(12).
10 FV1-COINFA 	PIC 9(10).            10 FV2-COINFA.
10 FV15-MTMGFA 	PIC 9(6)V99.        15 FV2-ZNALEA 	PIC 9(2).
10 FV15-FILLER 	PIC X(4).            15 FV2-NOSCP1 	PIC 9(4).
10 FV15-IRETCA	 PIC X(01).           15 FV2- FILLER 	PIC X(4).
10 FV15-FILLER	 PIC X(2).	            10 FV15-MTMGFA	 PIC 9(6)V99.
                                         10 FV15-FILLER	 PIC X(4).
                                         10 FV15-IRETCA	 PIC X(01).
                                         10 FV15-FILLER 	PIC X(2).

上記の例では、2つの記述が単純なEBCDIC英数文字列(バイナリ、パックまたは符号付数字フィールドを除く)に相当します。この種の構造は識別ルールの実装を必要としません。

 


実装のルールのリエンジニアリング

この項では、VSAMファイルからOracleデータベースへデータを移行するときに、Rehosting Workbenchにより適用されるリエンジニアリング・ルールについて説明します。

適用する移行ルール

Picture句に適用されるルール

データをVSAMファイルからOracle表へ移行するときに、次のルールがCOBOL Picture句に適用されます。

表5-2 Picture句の再設計
COBOL Picture
Oracleのフォーマット
PIC 9(length)
PIC S9(length)
PIC 9(length) COMP-3
PIC S9(length) COMP-3
NUMBER(length)
PIC 9(prec,scale)
PIC S9(prec,scale)
PIC 9(prec,scale) COMP-3
PIC S9(prec,scale) COMP-3
NUMBER(prec+scale, scale)
PIC S9(length) BINARY
PIC S9(length) COMP
PIC S9(length) COMP-4
NUMBER(real_binary_length)
サンプル:
PIC S9(4) BINARYはNUMBER(5)として移行されます
COMP-1またはCOMP-2
DATATYPE_DOUBLE
PIC X(…)
長さ<= 2000の場合CHAR
長さ>2000の場合VARCHAR2

注意: パラメータfile:char_limit_until_varchar db-param.cfgファイルに設定されている場合、上記のルールよりも優先されます。

OccursおよびRedefines句に適用されるルール

識別ルールが適用されるOCCURSおよびREDEFINES句の場合、次の3つのリエンジニアリングの可能性が提案されます。

VSAMファイルのOracle表への移行の例

次の例では、ODCSFOBに記述された索引付きVSAMファイルは主キーとしてVS-CUSTIDENTフィールドを使用します。

リスト5-7 VSAMコピー記述の例
* ------------------------------------------------------------
* Customer record description
*  -Record length : 266
* ------------------------------------------------------------
 01 VS-ODCSF0-RECORD.
    05 VS-CUSTIDENT           PIC 9(006).
    05 VS-CUSTLNAME           PIC X(030).
    05 VS-CUSTFNAME           PIC X(020).
    05 VS-CUSTADDRS           PIC X(030).
    05 VS-CUSTCITY            PIC X(020).
    05 VS-CUSTSTATE           PIC X(002).
    05 VS-CUSTBDATE           PIC 9(008).
    05 VS-CUSTBDATE-G         REDEFINES VS-CUSTBDATE.
     10 VS-CUSTBDATE-CC PIC 9(002).
     10 VS-CUSTBDATE-YY PIC 9(002).
     10 VS-CUSTBDATE-MM PIC 9(002).
     10 VS-CUSTBDATE-DD PIC 9(002).
    05 VS-CUSTEMAIL           PIC X(040).
    05 VS-CUSTPHONE           PIC 9(010).
    05 VS-FILLER              PIC X(100).
* ------------------------------------------------------------
リスト5-8 VSAMファイルから生成されたOracle表
WHENEVER SQLERROR CONTINUE;
DROP TABLE CUSTOMER CASCADE CONSTRAINTS;
WHENEVER SQLERROR EXIT 3;
CREATE TABLE CUSTOMER (
     VS_CUSTIDENT               NUMBER(6) NOT NULL,
     VS_CUSTLNAME               VARCHAR2(30),
     VS_CUSTFNAME               CHAR  (20),
     VS_CUSTADDRS               VARCHAR2(30),
     VS_CUSTCITY                CHAR  (20),
     VS_CUSTSTATE               CHAR  (2),
     VS_CUSTBDATE               NUMBER(8),
     VS_CUSTEMAIL               VARCHAR2(40),
     VS_CUSTPHONE               NUMBER(10),
     VS_FILLER                  VARCHAR2(100),
CONSTRAINT PK_CUSTOMER PRIMARY KEY (
        VS_CUSTIDENT)
);
注意: コピー・ブックODCSFOBにはフィールドの再定義VS-CUSTBDATE-G PIC 9(008)が含まれ、これはテクニカル・フィールドのため、識別ルールは実装されません。この場合、再定義されたフィールドのみが生成された表VS_CUSTBDATE NUMBER(8)に作成されます。

 


環境の準備

この項では、データをVSAMファイルからOracle表に移行するのに使用するコンポーネントを生成する前に実行するタスクについて説明します。

環境変数の初期化

Rehosting Workbenchの実行前に次の環境変数を設定します。

構成ファイルの実装

次を使用して記述された3つのファイルはRehosting Workbenchファイル構造に置く必要があります。

ファイルからOracleへの変換のために、Datamap-<構成名>.reおよびmapper-<構成名>.re ファイルを作成する必要があります。

その他の2つの構成ファイル

これらのファイルはRehosting Workbenchのインストール時にファイル構造に自動的に生成されます。これらのファイルの特定のバージョンが特定のz/OSファイルに必要な場合は、$PARAM/fileファイル構造に置かれます。

ファイルの構成

データベース・パラメータ・ファイル(db-param.cfg)

db-param.cfg ファイルの場合、ターゲットおよびファイル・パラメータのみが適用される必要があります。

リスト5-9 db-param.cfgの例
# This configuration file is used by FILE & RDBMS converter
# Lines beginning with "#" are ignored
# write information in lower case
# common parameters for FILE and RDBMS
# source information is written into system descriptor file (OS, DBMS=, 
# DBMS-VERSION=)
target_rdbms_name:oracle
target_rdbms_version:11
target_os:unix
# optional parameter
target_cobol:cobol_mf
#
# specific parameters for FILE to RDBMS conversion
file:char_limit_until_varchar:29
# specific parameters for RDBMS conversion
rdbms:date_format:YYYY/MM/DD
rdbms:timestamp_format:YYYY/MM/DD HH24 MI SS
rdbms:time_format:HH24 MI SS
# rename object files
# the file param/rdbms/rename-objects-<schema>.txt is automatically loaded # by the tool if it exists.
必須パラメータ
オプションのパラメータ

target_cobol:cobol_mf

COBOL言語の名前許容値は"cobol_mf"(デフォルト値)および"cobol_it"です。

この例では、言語はCOBOL Microfocusです。

データマップ・パラメータ・ファイル(Datamap-<configuration name>.re)

移行するVSAMファイルをリストする必要があります。

次のパラメータを設定する必要があります。

表5-3 データマップ・パラメータ
パラメータ
例での値
設定者
構成名
STFILEORA
(data map STFILEORA-map)
ユーザーが自由に選択します。
システム名
STFILEORA
(system cat::STFILEORA)
システム記述ファイルでのカタログ化中に決定されます。
ファイル名
PJ01AAA.SS.VSAM.CUSTOMER
z/OS物理ファイル名。
編成
索引
ソースの編成

注意: 使用される様々なパラメータの説明は、『Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイド』のファイルからファイルへのコンバータに関する項を参照してください。

PJ01AAA.SS.VSAM.CUSTOMERファイルはVSAM KSDSファイルなので編成は索引付きです。パラメータkeys offset 1 bytes length 6 bytes primaryはキーを記述しています。この例では、キーは6バイトの長さでポジション1から開始します。

リスト5-10 データマップ・ファイルの例: Datamap-STFILEORA.re
%% Lines beginning with "%%" are ignored
data map STFILEORA-map system cat::STFILEORA
%%
%% Datamap File PJ01AAA.SS.VSAM.CUSTOMER
%%
file PJ01AAA.SS.VSAM.CUSTOMER
  organization Indexed
  keys offset 1 bytes length 6 bytes primary
マッピング・パラメータ・ファイル(mapper-<configuration name>.re)

データマップ構成ファイルに含まれている、移行する各z/OSファイルをリストする必要があります。

ファイルのパラメータおよびそのオプションは、Oracle表に変換する各VSAMファイル用に含まれる必要があります。次のパラメータを設定する必要があります。

表5-4 マッピング・パラメータ
パラメータ
例での値
設定者
構成名
STFILEORA
(ufas mapper STFILEORA)
データマップ構成ファイルで使用される名前と一貫性があります。
ファイル名
PJ01AAA.SS.VSAM.CUSTOMER
データマップ・ファイルで使用される名前です。
インクルード
include "COPY/ODCSF0B.cpy"
コピー・ファイルBCOAC01E.cpyの名前およびパスはファイルの作成時にユーザーが自由に選択します。
表名
table name CUSTOMER
作成されるOracle表の名前を指定します。
マップ・レコード
map record VS-ODCSF0-RECORD defined in "COPY/ODCSF0B.cpy"
VS-ODCSF0-RECORDはコピー・ファイルのレベル01フィールド名に相当します。
論理名
logical name ODCSF0B
最大8文字でユーザーが選択します。この名前は、Rehosting Workbenchの様々なツールにより作成されるオブジェクト(COBOL、JCL)に名前を付けるために使用されます。
コンバータ名
converter name ODCSF0B
論理名と同じ名前および用途です。

注意: 使用される様々なパラメータの説明は、『Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイド』のファイルからファイルへのコンバータに関する項を参照してください。
リスト5-11 マッパー・ファイルの例: mapper-STFILEORA.re
%% Lines beginning with "%%" are ignored
ufas mapper STFILEORA
%%
%% Desc file PJ01AAA.SS.VSAM.CUSTOMER
%%
file PJ01AAA.SS.VSAM.CUSTOMER transferred converted
   table name CUSTOMER
   include "COPY/ODCSF0B.cpy"
   map record VS-ODCSF0-RECORD defined in "COPY/ODCSF0B.cpy"
   source record VS-ODCSF0-RECORD in "COPY/ODCSF0B.cpy"
   logical name ODCSF0B
   converter name ODCSF0B
   attributes LOGICAL_MODULE_IN_ADDITION

コピー・ファイルのインストール

COBOL記述ファイルを準備したら、mapper-<構成名>.reファイルに記述したコピー・ファイルを$PARAM/file/recs-sourceディレクトリに置く必要があります。

ソース・プラットフォームからのCOBOLコピー・ブックを使用してファイルを記述する場合(「COBOL記述」の注意を参照)、それが、上述のCOPY/ODCSF0B.cpyの例のように、マッピング・パラメータ・ファイルで直接使用されるコピー・ブックの場所です。

 


コンポーネントの生成

データのVSAMファイルOracle表への移行に使用されるコンポーネントを生成するのに、Rehosting Workbenchはfile.shコマンドを使用します。この項ではこのコマンドについて説明します。

file.sh

名前

file.sh - z/OS移行コンポーネントを生成します。

概要

file.sh [ [-g] [-m] [-i <installation directory>] <configuration name> | -s <installation directory> (<configuration name>,...) ]

説明

file.shはRehosting WorkbenchによりVSAMファイルの移行に使用するコンポーネントを生成します。

オプション

-g <configuration name>

生成オプション。構成ファイルで提供される情報を使用してアンロードおよびロード・コンポーネントを$TMPPROJECTに生成します。

-m <configuration name>

変更オプション。生成されたシェル・スクリプトを実行可能にします。COBOLプログラムは、ターゲットCOBOLの固定形式に合うように調整されます。あれば、生成されたソース・ファイルを変更するシェル・スクリプトが実行されます。

-i <installation directory> <configuration name>

インストール・オプション。コンポーネントをインストール・ディレクトリに置きます。この操作はfile-move-assignation.pgmファイルにある情報を使用します。

-s <installation directory> <schema name>,...)

COBOLコンバータで使用する構成ファイルおよびDMLユーティリティの生成を可能にします。すべての構成ファイルは$PARAM/dynamic-configに、DMLファイルは<trf>/DMLディレクトリに作成されます。

file.sh -gmi $HOME/trf FTFIL001

Makeユーティリティの使用

Makeはターゲット(ファイルまたはアクション)の構成を自動化および最適化することを目的としたUNIXユーティリティです。

すべての操作が実装されるソース・ディレクトリにmakefileという名前の記述子ファイルが存在する必要があります(makefileはプロジェクトの初期化中にソース・ディレクトリに準備されます)。

次の2つの項では、Makeファイルの構成と、Makeファイルを使用したRehosting Workbench File-To-Oracleコンバータ機能の使用方法について説明します。

Makeファイルの構成

Version.mk

$PARAMversion.mk構成ファイルを使用して、Makeユーティリティで必要な変数およびパラメータを設定します。

version.mkには、各種のコンポーネントがインストールされる場所とその拡張を、使用される様々なツールのバージョンとともに指定します。このファイルにはログ・ファイルの構成方法も記述されます。

次の一般的な変数を、version.mkファイルでの移行プロセスの最初に設定する必要があります。

また、FILE_SCHEMAS変数はファイルの移行に特有で、処理する様々な構成を示します。

この構成はMakeファイルの使用の前に完了する必要があります。

Makeファイルの内容

makefileの内容は実行するタスクの要約です。

makefileおよびversion.mkファイルはRehosting Workbench Simple Applicationとともに提供されます。

Rehosting Workbench File-To-OracleコンバータでのMakefileの使用

make FileConvertコマンドを使用して、Rehosting Workbench File-To-Oracleコンバータを起動できます。これによりz/OSファイルのUNIX/Linuxターゲット・プラットフォームへの移行に必要なコンポーネントを生成できます。

MakeファイルはFILE_SCHEMAS変数に含まれるすべての構成に対し、-g-mおよび-iオプションを指定してfile.shツールを起動できます。

生成されたファイルの場所

-i $HOME/trfオプションで生成されるアンロード・コンポーネントおよびロード・コンポーネントは、次の場所に配置されます。

表5-5 コンポーネントの場所
「場所」
フィールド値
$HOME/trf/unload/file/<構成名>

各アンロードに使用されるプログラムおよびJCLは各<configuration name>に対して生成されます。

$HOME/trf/reload/file/<構成名>

各ロードに使用されるプログラムおよびKSHは各<configuration name>に対して生成されます。

例: loadfile-ODCSF0.ksh RELFILE-ODCSF0.cbl

$TMPPROJECT/outputs

生成ログ・ファイルMapper-log-<configuration name>は問題の解決に使用できます。

$HOME/trf/SQL/file/<スキーマ名>

表の作成用のSQLスクリプトおよび生成されたOracle表に対し様々な技術的操作を実行するために使用されるKornシェル・スクリプトの場所です。

$HOME/trf/DML

COBOLおよびPRO*COBOLアクセス・ルーチンの場所。これらのルーチンはOracle表に移行されたVSAMファイルに使用されるアクセス動詞のかわりにCOBOLプログラムにより実行されます。

生成されたコンポーネントの例

この章で使用する例では、次のスクリプトが生成されます。

CUSTOMER表を作成するのに使用されるSQLスクリプトの名前は次のとおりです。

様々な技術的操作で使用されるスクリプトの名前は次のとおりです。

9個のプログラムが生成され、その使用方法はOracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドに記載されています。

ORACLE CUSTOMER表をアクセスするための1つのPRO*COBOLプログラムが生成されます。

生成されたコンポーネントの変更

生成されたコンポーネントはプロジェクト固有のスクリプトを使用して変更できます。これらのスクリプト(sed、awk、 perlなど)は次の場所に配置する必要があります。

$PARAM/file/file-modif-source.sh

このファイルが存在している場合、生成プロセスの最後に自動的に実行されます。このファイルは、引数として<configuration name>を使用して呼び出されます。

 


移行の実行

この項では、Rehosting Workbenchを使用して生成されたコンポーネント(コンポーネントの生成を参照)を使用する、アンロード、転送および再ロードのタスクについて説明します。

準備

環境の構成およびコンポーネントのインストール

z/OSでのアンロード・コンポーネントのインストール

アンロードに使用されるコンポーネント($HOME/trf/unload/fileに生成)は、ソースz/OSプラットフォームにインストールする必要があります。生成されたJCLは、JOBカード、ライブラリ・アクセス・パス、入力および出力ファイル(データ・セット名: DSN)へのアクセス・パスを含む、特定のサイトの制約への適合が必要な場合があります。

UNIXでの再ロード・コンポーネントのインストール

再ロードに使用されるコンポーネント($HOME/trf/reload/fileに生成)はターゲット・プラットフォームにインストールする必要があります(実行時)。

Oracleオブジェクト作成コンポーネントのインストール

Oracleオブジェクトの作成に使用されるコンポーネント($HOME/SQL/file/<スキーマ名>に生成)はターゲット・プラットフォームにインストールする必要があります(実行時)。

ターゲット・プラットフォーム環境変数の設定

表5-6は、ターゲット・プラットフォームに設定する必要がある環境変数を示しています。

表5-6 環境変数とそのプラットフォーム
変数
DATA_SOURCE
再ロードするためにz/OSから転送されたファイルを含むディレクトリの名前。
DATA
ASCII形式に変換され、Oracle表に再ロードする準備のできた物理ファイルを含むディレクトリの名前。
BIN
汎用的な再ロードおよび制御スクリプト($HOME/trf/reload/bin)の場所。
TMPPROJECT
一時ディレクトリ。
MT_LOG
実行ログを含むディレクトリ。
NLS_LANG
Oracleドキュメントでの説明に従って設定します。
DDL
Oracleオブジェクト($HOME/trf/SQL/file/<スキーマ名>)を作成するのに使用するSQLスクリプトの場所。

次の変数はOracle Tuxedo Application Rehosting Workbenchインストレーション・ガイドの情報に従って設定する必要があります。

JCLのアンロード

アンロード用JCLがデータマップ・パラメータ・ファイル(Datamap-<configuration name>.re)にリストされた各 z/OSファイルに対して生成されます。これらのアンロード用JCLの名前は<logical file name>.jclunloadです。これらのJCLは、IDCAMSユーティリティのREPRO機能を使用してファイルをアンロードします。

注意: .jclunload拡張子は、z/OSで実行する場合には削除する必要があります。

ファイルの転送

ファイルは、サイトで使用可能なファイル転送ツール(CFT、FTPなど)を使用して、バイナリ形式で、ソースz/OSプラットフォームとターゲットUNIXプラットフォーム間で転送される必要があります。

トランスコード・プログラムのコンパイル

トランスコードおよび再ロードに使用される生成されたCOBOLプログラムの名前は次のとおりです。

RELTABLE-<論理ファイル名>

例:

RELTABLE-ODCSF0.pco

これらのCOBOLプログラムは、Rehosting Workbenchリファレンス・ガイドのCOBOLコンバータに関する項に記載されたオプションを使用して、ターゲットのCOBOLコンパイラでコンパイルされる必要があります。

各プログラムはSQL*LOADERユーティリティで使用できるようになる出力ファイルを生成します。

Oracleオブジェクト作成スクリプトの実行

loadtable-<…>.ksh スクリプトのオプション-dにより、Oracleオブジェクトを作成できます。

トランスコードおよび再ロード・スクリプトの実行

トランスコードおよび再ロード・スクリプトには次のパラメータがあります。

概要
loadtable-<logical file name>.ksh [-d] [-t/-l] [-c <method>]
オプション

-d

Oracleオブジェクトを作成します。

-t

ファイルをトランスコードおよび再ロードします。

-l

ファイルをトランスコードおよび再ロードします(-tと同じ動作)。

-c ftp:<…>:<…>

転送の検証を実装します(「転送のチェック」を参照)。
サンプル

マッピング・パラメータ・ファイル(mapper-<configuration name>.re)での例で、生成されるスクリプトは次のとおりです。

ファイル

デフォルトでは、入力ファイルは$DATA_SOURCEで示されたディレクトリに置かれ、出力ファイルは$DATAで示されたディレクトリに置かれます。

これらのファイルはマッピング・パラメータ・ファイル(mapper-<configuration name>.re)構成ファイルで使用される論理ファイル名を使用して名前付けされます。

実行ログは$MT_LOGで示されたディレクトリに作成されます。

問題が発生すると、ゼロ以外のリターン・コードが生成されます。

転送のチェック

この確認は次のloadtable-<論理ファイル名>.kshのオプションを使用します。

-c ftp:<name of transfered physical file>:<name of FTP log under UNIX>
注意: このオプションにより、再ロード後、z/OSから転送された物理ファイルとターゲット・プラットフォームに再ロードされたファイルに、同じレコード数が含まれていることを検証できます。この確認は、FTPログと再ロード・プログラムの実行レポートを使用して実行されます。レコード数が異なる場合は、エラー・メッセージが生成されます。

アクセス・ルーチンとユーティリティのコンパイル

COBOLおよびPRO*COBOLアクセス・ルーチンは『Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイド』に記載されたターゲットのCOBOLコンパイル・オプションを使用してコンパイルされる必要があります。

 


トラブルシューティング

この項では、ファイルをソースからターゲット・プラットフォームへ移行するときに発生した使用エラーにより生じる問題について説明します。

概要

Rehosting Workbenchツールを実行するときに、ユーザーは次のことを確認する必要があります。

エラー・メッセージとその説明は『Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイド』の付録に記載されています。

共通の問題と解決策

エラー: 外部変数PARAMが設定されていません

file.sh -gmi $HOME/trf STFILEORAの実行時に次のメッセージが表示されます。
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-
########################################################################
構成STFILEORAの制御
外部変数PARAMが設定されていません。
エラー: 構成STFILEORAのディレクティブ・ファイルを確認してください
中断
説明

変数$PARAMが設定されていません。

エラー: ターゲット・ディレクトリが存在しません

file.sh -gmi $HOME/trf STFILEORA1の実行時に次のメッセージが表示されます。
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
Target output directory /home2/wkb9/trf is missing
Check parameters: -i <output_directory> <schema>
ERROR : usage : file.sh [ [-g] [-m] [-i <output_directory>] <schema_name> | -s <output_directory> (<schema>,...) ]
abort

エラー: 不明なファイル編成です

file.sh -gmi $HOME/trf STFILEORA2の実行時に次のメッセージが表示されます。
Refine error...
ログ

Mapper-log-STFILEORA2ログ・ファイルの内容には次が含まれます。

file PJ01AAA.SS.VSAM.CUSTOMER Oracle
  file logical name ODCSF0B
*** Unknown file organization : INDEXD
  mapping record VS-ODCSF0-RECORD
  record VS-ODCSF0-RECORD: logical name VS
  record VS-ODCSF0-RECORD: logical name VS
    record VS-ODCSF0-RECORD REDEFINES:
      field VS-CUSTBDATE as opaque (default strategy)
    record VS-ODCSF0-RECORD REDEFINES:
      field VS-CUSTBDATE as opaque (default strategy)
説明

このファイルはINDEXEDではなくINDEXDのファイル編成で構成されています。

エラー: 不正なテキスト: "converted

file.sh -gmi $HOME/trf STFILEORAの実行時に次のメッセージが表示されます。

*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
##########################################################################
 Control of configuration STFILEORA
##############################
 Control of templates
OK: Use Default Templates list file
File name is /REFINE/convert-data/default/file/file-templates.txt
##############################
 Control of Mapper
##############################
 COMPONENTS GENERATION
Parsing mapper file /home2/wkb9/tmp/mapper-STFILEORA.re.tmp ...
Parse error at character position 1346 in file:
   /home2/wkb9/tmp/mapper-STFILEORA.re.tmp.
The illegal text is: "converrted
   table name CUSTOMER
   include \"COPY/ODCSF0B.cpy\"
   map record VS-ODCSF0-RECORD defin"
While parsing in grammar UFAS-CONVERTER::MAPPER-INPUT-GRAMMAR,
CONVERRTED is a symbol, which is not a legal token
at this point in the input. The legal tokens at this point are:
  :END  "templates"  "filler"  "field"  "file"  "one-for-n"  "multi-record"  "table"  "transferred"  "mode-tp"  ... [14 others]
*ERROR*: parse error is found in /home2/wkb9/tmp/mapper-STFILEORA.re.tmp.
Refine error...

/tmp/refine-exit-status.snICMmElNYF25625

エラー: 生成が中断されました

中断

説明

マッピング・ファイルで‘CONVERTED’という語句に入力エラーが起こりました。

エラー: PJ01AAA.SS.VSAM.CUSTOMERSという名前のファイル表にファイルが見つかりません

file.sh -gmi $HOME/trf STFILEORAの実行時に次のメッセージが表示されます。

*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-==-=-=-=
##########################################################################
 Control of configuration STFILEORA
##############################
 Control of templates
   Project Templates list file is missing /home2/wkb9/param/file/file-templates.txt
   OK: Use Default Templates list file
       File name is /Qarefine/release/M2_L4_1/convert-data/default/file/file-templates.txt
##############################
 Control of Mapper
##############################
 COMPONENTS GENERATION
Point 1 !!
Warning: Can't find file in file table named PJ01AAA.SS.VSAM.CUSTOMERS
 Point 2 !!
Refine error...
/tmp/refine-exit-status.IvmFDYsYDdr31956
ERROR : generation aborted
Abort
説明

Oracle表に変換するファイルの名前が、Datamapファイルに存在する名前と一致しません。


  先頭に戻る       前  次