ユーザーズ・ガイド

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

Oracle Tuxedo Application Rehosting Workbench DB2 to Oracleコンバータ

 


概要

目的

この章では、ファイルをソースDB2データベースからターゲットOracleデータベースへ移行するために、Rehosting Workbench DB2-to-Oracleコンバータをインストール、実装および構成する方法を説明します。

スキル

DB2を移行する場合、COBOL、JCL、z/OSユーティリティ、DB2およびOracleデータベースと、UNIX/Linux Kornシェルの知識が必要です。

関連項目

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

構成

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

 


DB2からOracleへの移行プロセス

処理するファイル編成

z/OS DB2ソース・プラットフォームからOracle UNIXターゲット・プラットフォームへ移行する時の最初の問題は、どの表を移行するべきかということです。すべてのDB2表を移行するわけではない場合、移行するオブジェクトのサブセットを示すDB2 DDLを作成する必要があります。

移行プロセス手順

この章で詳しく説明する、DB2からOracleへの移行プロセスの原則的な手順は次のとおりです。

  1. 移行する表のリスト全体を作成します。すべてのDB2表を移行するわけではない場合、移行する表用のDB2 DDLを作成します。そうでない場合、サイトにより使用されるDB2 DDL全体を取得します。
  2. コンポーネントの生成に使用する環境を準備します。
  3. Rehosting Workbenchを使用して、次の手順で使用するコンポーネントを生成します。
  4. ソース・プラットフォームから表をアンロードします。
  5. データをターゲット・プラットフォームに転送します。
  6. データをトランスコードして再ロードします。
  7. 結果を確認します。
  8. Oracleデータベースを構築します。

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

DB2からOracleへの移行はカタロガの結果に依存します。DB2からOracleへの移行はCOBOL変換に影響を与えるので、プログラムの変換作業の開始前に完了する必要があります。

 


実装するリエンジニアリング・ルール

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

適用する移行ルール

Oracleへの移行に含まれるDB2オブジェクトのリストは生成されたOracleオブジェクトの作成で説明します。

Rehosting Workbenchの名前の変更ルールの適用を除き、Oracleへの移行時に、移行されたDB2オブジェクトの名前は保持されます(名前の変更ルールの準備および実装を参照)。

DB2からOracleへのデータ型移行ルール

表4-1 DB2からOracleへのデータ型
DB2 z/OSデータ型
Oracle形式
CHAR(長さ)
長さ <= 2000バイトの場合はCHAR
長さ > 2000バイトの場合はVARCHAR2
VARCHAR(長さ)
VARCHAR2 (長さ)
DECIMAL(…)
NUMBER(…)
NUMERIC(…)
NUMBER(…)
DEC(…)
NUMBER(…)
SMALLINT
NUMBER(6)
INTEGER
NUMBER(11)
TIMESTAMP
TIMESTAMP
TIMESTMP
TIMESTAMP
DATE
DATE
TIME
DATE
DOUBLE
FLOAT(53)
FLOAT(prec)
FLOAT(53)
REAL
FLOAT(24)

DB2からOracleへの列プロパティの移行ルール

列プロパティによりアプリケーション・プログラムの動作を変更できます。

次の表にすべてのDB2の列プロパティと、ターゲットOracleデータベース用に変換する方法を示します。

表4-2 DB2からOracleへの列プロパティ
DB2の列プロパティ
Oracle形式
注:
WITH DEFAULT
DEFAULT <値>
<値>はDB2/z/OSデータ型によります。
WITH DEFAULT ''
CHAR: DEFAULT ‘ ‘
VARCHAR2: DEFAULT ‘ ‘
DB2でのゼロ・バイトの長さはOracleでのNULLフラグになります。
WITH DEFAULT '<値>'
DEFAULT '<値>'
 
NOT NULL
NOT NULL
 
IDENTITY
Sequenceの作成
Triggerの作成
IDENTITY属性はOracleには存在しないので、Rehosting Workbenchはその属性をSequenceおよびTriggerオブジェクトで置き換えます。
FOR SBCS …
属性を無視
 

名前の変更ルールの準備および実装

Oracle Tuxedo Application Rehosting Workbenchでは、DDLソース・ファイル内の様々な名前(表名、列名)を変更できます。

名前の変更ルールは次の場合に実装できます。

注: Rehosting Workbenchの実行時に、Oracleの予約語がDDLソースに見つからない場合、エラーが報告され、Rehosting WorkbenchはDDLの分析を続行します。

名前の変更ルールはrename-objects-<スキーマ名>.txt.という名前のファイルに置かれます。このファイルは$PARAM/rdbmsパラメータで示されたディレクトリに置かれます。

名前の変更ルールは次の形式をとります。

コメントは% Textのように追加できます。

例:

% Modification applied to the AUALPH0T table
column;AUANPR0U;AUALPH0T;NUM_ALPHA;MW_NUM_ALPHA

DB2オブジェクトの移行の例

この例では、DB2 DDLに、主キーおよびXCUSTIDENという名前の一意の索引を持つ、ODCSF0という名前の表が含まれます。

リスト4-1 移行前のDDLの例
DROP TABLE ODCSF0;
  COMMIT;
  CREATE TABLE ODCSF0
         (CUSTIDENT DECIMAL(6, 0)  NOT NULL,
          CUSTLNAME CHAR(030)      NOT NULL,
          CUSTFNAME CHAR(020)      NOT NULL,
          CUSTADDRS CHAR(030)      NOT NULL,
          CUSTCITY  CHAR(020)      NOT NULL,
          CUSTSTATE CHAR(002)      NOT NULL,
          CUSTBDATE DATE           NOT NULL,
          CUSTEMAIL CHAR(040)      NOT NULL,
          CUSTPHONE CHAR(010)      NOT NULL,
          PRIMARY KEY(CUSTIDENT))
         IN DBPJ01A.TSPJ01A
         CCSID EBCDIC;
  COMMIT;
  CREATE UNIQUE INDEX XCUSTIDEN
                   ON ODCSF0
                   (CUSTIDENT ASC) USING STOGROUP SGPJ01A;
  COMMIT;

移行ルールの適用後、名前の変更ルールを実装せずに、次のOracleオブジェクトが取得されます。

リスト4-2 移行後のOracle表の例
WHENEVER SQLERROR CONTINUE;
DROP TABLE ODCSF0 CASCADE CONSTRAINTS;
WHENEVER SQLERROR EXIT 3;
CREATE TABLE ODCSF0 (
  CUSTIDENT NUMBER(6) NOT NULL,
  CUSTLNAME CHAR(30) NOT NULL,
  CUSTFNAME CHAR(20) NOT NULL,
  CUSTADDRS CHAR(30) NOT NULL,
  CUSTCITY CHAR(20) NOT NULL,
  CUSTSTATE CHAR(2) NOT NULL,
  CUSTBDATE DATE NOT NULL,
  CUSTEMAIL CHAR(40) NOT NULL,
  CUSTPHONE CHAR(10) NOT NULL);
リスト4-3 移行後のOracle索引の例
WHENEVER SQLERROR CONTINUE;
DROP INDEX XCUSTIDEN;
WHENEVER SQLERROR EXIT 3;
CREATE UNIQUE INDEX XCUSTIDEN ON ODCSF0
  (
     CUSTIDENT ASC
   );
リスト4-4 移行後のOracle制約の例
WHENEVER SQLERROR CONTINUE;
ALTER TABLE ODCSF0 DROP CONSTRAINT CONSTRAINT_01;
WHENEVER SQLERROR EXIT 3;
ALTER TABLE ODCSF0 ADD
  CONSTRAINT CONSTRAINT_01 PRIMARY KEY (CUSTIDENT);

 


環境の準備

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

DB2 DDLソース・ファイルのカタログ化の実装

移行するDB2 DDLソース・ファイルがカタログ操作の準備前に検出されます。移行プロセス中に、SQL CREATEコマンドだけが処理されOracleに移行されますが、すべての有効なDB2構文が受け入れられます。

system.descファイル・パラメータ

DB2からOracleへの移行では、すべてのRehosting Workbenchツールで使用するsystem.desc システム記述ファイルに、パラメータを設定する必要があります。

スキーマ

スキーマは一貫性のあるオブジェクトのセットから構成される必要があります(たとえば、スキーマに存在しない表に対してのCREATE INDEXはありません)。

デフォルトでは、DB2 DDLのSQLコマンドに修飾子または認可識別子の接頭辞が付く場合(たとえばCREATE TABLE <修飾子または認可識別子>.表名)、この接頭辞はRehosting Workbenchによりスキーマ名として使用されます。

スキーマ名は、 system.descファイルのglobal-options句を使用して、Rehosting Workbenchが決定することもできます。

例:

system STDB2ORA root ".."
global-options
  catalog="..",
  sql-schema=<schema name>.

また、各DDLディレクトリのスキーマ名は、system.descファイルのdirectory options句を使用してRehosting Workbenchが決定することもできます。「カタロガ」の章の「オプション句」の項を参照してください。

directory "DDL"  type SQL-SCRIPT
		   files "*.sql"
  	    	   options SQL-Schema = "<schema name>".

構成ファイルの実装

次の1つのファイルだけは$PARAMで記述されたRehosting Workbenchのファイル構造に置く必要があります。

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

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

環境変数の初期化

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

パラメータの生成

リスト4-5 db-param.cfgファイルの例
#
# This configuration file is used by FILE & RDBMS converter
# Lines beginning by "#" 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
#
# 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 FF6
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_<xxxxx>およびrdbms:<xxxxx>だけが適用される必要があります。

3つのrdbmsパラメータは、z/OS DB2により使用され、DSNZPARMに格納される日付、タイムスタンプおよび時間形式を示します。これらのパラメータは再ロード操作およびCOBOL日付および時間の操作に影響を与えます。

警告: これらのパラメータを適切に設定することは重要です。

 


コンポーネントの生成

データのDB2データベースからOracleデータベースへの移行に使用されるコンポーネントを生成するのに、Rehosting Workbenchはrdbms.shコマンドを使用します。この項ではこのコマンドについて説明します。

rdbms.sh

名前

rdbms.sh - DB2からOracleデータベースへの移行コンポーネントを生成。

概要

rdbms.sh [ [-c|-C] [-g] [-m] [-r] [-i <installation directory>] <schema name> ] -s <installation directory> (<schema name>,...) ]

説明

rdbms.shはz/OS DB2データベースのUNIX Oracleデータベースへの移行に使用されるRehosting Workbenchコンポーネントを生成します。

オプション

生成オプション

-g <スキーマ名>

アンロードおよびロード・コンポーネントは、構成ファイルにより提供された情報を使用して$TMPPROJECTに生成されます。

-C <スキーマ名>

次のコンポーネントは$TMPPROJECTに生成されます。DDL Oracle、SQL*LOADERのCTLファイル、COBOLコンバータにより使用されるXMLファイル、構成ファイル(mapper.reおよびDatamap.re)。エラーまたは警告が発生してもプロセスは異常終了しません。
生成操作中に作成されたSQLスクリプトについては、トランスコードおよび再ロード・スクリプトの実行を参照してください。

-c <スキーマ名>

エラーまたは警告が生成されてプロセスが異常終了する場合を除き、このオプションでは-Cオプションと同じ結果になります。
変更オプション

-m <スキーマ名>

生成されたシェル・スクリプトを実行可能にします。COBOLプログラムはMICROFOCUS COBOL固定形式に適合します。あれば、生成されたソースを変更するシェル・スクリプトが実行されます。

-r <スキーマ名>

生成されたオブジェクト(表の作成、表名、SQL*LOADER用のCTLファイル、KSH)からスキーマ名を削除します。このオプションが使用されるときに、COBOLコンポーネントの変換時に使用されるconfig-cobolファイル(COBOL変換構成ファイル)にある、オプションsql-remove-schema-qualifierを使用して、スキーマ名もCOBOLコンポーネントから削除できます。
インストール・オプション

-i <インストール・ディレクトリ> <スキーマ名>

インストール・ディレクトリにコンポーネントを置きます。この操作は rdbms-move-assignation.pgmファイル内の情報を使用します。
COBOL変換用の構成ファイルの生成

-s <インストール・ディレクトリ> <スキーマ名>,...)

COBOLコンバータの構成ファイルの生成を可能にします。このファイルはプロジェクトの統一XMLファイルのすべてを取得します。これらのファイルはすべて$PARAM/dynamic-configに作成されます。
例: rdbms-conv.txt rdbms-conv-PJ01DB2.xml

rdbms.sh -Cgrmi $HOME/trf PJ01DB2

Makeユーティリティの使用

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

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

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

Makeファイルの構成

Version.mk

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

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

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

また、RDBMS_SCHEMAS変数はDB2の移行に特有で、処理する様々なスキーマを示します。

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

Makeファイルの内容

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

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

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

make RdbmsConvert コマンドを使用してRehosting Workbench DB2-To-Oracleコンバータを起動できます。これによりDB2データベースからOracleへの移行に必要なコンポーネントを生成できます。

Makeファイルは rdbms.shツールを、-C-g、-r-mおよび-iオプションを使用して、RDBMS_SCHEMAS変数に含まれるすべてのスキーマに対して起動できます。

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

-i $HOME/trfオプションを使用して生成されたアンロードおよびロード・コンポーネントは次の場所に置かれます。

表4-3 コンポーネントの場所
「場所」
フィールド値
$HOME/trf/unload/rdbms/<スキーマ名>

各アンロードに使用されるJCLが各<スキーマ名>用に生成されます。

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

Oracleオブジェクトを作成するのに使用されるSQLスクリプトの<スキーマ名>による場所。この章で使用される例では、次の3つのスクリプトがあります。

  • INDEX-ODCSF0.sql
  • TABLE-ODCSF0.sql
  • CONSTRAINT-ODCSF0.sql
$HOME/trf/reload/rdbms/<スキーマ名>/src

COBOLトランスコード・プログラムの<スキーマ名>による場所。この章の例では、次の1つのプログラムがあります。

  • MOD_ODCSF0.cbl
$HOME/trf/reload/rdbms/<スキーマ名>/ctl

SQL*LOADERにより使用されるCTLファイルの<スキーマ名>による場所。この章の例では、次の1つのCTLがあります。

  • ODCSF0.ctl
$HOME/trf/reload/rdbms/<スキーマ名>/ksh

再ロードKornシェル・スクリプトの<スキーマ名>による場所。この章の例では、次の1つのスクリプトがあります。

  • loadrdbms-ODCSF0.ksh

$TMPPROJECT/outputs/<スキーマ名>

-cまたは-Cオプションを使用して生成された生成ログ・ファイル。rdbms-converter-<スキーマ名>を使用して問題を解決できます。

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

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

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

あれば、このファイルは生成プロセスの最後に自動的に実行されます。引数として、<スキーマ名>を使用して呼び出されます。

 


移行の実行

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

準備

環境の構成とコンポーネントのインストール

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

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

ターゲット・プラットフォームへの再ロード・コンポーネントのインストール

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

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

表4-4 変数とそのプラットフォーム
変数
DATA_SOURCE
Oracle表に再ロードするためにz/OSから転送された、アンロード済DB2表を含むディレクトリの名前。
BIN
汎用的な再ロードおよび制御スクリプト($HOME/trf/reload/bin)の場所。
TMPPROJECT
一時ディレクトリ。
MT_LOG
実行ログを含むディレクトリ。
CTL
SQL*LOADER($HOME/trf/reload/rdbms/<スキーマ名>/ctl)により使用される<表名>.ctl ファイルを含むディレクトリ。
DATA_TRANSCODE
DB2バイナリ・データ・トランスコード・スクリプトにより使用される一時ディレクトリ(ASCII形式の一時ファイルを含む)。
NLS_LANG
Oracleドキュメントでの説明に従って設定します。

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

再ロード・スクリプトloadrdbms-<表名>.kshSQL*LDR Oracleユーティリティを使用します。このユーティリティがアクセスできるのはORACLEサーバーに限られるため、このスクリプトはORACLEサーバーで使用する必要があり、クライアント接続では使用できません。特にこの再ロード手順では、この変数に@<oracle_sid>文字列を含めることはできません。

ターゲット・プラットフォームへのMWDB2ORAパッケージ・コンポーネントのインストール

COBOLプログラムによって呼び出されるパッケージの機能(Oracle Tuxedo Application Rehosting Workbench COBOLコンバータによって変換)をターゲット・プラットフォーム(ランタイム)にインストールする必要があります。

パッケージは、REFINEDIR/convert-data/fixed-components/MWDB2ORA.plbに配置されます。このパッケージは、Oracle Tuxedo Application Rehosting Workbench DB2 to Oracleコンバータで説明されているように、SQLPLUSの下にインストールする必要があります。

アンロードJCL

各DB2表をアンロードするには、IBM DSNTIAULユーティリティを使用するJCLを実行します。DSNTIAULユーティリティは各表に対し次の3つのファイルを生成します。

これらのアンロードJCLの名前は<表名>.jclunloadです。

表名が8文字よりも短いまたは長い場合、Rehosting Workbenchはできるだけ元の名前に近い8文字の名前をz/OS JCLの名前とみなします。この名前の変更プロセスにより各表名の一意性が保たれます。

この章で使用される例では、ODCSF0という表名が、z/OS JCLの名前を付けるときにODCSF0X1に伸ばされます。

ファイルの転送

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

LOGおよびSYSPUNCHファイルはテキスト・モードで転送される必要があります。

ターゲットUNIXプラットフォームに転送されたファイルは$DATA_SOURCEディレクトリに格納される必要があります。

生成されたOracleオブジェクトの作成

Oracleオブジェクト(表、索引、制約など)を作成するスクリプトは$HOME/trf/SQL/rdbms/<スキーマ名>ディレクトリに作成されます。これらはターゲットOracleインスタンスで実行される必要があります。

<スキーマ名>.lstファイルにはすべての表の名前が階層的な順序で(親表の次に子表)含まれます。

表4-5にRehosting Workbenchで管理されるDB2オブジェクトとそれを作成するために使用するスクリプトの名前をリストします。

表4-5 DB2オブジェクト
オブジェクトの種類
ファイル名
注:
TABLE
TABLE- <ターゲット表名>.sql
表ごとに1ファイルです。ファイルには表構成が、列名、データ型および属性とともに含まれます。
NULL/NOT NULL属性を除く制約はこのファイルには書き込まれません。
索引
INDEX- <ターゲット表名>.sql
このファイルには、表<ターゲット表名>に関連付けられたすべてのCREATE INDEXが含まれます。このファイルは表<ターゲット表名>に索引が定義されてない場合には生成されません。
索引: 一意制約または一意ではない制約
制約
CONSTRAINT-
<ターゲット表名>.sql
このファイルには、表<ターゲット表名>に関連付けられたすべての制約が含まれます。このファイルは表<ターゲット表名>に定義された制約がない場合には生成されません。
制約: 主キー、一意、チェックおよび外部キー
コメント
COMMENT- <ターゲット表名>.sql
表および列に対するすべてのコメントが含まれます。表ごとに1ファイルです。
ビュー
VIEW-<sスキーマ名>.sql
このファイルにはソース・データベース/スキーマで作成されたすべてのビューが含まれます。
このリリースでは、Select文はターゲット・データベース言語に自動的には変換されません。
シーケンス
SEQUENCE-<スキーマ名>.sql
このファイルにはソース・データベースですでに作成されたすべてのCREATE SEQUENCEが含まれます。
シノニム
SYNONYMS-<スキーマ名>.sql
このファイルにはソース・データベースですでに作成されたすべてのCREATE SYNONYMが含まれます。
IDENTITY
IDENTITY- <ターゲット表名>.sql
DB2からORACLEへの移行時のIDENTITYの場合、Rehosting WorkbenchはSequenceおよびTriggerオブジェクトを作成します。

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

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

MOD_<表名>.cbl

この章で使用される生成されたプログラムの例は次のとおりです。

このプログラムはMicrofocus COBOLまたはCOBOL-IT、およびOracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドに記載されたオプションを使用してコンパイルされる必要があります。

このプログラムは出力時にRECORD SEQUENTIALファイルを生成し、それは次にSQL*LOADERユーティリティに読み取られます。

リスト4-6 FILE CONTROLの例 – プログラムMOD_ODCSF0.cblからの抽出
SELECT MW-SORTIE
              ASSIGN TO "SORTIE"
              ORGANIZATION IS RECORD SEQUENTIAL
              ACCESS IS SEQUENTIAL
              FILE STATUS IS IO-STATUS.

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

データのトランスコードおよび再ロードを可能にするスクリプトは次のディレクトリに生成されます。

$HOME/trf/reload/rdbms/<schema name>/ksh

スクリプト名の形式は次のとおりです。

loadrdbms-<table name>.ksh

この章で使用する例では、スクリプトの名前は次のとおりです。

loadrdbms-ODCSF0.ksh

各スクリプトはトランスコードを実行し次にSQL*LOADERユーティリティを実行するCOBOLプログラムを起動します。SQL*LOADERにより使用されるCTLファイルの名前は次のとおりです。

<table name>.ctl.

この章の例で使用されるCTLファイルの名前は次のとおりです。

ODCSF0.ctl

トランスコードおよび再ロード・コマンド

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

概要
loadrdbms-<table name>.ksh [-t] [-l] [-c: <method>]
オプション

-t

ファイルをトランスコードします。

-l

データをOracle表に再ロードします。

-c dsntiaul:

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

DB2オブジェクトの移行の例での例で、生成されるスクリプトは次のとおりです。

転送のチェック

この確認は loadrdbms-<表名>.kshの次のオプションを使用します。

-c dsntiaul
注: このオプションは、再ロード後、再ロードされたOracle表に、DSNTIAULユーティリティによりz/OSからアンロードされた等価の表と同じレコード数が含まれていることを検証します。レコード数が異なる場合、エラー・メッセージが生成されます。

 


トラブルシューティング

この項では、データをDB2データベースからターゲットOracleデータベースへ移行するときに発生した使用エラーにより生じる問題について説明します。

概要

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

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

共通の問題と解決策

Error: RDBMS-0105

$REFINEDIR/$VERS/rdbms.sh -Cgrmi $HOME/trf PJ01DB2 STFILEORA の実行時に、次のメッセージが表示されます。
Fatal RDBMS error.
Error: RDBMS-0105: Catalog for /home2/wkb9/param/system.desc is out of date 
and needs to be updated externally.
Refine error...
説明

DDLが変更されたのでカタログ化操作を再度実行します。

Error: conversion aborted. Can not read

$REFINEDIR/$VERS/rdbms.sh -Cgrmi $HOME/trf SCHEMA の実行時に、次のメッセージが表示されます。
Refine error...
/tmp/refine-exit-status.MOaZwgTphIN14075
ERROR : conversion aborted . Can not read /home2/wkb9/tmp/outputs/SCHEMA/rdbms-converter-SCHEMA.log log file
abort	
説明

スキーマ名が不明です。

Error: Configuration file /db-param.cfg is missing!

$REFINEDIR/$VERS/rdbms.sh -Cgrmi $HOME/trf PJ01DB2 の実行時に、次のメッセージが表示されます。
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=--=-
#########################################################################
CONVERSION OF DDLs and CTL files and GENERATION of directive files
ERROR : Configuration file /db-param.cfg is missing !
ERROR : Error in reading configuration file
Abort
説明

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

Error: Target output directory... is missing

$REFINEDIR/$VERS/rdbms.sh -Cgrmi $HOME/bad-directory PJ01DB2 の実行時に、次のメッセージが表示されます。
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
Target output directory /home2/wkb9/bad-directory is missing
Check parameters: -i <output_directory> <schema>
ERROR : usage : rdbms.sh [ [-c|-C] [-g] [-m] [-r] [-i <output_directory>] <schema_name> ] -s <output_directory> (<schema>,...) ]
abort
説明

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


  先頭に戻る       前  次