170
Oracle® Migration Workbench ユーザーズ・ガイド リリース 9.2 for Microsoft Windows 98/NT/2000/XP 部品番号 部品番号 部品番号 部品番号 : B12399-01 2004 3

Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle® Migration Workbenchユーザーズ・ガイド

リリース 9.2 for Microsoft Windows 98/NT/2000/XP

部品番号部品番号部品番号部品番号 : B12399-01

2004 年 3 月

Page 2: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle Migration Workbench ユーザーズ・ガイド , リリース 9.2 for Microsoft Windows 98/NT/2000/XP

部品番号 : B12399-01

原本名 : Oracle Migration Workbench User’s Guide, Release 9.2.0 for Microsoft Windows 98/NT/2000/XP

原本部品番号 : B12194-01

Copyright © 1998, 2003 Oracle Corporation. All rights reserved.

制限付権利の説明

このプログラム(ソフトウェアおよびドキュメントを含む)には、オラクル社およびその関連会社に所有権のある情報が含まれています。このプログラムの使用または開示は、オラクル社およびその関連会社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権と工業所有権に関する法律により保護されています。

独立して作成された他のソフトウェアとの互換性を得るために必要な場合、もしくは法律によって規定される場合を除き、このプログラムのリバース・エンジニアリング、逆アセンブル、逆コンパイル等は禁止されています。

このドキュメントの情報は、予告なしに変更される場合があります。オラクル社およびその関連会社は、このドキュメントに誤りが無いことの保証は致し兼ねます。これらのプログラムのライセンス契約で許諾されている場合を除き、プログラムを形式、手段(電子的または機械的)、目的に関係なく、複製または転用することはできません。

このプログラムが米国政府機関、もしくは米国政府機関に代わってこのプログラムをライセンスまたは使用する者に提供される場合は、次の注意が適用されます。

U.S. GOVERNMENT RIGHTS

Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation, and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

このプログラムは、核、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションへの用途を目的としておりません。このプログラムをかかる目的で使用する際、上述のアプリケーションを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。万一かかるプログラムの使用に起因して損害が発生いたしましても、オラクル社およびその関連会社は一切責任を負いかねます。

Oracle は Oracle Corporation およびその関連会社の登録商標です。その他の名称は、Oracle Corporation または各社が所有する商標または登録商標です。

Page 3: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

目次目次目次目次

はじめにはじめにはじめにはじめに .......................................................................................................................................................................... vii

このマニュアルの用途 ........................................................................................................................................... viii対象読者 ................................................................................................................................................................... viii

関連ドキュメント ................................................................................................................................................... viii用語 ............................................................................................................................................................................. ix表記規則 ..................................................................................................................................................................... ixコマンド構文 .............................................................................................................................................................. xコード例の変数 .......................................................................................................................................................... xオンライン・ドキュメント要件 .............................................................................................................................. xオンライン・サポート ............................................................................................................................................. xi

1 概要概要概要概要

概要概要概要概要 ........................................................................................................................................................................... 1-2

Migration Workbench の動作の動作の動作の動作 ............................................................................................................................. 1-2

Migration Workbench ................................................................................................................................... 1-3

プラグイン ....................................................................................................................................................... 1-4

Workbench リポジトリ ................................................................................................................................. 1-4移行プロセスでの移行プロセスでの移行プロセスでの移行プロセスでの Migration Workbench の使用の使用の使用の使用 ............................................................................................ 1-4

ソース・データベースの取得 ....................................................................................................................... 1-4

移行先データベースへのアクセス ............................................................................................................... 1-5

Oracle モデルの作成およびカスタマイズ .................................................................................................. 1-6

ソース・データベースから Oracle データベースへの移行 ..................................................................... 1-6Migration Workbench のメリットのメリットのメリットのメリット ..................................................................................................................... 1-6

サポートされている他社のデータベースサポートされている他社のデータベースサポートされている他社のデータベースサポートされている他社のデータベース ........................................................................................................... 1-8

i

Page 4: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

2 移行計画の準備移行計画の準備移行計画の準備移行計画の準備

タスクタスクタスクタスク 1: 移行要件の確認移行要件の確認移行要件の確認移行要件の確認 ...................................................................................................................................... 2-2タスクタスクタスクタスク 2: Migration Workbench を使用した場合のワークロードの見積りを使用した場合のワークロードの見積りを使用した場合のワークロードの見積りを使用した場合のワークロードの見積り ................................................ 2-4

タスクタスクタスクタスク 3: 運用要件の分析運用要件の分析運用要件の分析運用要件の分析 ...................................................................................................................................... 2-5タスクタスクタスクタスク 4: アプリケーションの分析アプリケーションの分析アプリケーションの分析アプリケーションの分析 ...................................................................................................................... 2-5タスクタスクタスクタスク 5: 移行の計画移行の計画移行の計画移行の計画 .............................................................................................................................................. 2-6

3 移行を行う前に移行を行う前に移行を行う前に移行を行う前に

Migration Workbench の構成の構成の構成の構成 ............................................................................................................................. 3-2

Workbench リポジトリのデータベース・ユーザーの作成 ..................................................................... 3-2

プラグインの構成プラグインの構成プラグインの構成プラグインの構成 ................................................................................................................................................... 3-3

Microsoft SQL Server から移行する前に .................................................................................................... 3-3

Sybase Adaptive Server から移行する前に ................................................................................................ 3-5

Microsoft Access から移行する前に ............................................................................................................ 3-6Microsoft Access XML ファイルの作成 .............................................................................................. 3-9

Informix Dynamic Server から移行する前に ........................................................................................... 3-10

MySQL から移行する前に ......................................................................................................................... 3-10

IBM DB2/400 から移行する前に .............................................................................................................. 3-11

IBM DB2 UDB から移行する前に ............................................................................................................. 3-12

Oracle データベースに関する接続情報の確認データベースに関する接続情報の確認データベースに関する接続情報の確認データベースに関する接続情報の確認 ................................................................................................ 3-13

4 ソース・データベースの取得ソース・データベースの取得ソース・データベースの取得ソース・データベースの取得

概要概要概要概要 ........................................................................................................................................................................... 4-2

Migration Workbench の起動の起動の起動の起動 ............................................................................................................................. 4-3オフライン取得ファイルの作成オフライン取得ファイルの作成オフライン取得ファイルの作成オフライン取得ファイルの作成 ........................................................................................................................... 4-5

Microsoft SQL Server または Sybase Adaptive Server 用のオフライン取得ファイルの作成 ............ 4-5

Informix Dynamic Server 用のオフライン取得ファイルの作成 ............................................................. 4-7取得ウィザードの使用取得ウィザードの使用取得ウィザードの使用取得ウィザードの使用 ........................................................................................................................................... 4-8Informix ESQL/C ソース・ファイルの取得ソース・ファイルの取得ソース・ファイルの取得ソース・ファイルの取得 .................................................................................................... 4-13

ソース・モデルのカスタマイズソース・モデルのカスタマイズソース・モデルのカスタマイズソース・モデルのカスタマイズ ......................................................................................................................... 4-13データ型マッピングのカスタマイズデータ型マッピングのカスタマイズデータ型マッピングのカスタマイズデータ型マッピングのカスタマイズ ................................................................................................................. 4-14

5 Oracle モデルの作成およびカスタマイズモデルの作成およびカスタマイズモデルの作成およびカスタマイズモデルの作成およびカスタマイズ

概要概要概要概要 ........................................................................................................................................................................... 5-2Oracle モデルの作成モデルの作成モデルの作成モデルの作成 .............................................................................................................................................. 5-3

ii

Page 5: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのエラーの修正モデルのエラーの修正モデルのエラーの修正モデルのエラーの修正 .............................................................................................................................. 5-3

Oracle モデルのカスタマイズモデルのカスタマイズモデルのカスタマイズモデルのカスタマイズ .............................................................................................................................. 5-4

スキーマ・オブジェクトのプロパティの変更 ........................................................................................... 5-4

表領域の処理 ................................................................................................................................................... 5-5

表領域の作成 ........................................................................................................................................... 5-5表領域の名前の変更 ............................................................................................................................... 5-6既存の表領域の使用 ............................................................................................................................... 5-6

デフォルトのユーザー・パスワードの変更 ............................................................................................... 5-7

6 データベースの移行データベースの移行データベースの移行データベースの移行

概要概要概要概要 ........................................................................................................................................................................... 6-2

移行ウィザードの使用移行ウィザードの使用移行ウィザードの使用移行ウィザードの使用 ........................................................................................................................................... 6-3オンラインでのスキーマの作成オンラインでのスキーマの作成オンラインでのスキーマの作成オンラインでのスキーマの作成 ........................................................................................................................... 6-6オフラインでのスキーマの作成オフラインでのスキーマの作成オフラインでのスキーマの作成オフラインでのスキーマの作成 ........................................................................................................................... 6-7

オンラインでのデータの送信オンラインでのデータの送信オンラインでのデータの送信オンラインでのデータの送信 ............................................................................................................................... 6-8オフラインでのデータの送信オフラインでのデータの送信オフラインでのデータの送信オフラインでのデータの送信 ............................................................................................................................... 6-8

データ・アンロード・スクリプトおよび SQL*Loader 制御ファイルの生成 ....................................... 6-9

Microsoft SQL Server または Sybase Adaptive Server からのデータファイルの作成 ........................ 6-9

Microsoft Access からのデータファイルの作成 ...................................................................................... 6-10

Informix Dynamic Server からのデータファイルの作成 ....................................................................... 6-10

MySQL からのデータファイルの作成 ..................................................................................................... 6-10

IBM DB2/400 からのデータファイルの作成 .......................................................................................... 6-11

IBM DB2 UDB からのデータファイルの作成 .......................................................................................... 6-12

データファイルを使用した移行先データベースへの移入 ..................................................................... 6-12

Informix ESQL/C ソース・ファイルの移行ソース・ファイルの移行ソース・ファイルの移行ソース・ファイルの移行 .................................................................................................... 6-13

7 Oracle データベースのテストデータベースのテストデータベースのテストデータベースのテスト

概要概要概要概要 ........................................................................................................................................................................... 7-2テストの方法論テストの方法論テストの方法論テストの方法論 ....................................................................................................................................................... 7-2Oracle データベースのテスト手順データベースのテスト手順データベースのテスト手順データベースのテスト手順 ...................................................................................................................... 7-3

テストの作成ガイドライン ........................................................................................................................... 7-6

ユニット・テスト・ケースの例 ................................................................................................................... 7-6

iii

Page 6: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

8 Oracle データベースの配置データベースの配置データベースの配置データベースの配置

配置方法配置方法配置方法配置方法 ................................................................................................................................................................... 8-2

段階的アプローチ ........................................................................................................................................... 8-2

ビッグバン・アプローチ ............................................................................................................................... 8-2

パラレル・アプローチ ................................................................................................................................... 8-2移行先データベースの配置移行先データベースの配置移行先データベースの配置移行先データベースの配置 ................................................................................................................................... 8-3

9 レポートの使用レポートの使用レポートの使用レポートの使用

概要概要概要概要 ........................................................................................................................................................................... 9-2レポートの生成レポートの生成レポートの生成レポートの生成 ....................................................................................................................................................... 9-2

レポートの表示および使用レポートの表示および使用レポートの表示および使用レポートの表示および使用 ................................................................................................................................... 9-2

データベースのサマリー・レポートの表示 ............................................................................................... 9-3

データベースのサマリー・レポートの使用 ............................................................................................... 9-4

データベースの詳細レポートの表示 ........................................................................................................... 9-4

データベースの詳細レポートの使用 ........................................................................................................... 9-5

データベースのエラーおよび警告レポートの表示 ................................................................................... 9-5

データベースのエラーおよび警告レポートの使用 ................................................................................... 9-6「「「「Log」ウィンドウおよびログ・ファイルへのアクセス」ウィンドウおよびログ・ファイルへのアクセス」ウィンドウおよびログ・ファイルへのアクセス」ウィンドウおよびログ・ファイルへのアクセス .................................................................................. 9-7

10 トラブルシューティングトラブルシューティングトラブルシューティングトラブルシューティング

Workbench リポジトリのトラブルシューティングリポジトリのトラブルシューティングリポジトリのトラブルシューティングリポジトリのトラブルシューティング ...................................................................................... 10-2

Workbench リポジトリへの接続 ............................................................................................................... 10-2

破損したデフォルトのリポジトリの再作成 ............................................................................................. 10-2

Oracle8i または Oracle9i の破損リポジトリの再作成 ............................................................................ 10-2

Microsoft Access のトラブルシューティングのトラブルシューティングのトラブルシューティングのトラブルシューティング ................................................................................................. 10-3

Microsoft Access セキュリティの削除 ...................................................................................................... 10-3

Microsoft Access 95 内の不適切なリレーション ..................................................................................... 10-3

表に対する主キーの定義 ............................................................................................................................. 10-4

Microsoft Access ODBC データソースを使用した表データの移行 ..................................................... 10-5

データ移行時の不適切なブール値 ............................................................................................................. 10-5

Microsoft Access のエラー・メッセージ .................................................................................................. 10-6Microsoft SQL Server およびおよびおよびおよび Sybase Adaptive Server のトラブルシューティングのトラブルシューティングのトラブルシューティングのトラブルシューティング .............................. 10-7

ストアド・プロシージャのコレクション ................................................................................................. 10-7

所有者がいないスキーマ・オブジェクト ................................................................................................. 10-7

iv

Page 7: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフライン取得スクリプトの文字 ............................................................................................................. 10-8

空の文字列データを含む表の移行 ........................................................................................................... 10-10

Microsoft SQL Server および Sybase Adaptive Server に関するパーサーのリファレンス情報 .... 10-11

用語集用語集用語集用語集

索引索引索引索引

v

Page 8: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

vi

Page 9: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

はじめにはじめにはじめにはじめに

vii

Page 10: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

このマニュアルの用途このマニュアルの用途このマニュアルの用途このマニュアルの用途このマニュアルでは、Oracle Migration Workbench リリース 9.2.0 for Microsoft Windows 98/NT/2000/XP を使用して、他社のデータベースを Oracle データベースに移行する方法について説明します。また、移行プロセスの詳細も説明します。

対象読者対象読者対象読者対象読者このマニュアルは、他社のデータベースを Oracle データベースに移行する必要があるアプリケーション開発者を対象としています。

関連ドキュメント関連ドキュメント関連ドキュメント関連ドキュメントMigration Workbench には、次の関連ドキュメントがあります。

� 『Oracle Migration Workbench Frequently Asked Questions (FAQ)』

� Oracle Migration Workbench オンライン・ヘルプ

� 『Oracle Migration Workbench リリース・ノート』

また、Migration Workbench には、移行可能な他社のデータベース固有のリファレンス・ガイドも含まれています。

� 『Oracle Migration Workbench Reference Guide for Informix Dynamic Server Migrations』

� 『Oracle Migration Workbench Reference Guide for Microsoft Access 2.0/95/97/2000 Migrations』

� 『Oracle Migration Workbench Reference Guide for Microsoft SQL Server and Sybase Adaptive Server Migrations』

� 『Oracle Migration Workbench Reference Guide for MySQL 3.22, 3.23 Migrations』

� 『Oracle Migration Workbench Reference Guide for IBM DB2/400 V4R5 Migrations』

� 『Oracle Migration Workbench Reference Guide for IBM DB2 UDB Migrations』

次のドキュメントにもデータベースの移行に関連する内容が記載されています。

� 『Oracle Database アプリケーション開発者ガイド』

� 『Oracle Database 概要』

� 『Oracle Database 管理者ガイド』

� 『Oracle Database SQL リファレンス』

viii

Page 11: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

リリース・ノート、インストール関連ドキュメント、ホワイト・ペーパーまたはその他の関連ドキュメントは、OTN-J(Oracle Technology Network Japan)から、無償でダウンロードできます。OTN-J を使用するには、オンラインでの登録が必要です。登録は、次の Web サイトから無償で行えます。

http://otn.oracle.co.jp/membership/

すでに OTN-J のユーザー名およびパスワードを取得している場合は、次の URL で OTN-J Web サイトの Migration Workbench のドキュメントのセクションに直接接続できます。

http://otn.oracle.co.jp/software/tech/migration/index.html

他社のデータベース・システムから Oracle に移行したことにより、運用の効率化、セキュリティの向上およびパフォーマンスの向上を実現した、United Airlines 社、Raytheon 社および Gulf Insurance Company 社の事例について、次の Web サイトの「The Great Migration」を参照してください。

http://www.oracle.com/oramag/oracle/02-may/index.html?o32migration.html

用語用語用語用語このマニュアルでは、Windows は、Microsoft Windows 98、Windows NT 4.0、Windows 2000 または Windows XP のオペレーティング・システムを指します。

表記規則表記規則表記規則表記規則この項では、このマニュアルで使用される表記規則について説明します。

規則規則規則規則 意味意味意味意味

固定幅フォント 固定幅フォントは、コマンド、ディレクトリ名、ユーザー名、パス名およびファイル名を示します。

イタリック イタリック体は、変数(ファイル名の変数部分など)を示します。

大文字 大文字は、Structured Query Language(SQL)の予約語、初期化パラ

メータおよび環境変数を示します。

ix

Page 12: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

コマンド構文コマンド構文コマンド構文コマンド構文コマンドおよびファイルの内容を示すすべての例は、固定幅フォントで示されます。この項では、コマンド構文で使用される表記規則について説明します。

コード例の変数コード例の変数コード例の変数コード例の変数次の表に、このマニュアル全体で使用する変数を示します。他の変数については、使用する箇所で説明します。

オンライン・ドキュメント要件オンライン・ドキュメント要件オンライン・ドキュメント要件オンライン・ドキュメント要件Migration Workbench に組み込まれているオンライン・ドキュメントを参照するには、Webブラウザ(Netscape Navigator 4.0 以上など)を使用します。PDF ドキュメントを表示するには、Adobe Acrobat Reader バージョン 4.0 以上を使用します。次の Web サイトで、Adobe Acrobat Reader をダウンロードできます。

http://www.adobe.com/products/acrobat/readstep.html

規則規則規則規則 意味意味意味意味

中カッコ { } 中カッコは必須項目を示します。

.DEFINE {macro1}

大カッコ [ ] 大カッコは、任意に選択する項目を示します。

cvtcrt termname [outfile]

省略記号 ... 省略記号は、任意の数の類似項目を示します。

CHKVAL fieldname value1 value2 ... valueN

イタリック イタリック体は特定の値を指定する必要がある変数を示します。

library_name

縦線 | 縦線は、中カッコまたは大カッコ内の複数の選択項目の区切りに使用します。

SIZE filesize [K|M]

変数変数変数変数 説明説明説明説明

ORACLE_HOME Windows では環境変数 %ORACLE_HOME%、UNIX では環境変数

$ORACLE_HOMEで指定される Oracle ホーム・ディレクトリ。

OMWB_install_dir Migration Workbench をインストールした絶対ディレクトリ。

x

Page 13: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オンライン・サポートオンライン・サポートオンライン・サポートオンライン・サポートオラクル社カスタマ・サポート・センターに連絡する前に、viii ページの「関連ドキュメント」に示す Migration Workbench ドキュメントを参照してください。質問に対する答えをこれらのドキュメントでみつけることができない場合に使用可能な他の形式のサポートについては、次の項を参照してください。

OTN-J への登録への登録への登録への登録

サポート方法のいずれかを使用する前に OTN-J に登録する必要があります。OTN-J への登録の手順は、次のとおりです。

1. ブラウザを使用して次の URL を表示します。

http://otn.oracle.co.jp/membership/index.html

2. 「新規プロファイル登録新規プロファイル登録新規プロファイル登録新規プロファイル登録」→「SSL 通信に対応しているときはこちらへ通信に対応しているときはこちらへ通信に対応しているときはこちらへ通信に対応しているときはこちらへ」または「SSL通信に対応していないときはこちらへ通信に対応していないときはこちらへ通信に対応していないときはこちらへ通信に対応していないときはこちらへ」をクリックします。

3. OTN-J 登録フォームに必要事項を入力して、「基本情報登録基本情報登録基本情報登録基本情報登録」をクリックします。

OTN-J ディスカッション・フォーラムディスカッション・フォーラムディスカッション・フォーラムディスカッション・フォーラム

OTN-J ディスカッション・フォーラムを使用してサポートを要請することもできます。Oracle ディスカッション・フォーラムを表示するには、OTN-J に登録する必要があります。

現在議論されているトピックを表示したり、Migration Workbench に関するメッセージをポストするには、次の手順を実行します。

1. ブラウザを使用して次の URL を表示します。

http://otn.oracle.co.jp/forum/index.html

xi

Page 14: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

xii

Page 15: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

1

概要概要概要概要

この章では、Oracle Migration Workbench(Migration Workbench)を使用して、他社のデータベースを Oracle データベースに移行する方法について説明します。また、移行プロジェクトを計画するために実行する必要がある移行プロセスおよびタスクについても説明します。この章の内容は次のとおりです。

� 概要

� Migration Workbench の動作

� 移行プロセスでの Migration Workbench の使用

� Migration Workbench のメリット

� サポートされている他社のデータベース

概要 1-1

Page 16: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

概要

概要概要概要概要Oracle データベースでは、他社のデータベースより高いスケーラビリティ、信頼性、パフォーマンスおよびセキュリティが提供されます。このため、多くの企業が、現行のデータベース(Microsoft SQL Server、Microsoft Access など)から Oracle データベースに移行しています。データベースの移行は複雑なプロセスであるため、オラクル社では Migration Workbench を提供しています。Migration Workbench は、他社のデータベースから Oracleデータベースに移行する場合に有効なツールです。このマニュアルでは、移行プロセス、および Migration Workbench を使用して他社のデータベースから Oracle データベースに移行する方法について説明します。

Migration Workbench は、ソース・データベースから情報を取得してソース・モデルに表示します。ソース・モデルは、Workbench リポジトリに格納されているソース・データベースの構造を表します。Migration Workbench を使用すると、データ(スキーマ・オブジェクト、トリガー、ストアド・プロシージャなど)を移行できます。Migration Workbench では、Workbench リポジトリという独自のリポジトリを使用して、移行中に存続する移行情報を格納します。また、ソース・モデルの変更および同等の Oracle モデルの生成もできます。Oracle モデルは、移行先データベースの構造を表し、Workbench リポジトリに格納されます。Migration Workbench は、ソース・モデルの情報を使用して Oracle モデルに移入します。その後、ソース・モデルおよび Oracle モデルの情報を使用して、データベース・オブジェクトの比較、Oracle の予約語との競合の確認および移行プロセスの管理を行うことができます。

Migration Workbench の動作の動作の動作の動作この項では、Migration Workbench のコンポーネントの詳細、およびそれらを使用して他社のデータベースを Oracle データベースに移行する方法について説明します。図 1-1 に、Migration Workbench およびプラグインでソース・データベースから情報を読み取り、Oracle データベースを作成する方法を示します。Migration Workbench は、Workbench リポジトリに格納されている情報を使用して Oracle データベースに移行します。Oracle モデルおよびソース・モデルを使用して、移行前にソース・モデルまたは Oracle モデルに対して行う必要がある変更を確認できます。

1-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 17: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Migration Workbench の動作

図図図図 1-1 Migration Workbench アーキテクチャアーキテクチャアーキテクチャアーキテクチャ

Migration WorkbenchMigration Workbench では、他社のデータベースを Oracle データベースに移行する場合に有効なユーザー・インタフェース(ウィザードを含む)が提供されています。Migration Workbench には、次のウィザードおよびスクリプトが組み込まれています。

� ソース・データベースを取得するための取得ウィザード

� ソース・モデルを Oracle モデルに移行するための移行ウィザード

� データベースの構造を記述する一連のファイルを作成するスクリプト、およびソース・データベースから移行先データベースにデータをコピーするスクリプト

これらのウィザードおよびスクリプトを使用した後、Migration Workbench のユーザー・インタフェースを使用して Oracle モデルをカスタマイズできます。

様々な他社のデータベースを移行するために、Migration Workbench では、移行可能なデータベースそれぞれに固有のプラグインを使用します。Migration Workbench に 1 つ以上のプラグインをインストールする必要があります。

概要 1-3

Page 18: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行プロセスでの Migration Workbench の使用

プラグインプラグインプラグインプラグインMigration Workbench は、プラグインを使用して、ソース・データベースのデータ・ディクショナリからデータを抽出し、ソース・モデルを作成します。また、プラグインを使用してソース・モデルを Oracle モデルに変換します。

Workbench リポジトリリポジトリリポジトリリポジトリWorkbench リポジトリは、ソース・モデル、Oracle モデル、および移行に関する情報を格納する Oracle データベースの表の集まりです。ソース・モデルおよび Oracle モデルをWorkbench リポジトリに格納することによって、本番環境に影響を与えずに移行をカスタマイズできます。Workbench リポジトリは、移行中のデータベースに関する依存性情報を保存します。

Workbench リポジトリの格納には、Oracle8i または Oracle9i データベースを使用することをお薦めします。ただし、必要に応じて、Migration Workbench とともにインストールされるデフォルトの Workbench リポジトリに情報を格納できます。

移行プロセスでの移行プロセスでの移行プロセスでの移行プロセスでの Migration Workbench の使用の使用の使用の使用Migration Workbench のプロセスには、次の 3 段階があります。

� ソース・データベースの取得

� Oracle モデルの作成およびカスタマイズ

� ソース・データベースから Oracle データベースへの移行

ソース・データベースの取得ソース・データベースの取得ソース・データベースの取得ソース・データベースの取得この段階では、Migration Workbench を使用して、ソース・データベースのデータ・ディクショナリからメタデータを抽出し、Workbench リポジトリのソース・モデルに移入します。この段階では、次の 2 つの方法を使用できます。

� 取得ウィザードを使用して、ソース・データベースに接続し、データベース構造を抽出してソース・モデルに移入します。

� ソース・データベースに対して実行する Migration Workbench 取得スクリプトを使用して、データベース構造を記述したファイルを取得します。その後、Migration Workbench を使用して、これらのファイルからソース・モデルに移入します。

これらのタスクの詳細は、第 4 章「ソース・データベースの取得」を参照してください。

1-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 19: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行プロセスでの Migration Workbench の使用

移行先データベースへのアクセス移行先データベースへのアクセス移行先データベースへのアクセス移行先データベースへのアクセス移行を行うために移行先データベースにアクセスするには、次のロールおよび権限が必要です。

ロールロールロールロールCONNECT WITH ADMIN OPTIONRESOURCE WITH ADMIN OPTION

権限権限権限権限ALTER ANY ROLEALTER ANY SEQUENCEALTER ANY TABLEALTER TABLESPACEALTER ANY TRIGGERCREATE ANY SEQUENCECREATE ANY TABLECREATE ANY TRIGGERCREATE PUBLIC SYNONYMCREATE ROLECREATE TABLESPACECREATE USERDROP ANY SEQUENCEDROP ANY TABLEDROP ANY TRIGGERDROP TABLESPACEDROP USERGRANT ANY ROLEINSERT ANY TABLESELECT ANY TABLE

注意注意注意注意 : ユーザー SYSでは、データベースを移行できません。

概要 1-5

Page 20: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Migration Workbench のメリット

Oracle モデルの作成およびカスタマイズモデルの作成およびカスタマイズモデルの作成およびカスタマイズモデルの作成およびカスタマイズこの段階では、Migration Workbench を使用して、ソース・データベースのメタデータ

(ソース・モデルに表示される)を Oracle モデル内の類似した Oracle スキーマ・オブジェクトにマップします。取得ウィザードを使用すると、デフォルトで自動的に Oracle モデルが作成されます。ソース・モデルと Oracle モデルの両方とも、後の段階でカスタマイズできます。

このタスクの詳細は、第 5 章「Oracle モデルの作成およびカスタマイズ」を参照してください。

ソース・データベースからソース・データベースからソース・データベースからソース・データベースから Oracle データベースへの移行データベースへの移行データベースへの移行データベースへの移行この段階では、Migration Workbench を使用して、ソース・データベースを Oracle データベースに移行します。Migration Workbench は、スキーマ・オブジェクト情報を Oracle モデルから抽出し、移行先データベースにこれらのオブジェクトを作成します。また、Oracleデータベースにスキーマ・オブジェクトを作成した後、これらのオブジェクトにソース・データベースからデータを移入します。このタスクの詳細は、第 6 章「データベースの移行」を参照してください。

Migration Workbench は、ソース・データベース・システムの一部の機能をレプリケートします。これらのレプリケートされたソースの機能は、omwb_emulationスキーマに作成されます。Migration Workbench は、移行先データベース内のすべてのユーザーがこれらの機能にアクセスできるように、これらの機能に対してパブリック・シノニムを作成します。

Migration Workbench のメリットのメリットのメリットのメリット次に、他社のデータベースから Oracle データベースへの移行に Migration Workbench を使用するメリットを示します。

� 移行作業における労力とリスクが軽減します。

� 移行を自動化できる度合いに基づき、詳細な情報によって判断できます。

� 他社のデータベースから Oracle データベースにデータおよびアプリケーションを移行する手順が簡素化されます。

� 他社のデータベース全体(トリガーおよびストアド・プロシージャを含む)を移行できます。

� 移行プロセスの管理に役立つ、統合されたビジュアル環境が提供されます。

� 比較用に、ソース・モデルと Oracle モデルが表示されます。

� 移行に関するフィードバックがレポートされます。

1-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 21: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Migration Workbench のメリット

� ソース・モデルおよび Oracle モデルをカスタマイズして、移行プロセスを 大限に自動化できます。

� Migration Workbench を使用して他社のデータベースに接続せずに、そのデータベースからメタデータを収集できます。

� 各段階で直感的に使えるウィザードを使用して移行を実行できるため、移行プロセスが簡単になります。

Migration Workbench のすべてのプラグインは、表、索引、およびユーザーをサポートしています。表 1-1 に、Migration Workbench によってサポートされているソース・データベースの機能(制限付きの場合あり)を示します。

参照参照参照参照 : 特定の機能のサポートの詳細は、移行している他社のデータベースのリファレンス・ガイドを参照してください。

表表表表 1-1 Migration Workbench でサポートされている他社のデータベースの機能でサポートされている他社のデータベースの機能でサポートされている他社のデータベースの機能でサポートされている他社のデータベースの機能

機能機能機能機能

Sybase Adaptive Server およびおよびおよびおよびMicrosoft SQL Server

Microsoft Access1

1 リレーション、リンク表およびアプリケーション・コードの再利用がサポートされています。

Informix Dynamic Server MySQL2

2 ENUM がサポートされています。

IBM DB2/400

IBM DB2 UDB

ストアド・プロシージャ

はい いいえ はい なし なし いいえ

トリガー はい なし はい なし いいえ いいえ

ビュー はい はい3

3 ビューは、解析されず、Microsoft Access では「クエリー」と呼ばれます。

はい なし はい4

4 ビューは解析されません。

いいえ

制約5

5 制約には、外部キー、主キーおよびチェック制約が含まれます。

はい はい6

6 検証規則はサポートされていません。

はい はい いいえ はい7

7 制約は解析されません。

グループ はい なし はい なし なし はい

埋込み SQL なし なし はい8

8 ESQL/C は Pro*C に移行されます。

なし なし なし

複数データベース はい いいえ はい はい いいえ はい

概要 1-7

Page 22: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

サポートされている他社のデータベース

サポートされている他社のデータベースサポートされている他社のデータベースサポートされている他社のデータベースサポートされている他社のデータベースMigration Workbench を使用して、次の他社のデータベースを Oracle データベースに移行できます。

� Microsoft SQL Server 6.5、7.0 および 2000

� Sybase Adaptive Server 11 および 12

� Microsoft Access 2.0、95、97 および 2000

� Informix Dynamic Server 7.3

� Informix Dynamic Server 9.1

� MySQL 3.22 および 3.23

� IBM DB2/400 V4R3 および V4R5

� IBM DB2 UDB 6、7.1 および 7.2

1-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 23: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行計画の

2

移行計画の準備移行計画の準備移行計画の準備移行計画の準備

この章では、移行計画を作成する手順について説明します。移行計画に必要な部分を明確にし、それぞれに何を含める必要があるかを判断する方法および移行に伴うリスクを回避する方法について説明します。この章の内容は次のとおりです。

� タスク 1: 移行要件の確認

� タスク 2: Migration Workbench を使用した場合のワークロードの見積り

� タスク 3: 運用要件の分析

� タスク 4: アプリケーションの分析

� タスク 5: 移行の計画

準備 2-1

Page 24: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 1: 移行要件の確認

タスクタスクタスクタスク 1: 移行要件の確認移行要件の確認移行要件の確認移行要件の確認このタスクでは、移行するデータベースおよびそのデータベースにアクセスするアプリケーションを明確にします。また、業務要件の評価およびテスト基準の定義も行います。

移行要件を確認するには、次の手順を実行します。

1. 移行する範囲を定義します。

移行する範囲を定義するために、他社のデータベースおよびそのデータベースにアクセスするアプリケーションに関していくつかの項目を選択する必要があります。移行の問題および依存性のリストを作成するには、次のことを考慮します。

� 移行する他社のデータベースについて

– バージョン

– キャラクタ・セット

� 他社のデータベースを Oracle データベースに移行すると影響を受けるソース・アプリケーションについて

– 他社のアプリケーションの言語

– 使用しているアプリケーション言語のバージョン

移行の範囲で、移行する必要があるアプリケーションを特定しておく必要があります。データベースを移行すると影響を受ける、すべての必要なアプリケーションが含まれていることを確認してください。

� Oracle データベースへの移行に関連する接続性の問題のタイプについて

– アプリケーションを他社のデータベースに接続するために接続ソフトを使用するかどうか。アプリケーションを Oracle データベースに接続するために接続ソフトを変更する必要があるかどうか。

– 使用する接続ソフトのバージョンは何か。Oracle データベースに接続するためにこの同じバージョンを使用できるかどうか。

� アプリケーションを再作成するか、またはアプリケーションを変更して Oracle データベースで動作させるかどうかについて

2. 表 2-1 を使用して、ソース・データベース環境が複雑か、または単純かを判断します。個々の移行計画に基づいて要件を確認します。

その移行が単純な計画である場合は、このマニュアルに示すすべてのタスクを実行する必要はありません。ユーザーの使用環境に基づいて決定します。たとえば、複雑な計画である場合は、データベースにアクセスしているアプリケーションの複雑さに伴って追加のテストが必要な場合があります。

2-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 25: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 1: 移行要件の確認

3. 移行先データベースにハードウェアの追加およびバックアップ・スケジュールの再作成が必要かどうかを判断します。

4. 評価項目と評価基準を定義します。

移行の精度を測定するための評価項目を定義します。その後、評価基準によって移行が正常に実行されたかどうかを確認します。要件に基づいて評価項目を作成し、安定性の測定、パフォーマンスの評価およびアプリケーションのテストも行います。Oracle データベースおよびアプリケーションを本番環境に配置する前に、必要な評価項目を決定する必要があります。

5. 移行要件を記載したドキュメントを作成します。

要件ドキュメントでは、タスクを明確に定義して個々の要件を集約し、必要に応じて詳細な要件に分割します。

表表表表 2-1 複雑な計画と単純な計画複雑な計画と単純な計画複雑な計画と単純な計画複雑な計画と単純な計画

複雑な計画複雑な計画複雑な計画複雑な計画 単純な計画単純な計画単純な計画単純な計画

次の項目の 1 つ以上が該当する場合 :

� 大規模データベース(25GB を超え

る)

� データ・ウェアハウス

� 大規模アプリケーション(100 を超え

るフォーム、レポートおよびバッチ・ジョブ)

� データベースが複数の業務で使用されている

� 分散配置

� 大規模ユーザー・ベース(100 を超え

る)

� 高可用性要件(止められない環境など)

次の項目が該当する場合 :

� 小規模データベース(25GB 未満)

� 単純なオンライン・トランザクション処理(OLTP)

� 小規模アプリケーション(100 未満のフォーム、

レポートおよびバッチ・ジョブ)

� データベースは 1 部門で使用されています。

� 集中配置

� 小規模ユーザー・ベース(100 未満)

� 平均可用性(営業時間)

移行計画の準備 2-3

Page 26: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 2: Migration Workbench を使用した場合のワークロードの見積り

タスクタスクタスクタスク 2: Migration Workbench を使用した場合のワークロードのを使用した場合のワークロードのを使用した場合のワークロードのを使用した場合のワークロードの見積り見積り見積り見積り

このタスクでは、Migration Workbench を使用して、自動化可能な作業と手動作業の量を計算に基づいて決定します。

Migration Workbench を使用してワークロードを見積もるには、次の手順を実行します。

1. Migration Workbench を使用して、ソース・モデルの取得、Oracle モデルの作成および移行先データベースへの移行を行います。

Migration Workbench を使用すると、ソース・モデルを使用してソース・データベースを、Oracle モデルを使用して移行先データベースのプレビューを分析できます。ソース・データベースを取得した後で、ソース・モデルおよび Oracle モデルに格納されている取得データを分析します。Workbench リポジトリの内容と構造が正しいことを確認し、プロセス全体にかかる時間を判断します。

2. Migration Workbench レポートを生成および使用して、取得プロセスおよび移行プロセスの評価、データベース・オブジェクトの合計数の分類、および自動的に変換および移行可能なオブジェクトの数の確認を行います。

サマリー、詳細、エラーおよび警告のレポートでは、実行されたアクションに関する情報が提供され、警告およびエラーが記録されます。また、移行先データベースにアクセスするアプリケーションに対して変更を行う必要があるかどうかを評価できるように、Oracle モデルに対して行われた変更が確認されます。

3. Migration Workbench の実行中に発生した問題を評価および分類します。Migration Workbench のレポートでは、次のものについての有効な情報が提供されます。

� ソース・データベース取得時にロードされなかった表

� Oracle モデルの作成時に解析が行われなかったストアド・プロシージャ、ビューおよびトリガー

� 手動操作が必要な構文

� 移行先データベースへの移行時に正常に作成されなかったデータベース・オブジェクト

� 移行先データベースへの移行時に正常に移行されなかったデータ

4. Migration Workbench のレポート内の各エラーまたは警告に対して、次の項目を評価します。

� 問題が発生した回数

� 問題の修正に必要な時間(工数)

� 問題の修正に必要なリソース数

複雑な問題を解決した後は、次に同様の問題が発生した場合、より簡単かつ迅速に解決できます。

2-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 27: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 4: アプリケーションの分析

これらのレポートを使用して各エラーを評価し、修正にかかる時間を判断します。これらのレポートは、Migration Workbench によって作成されたデータベースのサイズの確認に有効です。

タスクタスクタスクタスク 3: 運用要件の分析運用要件の分析運用要件の分析運用要件の分析このタスクでは、次の手順を実行して運用要件を分析します。

1. ソース・データベースを移行先データベースに移行する場合の運用上の考慮点を分析します。次の項目について考慮します。

� 必要なバックアップおよびリカバリの変更について

� 移行時に必要な停止時間について

� パフォーマンス要件への適合について

� 運用時間枠の変更について

� 停止時間が業務に与える影響について

� 必要なトレーニング要件または社員に関する追加要件について

� 他社のデータベースと Oracle データベースを同時に実行する必要性について

2. 各タスクに対して、実行に必要なリソースと時間を判断します。

3. 初の移行計画を作成します。

要件の確認および計画の段階で収集した情報を使用して、 初の移行計画を作成します。

タスクタスクタスクタスク 4: アプリケーションの分析アプリケーションの分析アプリケーションの分析アプリケーションの分析このタスクでは、ソース・データベースで実行されているアプリケーションのユーザー、ソース・データベースに必要なハードウェア、アプリケーションの機能およびソース・データベースに対するアプリケーションのインタフェースを確認します。また、データベースへの接続および必要な変更を明確にするためにアプリケーションで使用されるメソッドも分析します。

注意注意注意注意 : 移行する範囲が複雑な計画(表 2-1 を参照)である場合は、これらのすべての項目に対処することをお薦めします。単純な計画である場合は、該当する項目にのみ対処します。

移行計画の準備 2-5

Page 28: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 5: 移行の計画

アプリケーションを分析するには、次の手順を実行します。

1. アプリケーションを移行先データベースで効果的に実行するためにアプリケーションへの変更が必要かどうかを判断します。

2. アプリケーションへの変更が必要な場合は、アプリケーションの再作成または変更のどちらがより効果的かを判断します。

Oracle データベースを使用するためにアプリケーションを再作成する場合は、次のことを考慮します。

a. アプリケーションの再作成に必要なプロジェクト・ドキュメントを作成します。たとえば、設計仕様および要件ドキュメントが必要です。

b. 仕様に従ってアプリケーションを再作成します。

c. アプリケーションが Oracle データベースに対して動作することをテストします。

Oracle データベースを使用するためにアプリケーションを変更する場合は、次のことを考慮します。

a. アプリケーション内に存在する、データベースへの接続数を確認し、Oracle データベースを使用するためにこれらの接続を変更します。

ODBC または JDBC 接続を使用するために、接続情報を変更する必要がある場合があります。

b. Oracle データベースに対してアプリケーションのテストを行う前に、アプリケーション内の変更する必要がある埋込み SQL 文を特定します。

c. Oracle データベースを使用してアプリケーションをテストします。

3. アプリケーションの再作成または変更に関連する各問題に対処するための時間およびリソースを割り当てます。

4. タスク 1 で作成した、この計画についての全体的な要件ドキュメントを更新します。

タスクタスクタスクタスク 5: 移行の計画移行の計画移行の計画移行の計画このタスクでは、移行に関連する可能性がある不確定要素(ソース・データベースと移行先データベースでのテクノロジの違いなど)を分析します。計画段階では、次の項目を分析します。

� この移行計画の予算制約を見積もります。

� 移行計画を作成するための情報を収集します。

� 移行にかかる時間を見積もります。

� 移行を完了し、テストするために必要なリソースの量を計算します。

2-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 29: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 5: 移行の計画

移行を計画するには、次の手順を実行します。

1. タスク 1 の移行要件を完全に満たすために必要なタスクのリストを定義します。

2. 移行を完了するために必要なタスクのリストを分類します。

これらのタスクを業務別にグループ化する必要があります。これによって、リソースをより正確にスケジュールおよび割当てできます。

3. タスク 3 および 4 で収集した情報に基づいて移行計画を更新して 終版を確定します。

4. 移行計画が移行の要件を満たしていることを確認してください。

移行計画には、計画の説明、割り当てられたリソース、トレーニング要件、移行結果、全体要件、環境分析、リスク分析、アプリケーション評価および移行スケジュールを含める必要があります。

移行計画の準備 2-7

Page 30: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

タスク 5: 移行の計画

2-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 31: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行を行う

3

移行を行う前に移行を行う前に移行を行う前に移行を行う前に

この章では、Migration Workbench を使用して他社のデータベースを Oracle データベースに移行する前に実行する必要があるタスクについて説明します。これらのタスクを、移行可能な他社のデータベースのプラグインごとに示します。

この章の内容は次のとおりです。

� Migration Workbench の構成

� プラグインの構成

� Oracle データベースに関する接続情報の確認

前に 3-1

Page 32: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Migration Workbench の構成

Migration Workbench の構成の構成の構成の構成移行する他社のデータベースに関係なく、Migration Workbench が 新バージョンであることを確認します。Migration Workbench および移行する他社のデータベースに適したプラグインを Oracle Technology Network Japan の次の Web サイトからダウンロードできます。

http://otn.oracle.co.jp/software/tech/migration/index.html

Workbench リポジトリのデータベース・ユーザーの作成リポジトリのデータベース・ユーザーの作成リポジトリのデータベース・ユーザーの作成リポジトリのデータベース・ユーザーの作成他社のデータベースを Oracle データベースに移行するには、Migration Workbench にリポジトリが必要です。Workbench リポジトリに Oracle8i または Oracle9i データベースを使用する場合は、データベース・ユーザー・アカウントを使用してそのデータベースにアクセスする必要があります。移行用に、Workbench リポジトリ・ユーザーとして専用のユーザー・アカウント(REPUSERなど)を作成することをお薦めします。REPUSERユーザーは後で削除できるため、データベースから移行のすべての形跡を削除できます。移行に標準のアカウント(system など)は使用しないでください。

REPUSERユーザーを作成するには、次の手順を実行します。

1. Workbench リポジトリに使用する Oracle データベースを持つシステムにログオンします。

Workbench リポジトリを持つ REPUSERデータベース・ユーザーを作成するには、Oracle データベースに接続する必要があります。REPUSERアカウントを作成するには、Oracle データベースに接続しているユーザーに、Oracle データベースに対する DBA 権限が付与されている必要があります。

2. 次のコマンド(password は、データベース・ユーザーのパスワード)を使用してSQL*Plus を起動します。

prompt> sqlplus SYSTEM/PASSWORD

次のようなメッセージが表示されます。

Connected to:Oracle9i Release 9.2.0.1.0 - ProductionJServer Release 9.2.0.1.0 - Production

注意注意注意注意 : Migration Workbench を使用する前に、ソース・データベースのバックアップを行うことをお薦めします。ソース・データベースのバックアップの詳細は、個々のソース・データベースに付属のドキュメントを参照してください。

3-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 33: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

3. 次のコマンドを入力して、REPUSERユーザーを作成し、ユーザー・パスワードをREPUSER に設定します。

SQL> CREATE USER REPUSER IDENTIFIED BY REPUSER;

次のメッセージが表示されます。

User Created.

4. 次のとおり入力して、REPUSERユーザーに権限を割り当てます。

SQL> GRANT CONNECT,RESOURCE TO REPUSER;

次のメッセージが表示されます。

Grant succeeded.

プラグインの構成プラグインの構成プラグインの構成プラグインの構成Oracle データベースに移行する他社のデータベースによっては、接続情報を構成し、ドライバをインストールする必要がある場合があります。他社のデータベースに固有の要件の詳細は、次の項を参照してください。

� Microsoft SQL Server から移行する前に

� Sybase Adaptive Server から移行する前に

� Microsoft Access から移行する前に

� Informix Dynamic Server から移行する前に

� MySQL から移行する前に

� IBM DB2/400 から移行する前に

� IBM DB2 UDB から移行する前に

Microsoft SQL Server から移行する前にから移行する前にから移行する前にから移行する前にMicrosoft SQL Server データベースを移行用に構成するには、次の手順を実行します。

1. Migration Workbench で使用される Microsoft SQL Server ユーザーが、ソース・データベースにアクセス可能であることを確認します。このユーザーは、Microsoft SQL Server データベースに対する DBA 権限を所有している必要があります。

2. Migration Workbench をインストールしたシステムから Microsoft SQL Server データベースに接続できることを確認します。

移行を行う前に 3-3

Page 34: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

3. システムに Migration Workbench としてインストールされるリリース 3.70.06.23 以上のMicrosoft SQL Server ODBC ドライバを、次のとおりインストールします。

Microsoft SQL Server ODBC ドライバは、Microsoft SQL Server クライアント・ソフトウェアに付属しています。インストール手順は、Microsoft SQL Server のバージョンによって異なります。Microsoft SQL Server ODBC ドライバの詳細は、Microsoft SQL Server 固有のドキュメントを参照してください。

4. 次の手順を実行して、Oracle ODBC データソースを設定します。

Oracle ODBC データソースは、データソース名(Data Source Names: DSN)の設定に使用されます。ユーザー・レベルまたはシステム・レベルで DSN を作成できます。

a. 「スタートスタートスタートスタート」→「設定設定設定設定」→「コントロールコントロールコントロールコントロール パネルパネルパネルパネル」を選択します。

「コントロール パネル」ダイアログ・ボックスが表示されます。

b. Windows 2000 を使用している場合は、「管理ツール管理ツール管理ツール管理ツール」アイコンを選択します。

c. 「Data Source (ODBC)」アイコンを選択します。

「ODBC Data Source Administrator」ダイアログ・ボックスが表示されます。

d. 「User DSN」タブで、「Add」をクリックします。

「Create New Data Source」ダイアログ・ボックスが表示されます。

e. 「SQL Server」を選択した後、「Finish」をクリックします。

「Create a New Data Source to SQL Server」ダイアログ・ボックスが表示されます。

f. 「Name」フィールドにデータソース名を入力します。

g. ドロップダウン・リストから接続する SQL Server データベースを選択するか、または入力した後、「Next」をクリックします。

h. ログイン ID の認証を確認した後、「Next」をクリックします。

i. オプションを確認した後、「Next」をクリックします。

j. 「Next」をクリックします。

k. 「Finish」をクリックします。

「ODBC Microsoft SQL Server Setup」ページが表示されます。

l. 「Test Data Source」オプションをクリックして、ODBC 接続が正しく設定されていることを確認した後、「OK」をクリックします。

接続に失敗した場合は、手順 d に戻り、接続の詳細を変更します。

m. 「OK」をクリックします。

DSN 接続が作成されます。

3-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 35: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

Sybase Adaptive Server から移行する前にから移行する前にから移行する前にから移行する前にSybase Adaptive Server データベースを移行用に構成するには、次の手順を実行します。

1. Migration Workbench をインストールしたシステムに Sybase Client ソフトウェアをインストールします。

2. Migration Workbench をインストールしたシステムから Sybase Adaptive Server データベースに接続できることを確認します。

3. Migration Workbench と同じシステムに、リリース 3.11.00.01 以上の Sybase Adaptive Server ODBC ドライバをインストールします。

Sybase Adaptive Server ODBC ドライバは、Sybase Adaptive Server 11 および Sybase Adaptive Server 12 のクライアント・ソフトウェアに付属しています。インストール手順は、Sybase Adaptive Server のバージョンによって異なります。

4. 次の手順を実行して、Sybase Adaptive Server ODBC データソースを構成します。

ユーザー・レベルまたはシステム・レベルで DSN を作成できます。

a. 「スタートスタートスタートスタート」→「設定設定設定設定」→「コントロールコントロールコントロールコントロール パネルパネルパネルパネル」を選択します。

「コントロール パネル」ダイアログ・ボックスが表示されます。

b. Windows 2000 を使用している場合は、「管理ツール管理ツール管理ツール管理ツール」アイコンを選択します。

c. 「Data Source (ODBC)」アイコンを選択します。

「ODBC Data Source Administrator」ダイアログ・ボックスが表示されます。

d. 「User DSN」タブで、「Add」をクリックします。

「Create New Data Source」ダイアログ・ボックスが表示されます。

e. 「Sybase System 11」または「Sybase System 12」を選択した後、「Finish」をクリックします。

「ODBC Sybase Driver Setup」ダイアログ・ボックスが表示されます。

f. 「Data Source Name」フィールドに ODBC データソースの名前を入力します。

g. 「Server Name」フィールドに Sybase Adaptive Server がインストールされているサーバーの名前を入力した後、「OK」をクリックします。

h. 「OK」をクリックします。

Sybase ODBC データソース接続が作成されます。

5. Sybase Adaptive Server データソースにサーバー・アドレスを設定します。

a. Sybase Adaptive Server の dseditプログラムから、ディレクトリ・サービスを選択した後、「OK」をクリックします。

b. サーバー・アドレスを選択します。

移行を行う前に 3-5

Page 36: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

c. 「Server Object」→「Modify Attribute」を選択します。

「Network Address Attribute」ダイアログ・ボックスが表示されます。

d. プロトコル・ネットワーク・アドレスが正しいことを確認します。

e. 「OK」をクリックします。

Microsoft Access から移行する前にから移行する前にから移行する前にから移行する前にMicrosoft Access データベースを移行用に構成するには、次の手順を実行します。

1. Microsoft Access データベース・ファイルのバックアップを作成します。

2. Microsoft Access 2.0、95 または 97 を移行する場合は、Migration Workbench と同じシステムに次のものがインストールされていることを確認します。

� Microsoft Access 97

� リリース 4.00.4202.00 以上の Microsoft ODBC ドライバ

Microsoft ODBC ドライバは、次の Web サイトから 新バージョンの Microsoft Data Access Components(MDAC)をダウンロードして入手できます。

http://www.microsoft.com/data/download.htm

3. Microsoft Access 2000 を移行する場合は、Migration Workbench と同じシステムに次のものがインストールされていることを確認します。

� Microsoft Access 2000

� リリース 4.00.4403.00 以上の Microsoft ODBC ドライバ

Microsoft ODBC ドライバは、次の Web サイトから 新バージョンの MDAC をダウンロードして入手できます。

http://www.microsoft.com/data/download.htm

4. セキュリティが有効な場合は、次の手順を実行して、保護されたデータベースの内容を新しいデータベースにコピーし、セキュリティを無効にする必要があります。

Migration Workbench では、セキュリティが有効になっている Microsoft Access データベースの移行はサポートされていません。デフォルトでは、Migration Workbench によって、Microsoft Access MDB ファイルの名前が移行先 Oracle ユーザーのユーザー名として使用されます。この方法で Oracle ユーザーを作成する場合、パスワードはORACLE です。

a. Microsoft Access で、「File」→「New Database」を選択します。

b. 「Blank Database」アイコンを選択した後、「OK」をクリックします。

c. 「File New Database」オプションで、データベースの名前を入力した後、「Create」をクリックします。

3-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 37: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

d. 新しいデータベースで「File」→「Get External Data」→「Import」を選択します。

e. インポート対象の保護された Microsoft Access データベースを選択した後、「Import」をクリックします。

f. 「Import Objects」ダイアログ・ボックスで、「Options」をクリックします。

g. 「Relationships」、「Definition」および「Data」オプションを選択します。

h. 「Tables」タブで、「Select All」を選択します。

i. 「OK」をクリックします。

すべての Microsoft Access オブジェクト(セキュリティ設定を除く)が Microsoft Access データベースにコピーされます。

5. 他の Microsoft Access データベースにリンクされた表がアプリケーションに含まれている場合は、Microsoft Access IDE 内のアプリケーションをオープンし、「Tools」→

「Add Ins」→「Linked Table Manager」を選択してこれらのリンクをリフレッシュします。

6. Oracle Lite データベースに移行する場合は、Oracle Lite データベースの DSN をPOLITEに変更してシステムを再起動する必要があります。

7. Microsoft Access データベースがレプリカ・データベースではなく、マスター・データベースであることを確認します。

データベースがレプリカの場合に Oracle Migration Workbench Exporter for Microsoft Access を使用してエクスポートを行うと、エラー・メッセージが表示されます。Migration Workbench では、Microsoft Access データベースのレプリカの移行はサポートされていません。

8. Microsoft Access で「Tools」→「Database」→「Compact Database」を選択して、Microsoft Access データベース・ファイルを圧縮します。

9. Microsoft Access MDB ファイルが Migration Workbench をインストールしたシステムからアクセス可能であることを確認します。

注意注意注意注意 : Migration Workbench では、他の Microsoft Access データベースにリンクされた表がサポートされます。Migration Workbench は、移行する各 Microsoft Access データベースに対応する Oracle データベース内にユーザー・スキーマを自動的に作成します。ただし、移行先データベースに単一のユーザー・スキーマが作成されるようにするには、すべての表を単一の Microsoft Access データベースに移動することをお薦めします。

移行を行う前に 3-7

Page 38: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

10. Oracle Universal Installer を使用して Oracle ODBC ドライバがインストールされていることを確認します。このドライバをインストールする必要がある場合は、Oracle Database Server または Database Client の CD で入手可能です。Oracle ODBC ドライバは、Oracle Technology Network Japan(OTN-J)の Web サイトの次のセクションからダウンロードできます。

http://otn.oracle.co.jp/software/tech/windows/odbc/index.html

Oracle ODBC ドライバをインストールすると、Microsoft Access のフォームおよびレポートで移行したデータを処理できます。Oracle ODBC ドライバは、Oracle Net Services が含まれている Oracle ホーム・ディレクトリにインストールします。Oracle Net Services は、Oracle9i Client または Oracle9i データベースの CD から入手できます。Net Configuration Assistant および Net Manager を入手するために、Oracle Net Services をインストールします。これらを使用して、tnsnames.oraファイルにネット構成を作成できます。

11. 次の手順を実行して、「ODBC Data Source Administrator」に Oracle ODBC データソースを設定します。

a. 「スタートスタートスタートスタート」→「設定設定設定設定」→「コントロールコントロールコントロールコントロール パネルパネルパネルパネル」を選択します。

「コントロール パネル」ウィンドウが表示されます。

b. Windows 2000 を使用している場合は、「管理ツール管理ツール管理ツール管理ツール」アイコンを選択します。

c. 「Data Source (ODBC)」アイコンを選択します。

「ODBC Data Source Administrator」ダイアログ・ボックスが表示されます。

d. 「User DSN」タブで、「Add」をクリックします。

「Create New Data Source」ダイアログ・ボックスが表示されます。

e. システムにインストールされている ODBC ドライバのリストから「Oracle ODBC Driver」を選択した後、「Finish」をクリックします。

注意注意注意注意 : Oracle データベースへの接続に必要なネットワーク製品のインストールの詳細は、Oracle9i のインストレーション・ガイドを参照してください。

注意注意注意注意 : 同じシステムで複数のユーザーにデータソース名(DSN)を使用する場合は、ユーザー DSN ではなくシステム DSN を作成する必要があります。

3-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 39: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

f. 「Data Source Name」フィールドで、ODBC データソースの名前を入力します。

このデータソース名は、Migration Workbench の「Modify Microsoft Access Database」ダイアログ・ボックスで指定する必要がある ODBC データソースです。

Microsoft Access XML ファイルの作成ファイルの作成ファイルの作成ファイルの作成Microsoft Access データベースの取得の準備を行うには、Oracle Migration Workbench Exporter for Microsoft Access を使用する必要があります。このアプリケーションは、Microsoft Access MDE ファイルとしてパッケージされていて、Microsoft Access MDB ファイルを XML ファイルにエクスポートできます。選択した Microsoft Access データベースでリンクされた表を使用すると、そのリンクされた表のスキーマ情報も XML ファイルにエクスポートされます。

Oracle Migration Workbench Exporter for Microsoft Access を使用して Microsoft Accessデータベースを XML ファイルにエクスポートするには、次の手順を実行します。

1. Microsoft Access で適切な MDE ファイルをオープンします。

� Microsoft Access 97 の場合は、次のファイルをオープンします。

OMWB_install_dir¥Omwb¥msaccess_exporter¥omwb97.mde

� Microsoft Access 2000 の場合は、次のファイルをオープンします。

OMWB_install_dir¥Omwb¥msaccess_exporter¥omwb2000.mde

画面に、Oracle に移行する Microsoft Access データベース・ファイルの指定を求めるプロンプトが表示されます。

2. 「MDB File Name」フィールドに、移行する Microsoft Access データベースのパスを入力します。

必要に応じて、「Browse」を選択して Microsoft Access データベースの位置を確認します。

3. 必要に応じて、「XML File Name」フィールドで、XML ファイルのパスおよびファイル名を変更します。

注意注意注意注意 : 一度にエクスポートおよび取得できるのは、1 つの Microsoft Access データベースのみです。

注意注意注意注意 : 生成された XML ファイルは、自動的に読取り専用に設定されます。このファイルは変更しないでください。

移行を行う前に 3-9

Page 40: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

4. 「Export」をクリックします。

選択した Microsoft Access データベースが XML ファイルにエクスポートされます。Oracle Migration Workbench Exporter for Microsoft Access では、現在、保護されたデータベースまたはレプリカ・データベースからの XML の作成はサポートされていません。保護されたデータベースまたはレプリカ・データベースを使用してこの手順を実行しようとすると、Oracle Migration Workbench Exporter for Microsoft Access にエラー・メッセージが表示されます。

Informix Dynamic Server から移行する前にから移行する前にから移行する前にから移行する前にInformix Dynamic Server データベースを移行用に構成するには、次の手順を実行します。

1. Informix Dynamic Server JDBC ドライバのバージョン 1.4 JAR ファイル ifxjdbc.jarが次のディレクトリに格納されていることを確認します。

OMWB_install_dir¥Omwb¥Drivers

2. 必要に応じて、次の手順を実行してバージョン 1.4 の Informix Dynamic Server JDBC ドライバをインストールします。

a. Informix Dynamic Server CD を CD ドライブに挿入します。

b. ¥JDCC¥install.txtファイルの指示に従って、Informix Dynamic Server JDBCドライバをインストールします。

c. ドライバの ifxjdbc.jarファイルを次のディレクトリにコピーします。

OMWB_install_dir¥Omwb¥drivers directory

3. Migration Workbench をインストールしたシステムから Informix Dynamic Server データベースに接続できることを確認します。

MySQL から移行する前にから移行する前にから移行する前にから移行する前にMySQL データベースを移行用に構成するには、次の手順を実行します。

1. 次の手順を実行して、Migration Workbench をインストールしたシステムにリリース1.2a の MM MySQL JDBC ドライバをインストールします。

a. 次の WorldServer の Web サイトから MM MySQL JDBC ドライバをダウンロードします。

http://mmmysql.sourceforge.net/oldDist.html

b. mm.mysql.jdbc-1.2a.zipファイルを次のディレクトリにコピーします。

OMWB_install_dir¥Omwb¥drivers

3-10 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 41: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

c. mm.mysql.jdbc-1.2a.zipファイルを解凍します。

mm.mysql.jdbc-1.2aという新しいディレクトリが driversディレクトリに作成されます。

2. rootユーザーが MySQL データベースにアクセスできることを確認します。このユーザーは、データベース管理権限を所有している必要があります。

IBM DB2/400 から移行する前にから移行する前にから移行する前にから移行する前にIBM DB2/400 データベースを移行用に構成するには、次の手順を実行します。

1. Migration Workbench をインストールしたシステムに IBM DB2/400 JDBC ドライバをインストールします。

ドライバは、IBM DB2/400 V4R3 または V4R5 の CD からインストールするか、または次の手順を実行して IBM Toolkits for Java の Web サイトからダウンロードできます。

a. 次の JTOpen(IBM Toolbox for Java のオープン・ソース・バージョン)の Web サイトに移動します。

http://www-124.ibm.com/developerworks/oss/jt400/index.html

b. 「Toolbox downloads 」リンクをクリックします。

「IBM Toolbox for Java」ページが表示されます。

c. 「JTOpen」リンクをクリックします。

「registration」ページが表示されます。

d. IBM Web サイトの登録に使用したユーザー ID およびパスワードを入力します。

ユーザー ID およびパスワードを持っていない場合は、登録を選択できます。ユーザー ID およびパスワードを入力すると、「JTOpen Version 3.1」ページが表示されます。

e. 登録情報を確認した後、「Accept License」をクリックします。

「Enter Network Password」ダイアログ・ボックスに自動的にリダイレクトされます。

f. IBM Web サイトの登録に使用したユーザー ID およびパスワードを再入力します。

「JTOpen Version 3.1 download」ページが表示されます。

g. 「Single File Download」で、「jtopen_3_1.zip」リンクをクリックしてこのファイルをダウンロードします。

「File Download」ダイアログ・ボックスが表示されます。

移行を行う前に 3-11

Page 42: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

プラグインの構成

h. j2open_3_1.zipファイルを開き、jt400.jarファイルを検索して次のディレクトリに抽出します。

OMWB_install_dir/Omwb/drivers

2. データベース管理者権限を持つユーザー名で IBM DB2/400 データベースにログインできることを確認します。

IBM DB2 UDB から移行する前にから移行する前にから移行する前にから移行する前にIBM DB2 UDB データベースを移行用に構成するには、次の手順を実行します。

1. Migration Workbench と同じシステムに IBM DB2 UDB Client ソフトウェアをインストールします。

これによって、db2java.zipファイルに含まれている IBM DB2 UDB JDBC ドライバが自動的にインストールされます。

2. db2java.zipファイルを次のディレクトリに格納します。

OMWB_install_dir/Omwb/drivers

3. データベース管理者権限を持つユーザー名で IBM DB2 UDB データベースにログインできることを確認します。

4. 移行する IBM DB2 UDB データベースまたはその別名が IBM DB2 UDB Control Center内の「Databases」フォルダに表示されていることを確認します。

データベースまたは別名を IBM DB2 UDB Control Center の「Databases」フォルダに追加するには、次の手順を実行します。

a. 適切なインスタンスから「Databases」フォルダを選択します。

b. 「Selected」→「Add」を選択します。

「Add Database」ダイアログ・ボックスが表示されます。

注意注意注意注意 : AS/400 Developer Kit for Java に付属のネイティブ JDBC ドライバは、AS/400 Java Virtual Machine(JVM)でのみ動作するため、Migration Workbench では使用できません。

注意注意注意注意 : Migration Workbench では、JDBC 1.2 または JDBC 2.0 のいずれかに準拠している IBM DB2 UDB JDBC ドライバの使用がサポートされています。

3-12 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 43: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースに関する接続情報の確認

c. データベース名のドロップダウン・リストから、追加するデータベースを選択します。

d. 必要に応じて、「Alias」オプションにデータベースの別名を入力します。

e. 「OK」をクリックします。

Oracle データベースに関する接続情報の確認データベースに関する接続情報の確認データベースに関する接続情報の確認データベースに関する接続情報の確認Oracle データベースに接続するには、そのデータベースの接続情報がわかっている必要があります。わからない場合は、次の手順を実行して、Oracle データベースの接続情報を表示します。この接続情報は、Oracle8i または Oracle9i リポジトリにログインする場合、Tablespace Discoverer を使用する場合または移行先データベースを指定する場合に使用します。この接続情報には、ホスト、ポート番号およびシステム識別子(SID)が含まれています。

Oracle データベースのホスト、ポート番号および SID を表示するには、次の手順を実行します。

1. 使用する Oracle データベースを持つシステムにログインします。

2. 次のコマンドを入力して、データベース接続ソフトウェアのステータスを表示します。

prompt> lsnrctl status

次のようなリストが表示されます。

LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 13-AUG-2002 12:09:40Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - ProductionStart Date 12-AUG-2002 09:22:49Uptime 1 days 2 hr. 46 min. 51 secTrace Level OFFSecurity OFFSNMP OFFListener Parameter File d:¥oracle¥network¥admin¥listener.oraListener Log File d:¥oracle¥network¥log¥listener.logListening Endpoints Summary...

注意注意注意注意 : Oracle データベースの複数のインスタンスが存在する場合は、DBA に 適なインスタンスを判断してもらうことをお薦めします。

移行を行う前に 3-13

Page 44: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースに関する接続情報の確認

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=¥¥.¥pipe¥EXTPROC1ipc)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1.domain1.com)(PORT=1521)))(Presentation=FTP)(Session=RAW))Services Summary...Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "ora92" has 1 instance(s). Instance "ora", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully

3. Migration Workbench で要求された場合は、リストで TCP プロトコルのエントリを検索し、検出されたホストおよびポート番号を使用します。

たとえば、サンプル・リストの TCP エントリは次のとおりです。

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1.domain1.com)(PORT=1521)

このサンプル・リストでは、ホストは server1.domain1.comで、ポート番号は1521です。

4. Migration Workbench で要求された場合は、データベース・インスタンスのエントリを検索し、検出されたインスタンス名(SID に対応)を使用します。

たとえば、サンプル・リストのデータベース・インスタンスのエントリは次のとおりです。

Instance "ora", status UNKNOWN, has 1 handler(s) for this service...

このサンプル・リストでは、SID は oraです。

注意注意注意注意 : Oracle データベースのデフォルトのポート番号は 1521 です。

3-14 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 45: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

ソース・データベースの

4

ソース・データベースの取得ソース・データベースの取得ソース・データベースの取得ソース・データベースの取得

この章では、ソース・データベースを取得する方法について説明します。この章の内容は次のとおりです。

� 概要

� Migration Workbench の起動

� 取得ウィザードの使用

� オフライン取得ファイルの作成

� Informix ESQL/C ソース・ファイルの取得

� ソース・モデルのカスタマイズ

� データ型マッピングのカスタマイズ

取得 4-1

Page 46: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

概要

概要概要概要概要他社のデータベースを移行する前に、そのデータベースから情報を抽出する必要があります。この情報は、ソース・モデルと呼ばれるソース・データベースの構造を表します。データベースから情報を抽出するプロセスは、ソース・データベースの取得と呼ばれます。

ソース・データベースを取得するには次の 2 つの方法があります。

� オンライン取得では、Migration Workbench を使用してソース・データベースに接続し、データベース構造を抽出してソース・モデルに移入します。オンライン取得を実行する場合は、4-8 ページの「取得ウィザードの使用」を参照してください。MySQL、IBM DB2 UDB または IBM DB2/400 データベースから移行する場合は、オンライン取得を使用する必要があります。

� オフライン取得では、Migration Workbench の取得スクリプトを使用してソース・データベースに接続し、データベース構造を記述する一連のファイルを作成します。その後、Migration Workbench を使用してこれらのファイルからソース・モデルに移入できます。オフライン取得を実行する場合は、取得ウィザードを使用する前に、4-5 ページの「オフライン取得ファイルの作成」で説明する手順を実行する必要があります。

次の場合にオフライン取得を使用します。

� Migration Workbench を実行しているコンピュータからソース・データベースに接続できない場合。

� 多くのストアド・プロシージャを含む複雑なデータベースを移行する場合。多くのストアド・プロシージャを含む複雑なデータベースを移行する場合は、オンライン取得よりオフライン取得のほうが有効です。

ソース・データベースの取得後、Migration Workbench のソース・モデルにソース・データベース情報を表示できます。ソース・モデルは変更できます(4-13 ページの「ソース・モデルのカスタマイズ」を参照)。

4-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 47: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Migration Workbench の起動

次の図に、移行プロセス全体でのこのプロセスの位置付けを示します。

Migration Workbench の起動の起動の起動の起動Migration Workbench を起動するには、次の手順を実行します。

1. 「Start」→「Run」を選択します。

2. 次のコマンドを入力して、「OK」をクリックします。

OMWB_install_dir/Omwb/bin/omwb.bat

前述のコマンドの OMWB_install_dir は、Migration Workbench をインストールした絶対ディレクトリです。

ソース・データベースの取得 4-3

Page 48: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Migration Workbench の起動

3. 移行に使用する Workbench リポジトリを選択します。

Workbench リポジトリについては、1-4 ページの「Workbench リポジトリ」を参照してください。

ソース・モデルを取得する前に、使用する Workbench リポジトリの指定を求めるプロンプトが表示されます。

� デフォルトの Workbench リポジトリを選択するには、「Default Repository」をクリックします。

デフォルトの Workbench リポジトリは、Oracle9i Lite データベースです。

� Oracle8i または Oracle9i データベースを選択するには、そのデータベースのユーザー・アカウントおよび接続情報を入力します。

Workbench リポジトリとして使用するデータベースの接続情報の詳細を表示する方法については、3-13 ページの「Oracle データベースに関する接続情報の確認」を参照してください。

Workbench リポジトリとして使用するデータベースに、専用のユーザー・アカウント(REPUSERユーザー)を作成する必要があります。REPUSERユーザーの作成方法については、3-2 ページの「Workbench リポジトリのデータベース・ユーザーの作成」を参照してください。

選択した Oracle データベースの REPUSERスキーマに Workbench リポジトリが存在しない場合は、作成を求めるプロンプトが表示されます。「OK」をクリックします。

「Select Migration Source」画面が表示されます。

4. インストールされたプラグインのリストから、使用するプラグインを選択します。

プラグインを変更すると、現行の Oracle モデルのデータ(存在する場合)はWorkbench リポジトリから削除されます。

現行の Workbench リポジトリを初めて使用する場合は、取得ウィザードが表示されます。初めてでない場合は、Migration Workbench のメイン画面が表示されます。

注意注意注意注意 : Oracle8i または Oracle9i データベースを Workbench リポジトリとして使用するように指定することをお薦めします。デフォルトのWorkbench リポジトリを選択した場合は、オンライン取得を実行する必要があります。

4-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 49: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフライン取得ファイルの作成

オフライン取得ファイルの作成オフライン取得ファイルの作成オフライン取得ファイルの作成オフライン取得ファイルの作成

オフライン取得を実行するには、ソース・データベースからオフライン取得ファイルを作成した後、取得ウィザードを使用して、そのオフライン取得ファイルの情報をソース・モデルに移入する必要があります。

移行するデータベースによって、適切な手順を実行してオフライン取得ファイルを作成します。

� Microsoft SQL Server または Sybase Adaptive Server 用のオフライン取得ファイルの作成(4-5 ページ)

� Informix Dynamic Server 用のオフライン取得ファイルの作成(4-7 ページ)

使用するプラグインのセクションがない場合、オフライン取得は移行対象のデータベースではサポートされていません。

Microsoft SQL Server またはまたはまたはまたは Sybase Adaptive Server 用のオフライン取得ファ用のオフライン取得ファ用のオフライン取得ファ用のオフライン取得ファイルの作成イルの作成イルの作成イルの作成

Microsoft SQL Server または Sybase Adaptive Server 用のオフライン取得ファイルを作成するには、次の手順を実行します。

1. コマンドライン・プロンプトを起動します。

a. 「Start」→「Run」を選択します。

b. 「cmd」を入力して、「OK」をクリックします。

2. ディレクトリを適切なプラグイン・ディレクトリに変更します。

注意注意注意注意 : オンライン取得を実行する場合は、4-8 ページの「取得ウィザードの使用」を参照してください。

表表表表 4-1 スクリプト・ファイルの位置スクリプト・ファイルの位置スクリプト・ファイルの位置スクリプト・ファイルの位置

プラグインプラグインプラグインプラグイン プラグイン・ディレクトリプラグイン・ディレクトリプラグイン・ディレクトリプラグイン・ディレクトリ

Microsoft SQL Server 6.5 OMWB_install_dir¥Omwb¥offline_capture¥SQLServer6

Microsoft SQL Server 7 OMWB_install_dir¥Omwb¥offline_capture¥SQLServer7

Microsoft SQL Server 2000 OMWB_install_dir¥Omwb¥offline_capture¥SQLServer2k

Sybase Adaptive Server 11 OMWB_install_dir¥Omwb¥offline_capture¥Sybase11

Sybase Adaptive Server 12 OMWB_install_dir¥Omwb¥offline_capture¥Sybase12

ソース・データベースの取得 4-5

Page 50: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフライン取得ファイルの作成

3. プラグイン・ディレクトリからソース・データベース・システムのディレクトリにすべてのファイルをコピーします。たとえば、ソース・データベース・システムの c:¥mwbディレクトリにファイルをコピーできます。

4. ソース・データベースが存在するシステムでコマンドライン・プロンプトを起動します。

a. 「Start」→「Run」を選択します。

b. 「cmd」を入力して、「OK」をクリックします。

5. ディレクトリを手順 3 で使用したディレクトリに変更します。

6. システム・パスを、ソース・データベース・サーバーに付属のバルク・コピー・プログラム(BCP)のバージョンに設定します。BCP のこのバージョンに対するシステム・パスが、BCP の他のバージョンに対するパスの前に指定されていることを確認します。

BCP のバージョンを確認するには、次のいずれかを実行します。

� Microsoft SQL Server の場合は、次のコマンドを入力します。

prompt> bcp -v

� Sybase Adaptive Server の場合は、次のコマンドを入力します。

prompt> bcp -ver

7. Windows システムの場合は、次のコマンドを入力します。

prompt> OMWB_OFFLINE_CAPTURE.BAT login_id password database_name server_name

UNIX システムの場合は、次のコマンドを入力します。

prompt> OMWB_OFFLINE_CAPTURE.SH login_id password database_name server_name

前述のコマンドの login_id、password、database_name および server_name は、ソース・データベースについての該当する値です。これらの値は、前述のコマンドと同じ順序で入力してください。login_id には DBA 権限が必要です。login_id に関連パスワードがない場合は、password を ""に設定します。

たとえば、ログイン ID が userで、パスワードが invoiceの salespcサーバーにある salesという Microsoft SQL Server 2000 データベース用のオフライン取得ファイルを作成するには、次のとおり入力します。

prompt> OMWB_OFFLINE_CAPTURE.BAT user invoice sales salespc

このスクリプトでは、BCP を使用して次のものを作成します。

� マスター・データベース用のオフライン取得ファイルを含む masterディレクトリ。

� database_name がソース・データベースの名前であるデータベース用のオフライン取得ファイルを含む database_nameディレクトリ。

4-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 51: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフライン取得ファイルの作成

8. 取得する各データベースに対して手順 7 を繰り返します。

エラーが発生した場合は、エラー・ログ・ファイルを確認します。オフライン取得スクリプトによって、masterディレクトリおよび database_nameディレクトリにエラー・ログ・ファイル(.err)が作成されます。

9. Migration Workbench をインストールしたシステムに、オフライン取得ファイルを含むディレクトリをコピーします。必ずディレクトリ構造を保持してください。

たとえば、c:¥offline_captureディレクトリにサブディレクトリをコピーできます。

10. オフライン取得ファイルを含むディレクトリをアーカイブし、アーカイブ・ソフトウェアの名前とバージョンとともに、アーカイブ・ファイルを移入先の Oracle データベースを持つシステムに戻します。これには、アーカイブ・ファイルからディレクトリを復元する方法も含めます。

オフライン取得スクリプトによって、オフライン取得ファイルに関する情報を含むテキスト・ファイル database_name_INFO.txtも作成されます。このファイルは、database_nameディレクトリに格納され、次の情報を含みます。

� 取得スクリプトが実行された日時

� オフライン取得スクリプトの内容およびバージョン

� ソース・データベース・サーバーのプロパティ

� masterおよび database_nameディレクトリのディレクトリ・リスト

Informix Dynamic Server 用のオフライン取得ファイルの作成用のオフライン取得ファイルの作成用のオフライン取得ファイルの作成用のオフライン取得ファイルの作成Informix Dynamic Server 用の取得ファイルを作成するには、次の手順を実行します。

1. コマンドライン・プロンプトを起動します。

a. 「Start」→「Run」を選択します。

b. 「cmd」を入力して、「OK」をクリックします。

「command prompt」ダイアログ・ボックスが表示されます。

2. 次のコマンドを入力してディレクトリを変更します。

prompt> cd OMWB_install_dir¥Omwb¥offline_capture¥INFORMIX

3. offline_captureディレクトリの内容をソース・データベース・システムにコピーします。

たとえば、UNIX システムの /mwbディレクトリ、または Windows システムの c:¥mwbディレクトリにファイルをコピーできます。

ソース・データベースの取得 4-7

Page 52: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

取得ウィザードの使用

4. database_name が移行するデータベースの名前で、server_name が Informix 構成のDBSERVERNAMEまたは DBSERVERALIASの値であるソース・データベース・コンピュータで適切なスクリプトを実行します。

UNIX システムで Informix バージョン 7 用のスクリプトを実行するには、次のようなコマンドを入力します。

prompt> IDS7_DSML_SCRIPT.sh database_name server_name

Windows システムで Informix バージョン 7 用のスクリプトを実行するには、次のようなコマンドを入力します。

prompt> IDS7_DSML_SCRIPT.bat database_name server_name

UNIX システムで Informix バージョン 9 用のスクリプトを実行するには、次のようなコマンドを入力します。

prompt> IDS9_DSML_SCRIPT.sh database_name server_name

Windows システムで Informix バージョン 9 用のスクリプトを実行するには、次のようなコマンドを入力します。

prompt> IDS9_DSML_SCRIPT.bat database_name server_name

各スクリプトは、Informix UNLOAD SQL 文を使用して次のものを作成します。

� Informix sysmaster データベース用の取得ファイルを含む sysmasterディレクトリ。

� Informix データベース用の取得ファイルを含むディレクトリ。

5. 取得する各データベースに対して手順 4 を繰り返します。

6. Migration Workbench システムに出力テキスト・ファイルをコピーします。

たとえば、c:¥DSMLfilesディレクトリにファイルをコピーします。

取得ウィザードの使用取得ウィザードの使用取得ウィザードの使用取得ウィザードの使用取得ウィザードを使用するには、次の手順を実行します。

1. 必要に応じて、Migration Workbench を起動します(4-3 ページの「Migration Workbench の起動」を参照)。

2. 取得ウィザードを起動するには、「Action」→「Capture Source Database」を選択します。

「Welcome」ページが表示されます。

4-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 53: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

取得ウィザードの使用

3. 「Next」をクリックします。

MySQL、IBM DB2 UDB または IBM DB2/400 プラグインを使用している場合は、「Source Database Details」ページが表示されます。手順 6 に進みます。

Microsoft SQL Server、Sybase Adaptive Server または Informix Dynamic Server プラグインを使用している場合は、「Source Model Load Details」ページが表示されます。

� オンライン取得を実行する場合は、「Online Source Model Load」オプションを選択し、「Next」をクリックします。「Source Database Details」ページが表示されます。手順 6 に進みます。

� オフライン取得を実行する場合は、「Offline Source Model Load」オプションを選択し、「Next」をクリックします。「Select Source Model Metadata Files」ページが表示されます。手順 5 に進みます。

Microsoft Access プラグインを使用している場合は、「Select Databases to Capture」ページが表示されます。手順 4 に進みます。

4. Microsoft Access プラグインを使用している場合は、次の手順を実行して、取得するデータベースを選択します。

a. 「Add XML File」をクリックします。

「file selection」ダイアログ・ボックスが表示されます。

b. 3-9 ページの「Microsoft Access XML ファイルの作成」の手順を実行して作成したXML ファイルを選択し、「OK」をクリックします。

「Microsoft Access XML File」リストにファイル名が表示されます。ファイルを移動するには、ファイル名を選択し、「Remove XML File」をクリックします。

c. 「Next」をクリックします。

「Data Type Mapping」ページが表示されます。手順 7 に進みます。

5. オフライン取得を実行している場合は、取得ファイルを選択します。

a. 「Load」をクリックします。

「Select Root Directory」ダイアログ・ボックスが表示されます。

b. 取得ファイルを含むディレクトリを参照し、「OK」をクリックします。

「Select Source Model Metadata Files」ページに、各取得ファイルが表示されます。

c. 「Next」をクリックします。

「Data Type Mapping」ページが表示されます。手順 7 に進みます。

ソース・データベースの取得 4-9

Page 54: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

取得ウィザードの使用

6. オンライン取得を実行している場合は、取得するデータベースを選択します。

a. ソース・データベースの詳細情報を指定します。

取得するデータベースへの接続に必要な情報を入力します。入力する情報は、接続ドライバで使用されます。この接続ドライバによって、Migration Workbench をソース・データベースに接続できます。必要な情報は、次の表に示すとおり、プラグインごとに異なります。

プラグインプラグインプラグインプラグイン 必要な情報必要な情報必要な情報必要な情報

Sybase Adaptive Server およびMicrosoft SQL Server

ログイン ID: デフォルトで Microsoft SQL Server または

Sybase Adaptive Server のログイン saになります。このデ

フォルトは変更できません。

パスワード : 前述のユーザーのパスワード。

ODBC DSN: ODBC データソースの名前。

Microsoft Access なし。

Informix Dynamic Server ユーザー名 : データベース管理権限を持つユーザー。

パスワード : 前述のユーザーのパスワード。

ホスト名 : コンピュータの名前。

ポート番号 : データベースのポート番号。デフォルトのポー

ト番号は 1526 です。

データベース・サーバー : データベースの名前。

MySQL ユーザー名 : データベース管理権限を持つユーザー。

パスワード : 前述のユーザーのパスワード。

ホスト名 : コンピュータの名前。

ポート番号 : データベースのポート番号。デフォルトのポー

ト番号は 3306 です。

IBM DB2/400 ユーザー名 : データベース管理権限を持つユーザー。

パスワード : 前述のユーザーのパスワード。

ホスト名 : コンピュータの名前。

IBM DB2 UDB ユーザー ID: データベース管理権限を持つユーザー。

パスワード : 前述のユーザーのパスワード。

データベース名 : 移行するデータベースの名前のカンマで区

切られたリスト。

4-10 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 55: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

取得ウィザードの使用

b. 「Next」をクリックします。

「Select Databases to Capture」ページが表示されます。

c. 取得するデータベースを選択します。

「Available Databases」リストに、データベースがアルファベット順に表示されます。

d. 「Next」をクリックします。

「Data Type Mappings」ページが表示されます。

7. データ型のマッピングを確認し、「Next」をクリックします。

ソース・データ型が Oracle データベースの類似データ型にマップされます。経験豊富な Oracle データベース管理者以外は、これらのマッピングを変更しないことをお薦めします。これらのマッピングについては、4-14 ページの「データ型マッピングのカスタマイズ」を参照してください。

「Create Oracle Model」ページが表示されます。

8. Oracle モデルを自動的に作成するかどうかを選択します。

� Oracle モデルを自動的に作成する場合は、「Yes」を選択します。

� 後の段階で Oracle モデルを作成する場合は、「No」を選択します。

Oracle モデルを作成する前にソース・モデルをカスタマイズする場合(ソース・モデルからスキーマ・オブジェクトを削除する場合など)は、「No」を選択します。後の段階での Oracle モデルの作成の詳細は、第 5 章「Oracle モデルの作成およびカスタマイズ」を参照してください。

9. 「Next」をクリックします。

Microsoft Access プラグインを使用している場合は、「Destination Database」ページが表示されます。

a. 移行先データベースとして指定する Oracle データベースのタイプを選択します。オプションは次のとおりです。

– Oracle8i/Oracle9i

– Oracle9i Lite

b. 「Next」をクリックします。「Summary」ページが表示されます。

注意注意注意注意 : Oracle9i Lite データベースに移行するには、Oracle9i Lite データベース・ファイルが選択可能である必要があります。

ソース・データベースの取得 4-11

Page 56: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

取得ウィザードの使用

Microsoft Access 以外のプラグインを使用している場合は、「Summary」ページが表示されます。

10. サマリー情報を確認します。

� 選択を変更する必要がある場合は、「Back」をクリックして前のページに戻ります。

� 「Finish」をクリックして取得を開始します。

取得の進捗に関する情報を示す進捗画面が表示されます。複雑なデータベースでの取得プロセスは時間がかかる場合があります。

11. メッセージをフィルタ処理して、エラー・メッセージおよび警告メッセージのみを表示します。

a. ハイライト表示された進捗画面で、「Edit」→「Preferences」を選択します。

b. 「Error Messages」および「Warning Messages」を除く、すべてのオプションの選択を解除します。

c. 「OK」をクリックします。

12. 表示されたメッセージのタイプによって、次の処置を行います。

� エラー・メッセージが表示された場合は、エラーを修正して取得ウィザードを再度起動します。

� 進捗画面に、接頭辞 Parse Exception付きのエラー・メッセージが表示された場合は、5-3 ページの「Oracle モデルのエラーの修正」で説明する手順を実行してこれらのエラーを修正します。

� 警告メッセージが表示された場合は、メッセージに示された問題を検討し、処置が必要かどうかを決定します。

13.「OK」をクリックして進捗画面を閉じます。

Oracle モデルを自動的に作成することを選択した場合は、エラーおよび警告の合計数を示す「Creating Oracle Model」画面が表示されます。

Oracle モデルを自動的に作成しないことを選択した場合は、エラーおよび警告の合計数を示す「Loading Source Model」画面が表示されます。

エラーおよび警告の分析の詳細は、第 9 章「レポートの使用」を参照してください。

14.「OK」をクリックして Migration Workbench のメイン画面に戻ります。

4-12 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 57: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

ソース・モデルのカスタマイズ

Informix ESQL/C ソース・ファイルの取得ソース・ファイルの取得ソース・ファイルの取得ソース・ファイルの取得Informix Dynamic Server データベースを移行する場合は、ESQL/C ソース・ファイルも移行できます。Migration Workbench は、ESQL/C コードを Pro*C コードに移行します。ESQL/C ソース・ファイルは、Informix Dynamic Server データベースを移行しなくても移行できます。つまり、ESQL/C コードは、移行の残りのプロセスとは別のプロセスで移行できます。

ESQL/C コードを移行する前に、ESQL/C ソース・ファイルを取得する必要があります。

1. Migration Workbench をインストールしたシステムで使用可能なディレクトリに、ESQL/C ファイルを含むすべてのディレクトリをコピーします。

2. 「Action」→「Capture ESQL/C Source Files」を選択します。

「Select Source Root Directory」画面が表示されます。

3. 手順 1 で使用した ESQL/C ディレクトリを選択し、「OK」をクリックします。

ESQL/C が、Migration Workbench のソース・モデルのオブジェクトとして表示されます。

ソース・モデルのカスタマイズソース・モデルのカスタマイズソース・モデルのカスタマイズソース・モデルのカスタマイズOracle モデルを作成する前に、一部のスキーマ・オブジェクト(ストアド・プロシージャ、トリガー、ビュー、チェック制約およびデフォルト値)のプロパティを変更できます。

ソース・モデルのスキーマ・オブジェクトを変更するには、次の手順を実行します。

1. ソース・モデル・ツリーの「Databases(n)」ノードを開きます。

カッコ内の数字 n は、ソース・モデル内のデータベースの数を示します。

2. ソース・モデル・ツリーのスキーマ・オブジェクト・ノードを開きます。

カッコ内の数字は、データベース内のそれらのスキーマ・オブジェクトの数を示します。たとえば、「Primary Keys (23)」は、データベースに 23 個の主キーが存在することを示します。

3. 変更するスキーマ・オブジェクトを選択します。

4. 変更するスキーマ・オブジェクトのプロパティを編集します。

各スキーマ・オブジェクトおよびその関連プロパティの詳細は、オンライン・ヘルプを参照してください。

注意注意注意注意 : ソース・モデルを変更する際、ソース・データベースは変更しません。

ソース・データベースの取得 4-13

Page 58: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

データ型マッピングのカスタマイズ

5. スキーマ・オブジェクトを削除するには、次の手順を実行します。

a. 「Object」→「Delete」を選択します。

「confirmation」ダイアログ・ボックスが表示されます。

b. 「Yes」をクリックしてスキーマ・オブジェクトの削除を確定します。

スキーマ・オブジェクトに関連するすべてのディクショナリ項目も削除されます。たとえば、表を削除すると、その表の列のすべての索引がモデルの索引セクションから削除されます。

Oracle モデルの作成時にエラーが発生する場合があります。これらのエラーを修正するには、ソース・モデルをカスタマイズする必要があります(5-3 ページの「Oracle モデルのエラーの修正」を参照)。

データ型マッピングのカスタマイズデータ型マッピングのカスタマイズデータ型マッピングのカスタマイズデータ型マッピングのカスタマイズ

Migration Workbench を使用して、一部のデータ型マッピングをカスタマイズできます。

� clobデータ型を変更して varchar2にマップできます。

� charデータ型を変更して varchar2にマップできます。

� number データ型の精度とスケールを変更できます。

注意注意注意注意 : 経験豊富な Oracle データベース管理者以外は、デフォルトのデータ型マッピングを変更しないことをお薦めします。

4-14 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 59: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルの作成およびカスタマ

5

Oracle モデルの作成およびカスタマイズモデルの作成およびカスタマイズモデルの作成およびカスタマイズモデルの作成およびカスタマイズ

この章では、Oracle モデルを作成およびカスタマイズする方法について説明します。この章の内容は次のとおりです。

� 概要

� Oracle モデルの作成

� Oracle モデルのエラーの修正

� Oracle モデルのカスタマイズ

この章は、第 4 章「ソース・データベースの取得」で説明した手順を実行してソース・データベースをすでに取得していることを前提としています。

イズ 5-1

Page 60: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

概要

概要概要概要概要他社のデータベースを移行する前に、Oracle モデルを作成する必要があります。Oracle モデルは、移行先データベースの構造を表します。Migration Workbench は、ソース・モデルの情報を使用して Oracle モデルを作成します。この章では、Oracle モデルを作成およびカスタマイズする方法について説明します。ソース・モデルのロードの詳細は、第 4 章「ソース・データベースの取得」を参照してください。

移行したデータベースを 適に使用するために、Oracle モデルをカスタマイズして Oracleデータベースの特定の機能(複数表領域など)を使用できます。ただし、経験豊富な Oracleデータベース管理者以外は、Oracle モデルを作成し、そのまま第 6 章「データベースの移行」の説明に従ってデータベースを移行することをお薦めします。

次の図に、移行プロセス全体でのこのプロセスの位置付けを示します。

5-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 61: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのエラーの修正

Oracle モデルの作成モデルの作成モデルの作成モデルの作成

Oracle モデルを作成するには、次の手順を実行します。

1. 「Action」→「Create Oracle Model」を選択します。

「Create Oracle Model」の進捗画面が表示されます。

2. Oracle モデルがすでに作成されている場合は、Oracle モデルを再度作成することを確認するプロンプトが表示されます。「Yes」をクリックして続行します。

3. 進捗画面のメッセージを確認します。

4. 接頭辞 Parse Exception付きのエラー・メッセージが進捗画面に表示されている場合は、5-3 ページの「Oracle モデルのエラーの修正」の手順を使用してこれらのエラーを修正します。

5. 必要に応じて、その他のエラーおよび警告を修正し、手順 1 ~ 3 を再度実行します。

Oracle モデルのエラーの修正モデルのエラーの修正モデルのエラーの修正モデルのエラーの修正接頭辞 Parse Exception付きのエラー・メッセージが進捗画面に表示されている場合、関連スキーマ・オブジェクトは Oracle モデルに表示されません。Oracle モデルを完成するには、次の手順を実行します。

1. エラーが発生したソース・モデルのスキーマ・オブジェクトを書き留めます。

2. ソース・モデルのそのスキーマ・オブジェクトを選択します。

3. エラーの原因に関して、ソース・モデルのスキーマ・オブジェクトのプロパティを調べます。

4. ソース・モデルのスキーマ・オブジェクトのプロパティを変更します。

たとえば、ストアド・プロシージャの 1 行をコメント化します。ソース・モデルのスキーマ・オブジェクトの操作については、4-13 ページの「ソース・モデルのカスタマイズ」を参照してください。

5. 「Object」→「Parse」を選択します。

注意注意注意注意 : 取得ウィザードの実行中に Oracle モデルを自動作成する場合は、この項をスキップできます。Oracle モデルの自動作成の詳細は、4-8 ページの「取得ウィザードの使用」を参照してください。

注意注意注意注意 : 「Object」→「Parse」のメニュー項目は、Oracle モデルを作成してから使用可能になります。

Oracle モデルの作成およびカスタマイズ 5-3

Page 62: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのカスタマイズ

Migration Workbench によって、ソース・モデルのスキーマ・オブジェクトから Oracleモデルのスキーマ・オブジェクトが作成されます。

進捗画面が表示されます。

6. 再度エラーが表示された場合は、手順 2 ~ 5 を繰り返します。

必要に応じて、そのスキーマ・オブジェクトの編集可能なプロパティをすべてコメント化します。これによって、そのスキーマ・オブジェクトを Oracle モデル(移行先データベース)に作成できるようにします。移行したスキーマ・オブジェクトは、移行前と同様には動作しませんが、適切な機能を持つ同等の Oracle スキーマ・オブジェクトを作成できるように、プレースホルダになります。

Oracle モデルのカスタマイズモデルのカスタマイズモデルのカスタマイズモデルのカスタマイズOracle モデルをカスタマイズして、計画フェーズで指定された Oracle 機能を利用できます。

この項では、Oracle モデルに対して次の変更を行う方法について説明します。

� スキーマ・オブジェクトのプロパティの変更

� 表領域の処理

� デフォルトのユーザー・パスワードの変更

スキーマ・オブジェクトのプロパティの変更スキーマ・オブジェクトのプロパティの変更スキーマ・オブジェクトのプロパティの変更スキーマ・オブジェクトのプロパティの変更Oracle モデルのスキーマ・オブジェクトのプロパティを変更するには、次の手順を実行します。

1. Migration Workbench の「Oracle Model」タブをクリックします。

Oracle モデルが表示されます。

2. Oracle モデルのツリーを開いて、変更するスキーマ・オブジェクトを選択します。

3. スキーマ・オブジェクトのプロパティに対して、必要な変更を行います。

各スキーマ・オブジェクトおよびそのスキーマ・オブジェクトに関連するプロパティの詳細は、オンライン・ヘルプを参照してください。

既存の表領域が使用可能な表領域に含まれていない場合、その表領域に対する索引または表の表領域の記憶域プロパティを変更するには、5-6 ページの「既存の表領域の使用」の手順を実行します。

5-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 63: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのカスタマイズ

表領域の処理表領域の処理表領域の処理表領域の処理Oracle データベースは、表領域と呼ばれる 1 つ以上の論理的な記憶域の単位で構成されています。表領域には、データベースのすべてのデータがまとめて格納されています。表領域の詳細は、『Oracle Database 概要』を参照してください。

Migration Workbench のデフォルトの表領域設定に問題がある場合は、表領域の作成または名前の変更を行うか、またはこの項で説明する手順を実行して既存の表領域にオブジェクトを再割当てします。

Migration Workbench では、Oracle モデル作成時に自動的に表領域が作成されます。この機能が動作しないようにするには、「Options」ダイアログ・ボックスの「General」ページで

「Automatically Create Tablespaces During Oracle Model Creation」オプションの選択を解除します。

表領域の作成表領域の作成表領域の作成表領域の作成

Oracle Enterprise Manager を使用して表領域を作成する場合は、5-6 ページの「既存の表領域の使用」で説明する手順を実行して、スキーマ・オブジェクトのプロパティ・シートの表領域のリストに移入する必要があります。

Migration Workbench を使用して手動で表領域を作成するには、次の手順を実行します。

1. Oracle モデルのツリーから表領域ノードを選択します。

2. 「Object」→「Create」を選択します。

「Create Tablespace」画面が表示されます。

3. 「Name」フィールドに表領域名を入力します。

4. 「Create」をクリックします。

Migration Workbench によって、次のデフォルト設定を持つ表領域が作成されます。

CREATE TABLESPACE tablespace_name LOGGING DATAFILE 'tablespace_name.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED

表領域の作成または変更の詳細は、『Oracle Database SQL リファレンス』を参照してください。

注意注意注意注意 : Oracle Enterprise Manager では Oracle 製品に対する広範なシステム管理プラットフォームが提供されているため、表領域の作成には Oracle Enterprise Manager を使用することをお薦めします。

Oracle モデルの作成およびカスタマイズ 5-5

Page 64: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのカスタマイズ

表領域の名前の変更表領域の名前の変更表領域の名前の変更表領域の名前の変更Migration Workbench を使用して表領域の名前を変更するには、次の手順を実行します。

1. Oracle モデルのツリーから表領域を選択します。

2. 「Object」→「Rename」を選択します。

3. データ定義言語(DDL)文の tablespace_nameを編集します。

4. 「Apply」をクリックします。

表領域の変更の詳細は、『Oracle Database SQL リファレンス』を参照してください。

既存の表領域の使用既存の表領域の使用既存の表領域の使用既存の表領域の使用

移行先データベースの既存の表領域を Oracle モデルのすべてのユーザーおよびスキーマ・オブジェクト用のデフォルト表領域として使用するには、次の手順を実行します。

1. 「Tools」→「Tablespace Discoverer」を選択します。

プロンプトが表示された場合は、移行先データベースの次の情報を入力します。

a. 「Username」フィールドに CONNECT および RESOURCE ロールを持つユーザーの名前を入力します。

b. 「Password」フィールドにパスワードを入力します。

c. 「Host」、「Port」および「SID」フィールドに適切な値を入力します。これらのフィールドの適切な値の判断については、3-13 ページの「Oracle データベースに関する接続情報の確認」を参照してください。

2. 「Connect」をクリックします。

「Default Tablespace」、「Index Tablespace」および「Temporary Tablespace」が有効になります。

3. 「Default Tablespace」フィールドでは、使用可能な表領域のドロップダウン・リストから、Oracle モデルのすべてのユーザーおよび表用のデフォルトの表領域の場所を選択します。

4. 「Index Tablespace」フィールドでは、使用可能な表領域のドロップダウン・リストから、Oracle モデルのすべての索引用のデフォルトの表領域の場所を選択します。

5. 「Temporary Tablespace」フィールドでは、Oracle モデルのすべてのユーザー用の一時記憶域のデフォルトの場所を選択します。

注意注意注意注意 : 表領域の名前を変更すると、その表領域を使用するすべてのユーザー、表および索引が新しい表領域名に更新されます。

5-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 65: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのカスタマイズ

6. 「Apply」をクリックします。

デフォルトのユーザー・パスワードの変更デフォルトのユーザー・パスワードの変更デフォルトのユーザー・パスワードの変更デフォルトのユーザー・パスワードの変更Migration Workbench では、ソース・データベースからのパスワードを復号化できないため、Oracle モデルのすべてのユーザーにパスワード oracleが割り当てられています。このパスワードを変更しない場合は、移行先データベースのすべてのユーザーのパスワードもoracleになります。ユーザーのパスワードを変更する場合は、Oracle モデルでそのユーザーを選択し、「User」プロパティ・シートでパスワードを必要な値に変更します。

注意注意注意注意 : 個々のスキーマ・オブジェクト(ユーザー、索引、表など)の表領域は、Oracle モデルのツリーからそのスキーマ・オブジェクトを選択して変更できます。

Oracle モデルの作成およびカスタマイズ 5-7

Page 66: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle モデルのカスタマイズ

5-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 67: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

データベースの

6

データベースの移行データベースの移行データベースの移行データベースの移行

この章では、他社のデータベースを Oracle データベースに移行する方法について説明します。この章の内容は次のとおりです。

� 概要

� 移行ウィザードの使用

� オンラインでのスキーマの作成

� オフラインでのスキーマの作成

� オンラインでのデータの送信

� オフラインでのデータの送信

� Informix ESQL/C ソース・ファイルの移行

この章は、第 5 章「Oracle モデルの作成およびカスタマイズ」で説明した手順を実行してOracle モデルをすでに作成していることを前提としています。

移行 6-1

Page 68: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

概要

概要概要概要概要ソース・データベースを移行するには、この章で説明する手順に従う必要があります。この章で説明する手順を開始する前に、第 4 章および第 5 章で説明した手順を実行して、ソース・モデルを取得し、Oracle モデルを作成する必要があります。

次の順序でデータベースを移行することをお薦めします。

1. 表領域、ユーザーおよびユーザー表を移行します。

2. データを移行します。

3. 残りのスキーマ・オブジェクトを移行します。

移行ウィザードを使用すると、これらの手順が Migration Workbench によって自動的にこの順序で実行されます。

移行の実行には、次の 3 つの方法を使用できます。

� スキーマを作成し、データをオンラインで送信する方法

この方法では、移行ウィザードを使用して、6-3 ページの「移行ウィザードの使用」で説明する手順を実行し、スキーマの作成およびデータの送信を行う必要があります。

Migration Workbench のレポートを も有効に活用するには、この方法を使用します。

� スキーマをオンラインで作成し、データをオフラインで送信する方法

この方法では、移行ウィザードを使用して、6-3 ページの「移行ウィザードの使用」で説明する手順を実行し、スキーマを作成する必要があります。データは、6-8 ページの

「オフラインでのデータの送信」で説明する手順を実行して送信します。

次の場合にこの方法を使用します。

– データ内の異なる部分を異なる時期に移行する必要がある場合。たとえば、タイム・クリティカルなデータを移行する前に変更のないデータを移行する場合などです。

– 大量のデータの場合。

� スキーマの作成およびデータの送信をオフラインで行う方法

この方法では、6-7 ページの「オフラインでのスキーマの作成」で説明する手順を実行してスキーマを作成し、6-8 ページの「オフラインでのデータの送信」で説明する手順を実行してデータを送信する必要があります。

移行先データベースがソース・データベースとは異なるネットワーク上にある場合にこの方法を使用します。

注意注意注意注意 : パフォーマンスを向上させるために、データはオフラインで送信することをお薦めします。

6-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 69: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行ウィザードの使用

移行においては、目的に応じて、それぞれの方法を様々なタイミングで選択できます。たとえば、スキーマの作成およびデータの送信をオンラインで行って移行プロセスを分析し、後でデータをオフラインで送信して移行を微調整できます。

次の図に、移行プロセス全体でのこのプロセスの位置付けを示します。

移行ウィザードの使用移行ウィザードの使用移行ウィザードの使用移行ウィザードの使用移行ウィザードを使用するには、次の手順を実行します。

1. 「Action」→「Migrate to Oracle」を選択して移行ウィザードを起動します。

「Welcome」ページに、データベースの移行に必要な手順が表示されます。

2. 「Next」をクリックします。

「Destination Database Details」ページが表示されます。

データベースの移行 6-3

Page 70: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行ウィザードの使用

3. 移行先データベースへの接続に必要な情報を入力します。

a. 「Username」フィールドに、移行を行うために必要な権限を持つユーザー名を入力します。移行に必要な権限については、1-5 ページの「移行先データベースへのアクセス」を参照してください。

b. 「Password」フィールドに、そのユーザーのパスワードを入力します。

c. 「Host」、「Port」および「SID」フィールドに適切な値を入力します。これらのフィールドの適切な値の判断については、3-13 ページの「Oracle データベースに関する接続情報の確認」を参照してください。

4. 「Next」をクリックします。

「Migrate Tablespaces, Users, and User Tables」ページが表示されます。

5. 以前に移行ウィザードを実行している場合、表領域、ユーザーおよびユーザー表はすでに移行先データベースに存在しているため、これらの再作成を求めるプロンプトが表示されます。「Yes」をクリックしてこれらのオブジェクトを再度作成します。

以前に移行ウィザードを実行していない場合は、「Migrate Tablespaces, Users, and User Tables」ページの情報を確認した後、「Next」をクリックします。

「Migrate Table Data」ページが表示されます。

6. この移行ウィザードのセッション中にデータを送信するかどうかを指定します。

� データをすぐに送信する場合は「Yes」を選択します。

� データを後で送信する場合は「N0」を選択します。

7. 「Next」をクリックします。

「Select Schema Objects to Migrate」ページが表示されます。

8. 移行するスキーマ・オブジェクトを選択した後、「Next」をクリックします。

一部のスキーマ・オブジェクトを手動で作成することもできます。たとえば、移行先データベースに手動で索引を作成できます。この操作を行う場合は、移行するスキーマ・オブジェクトのリストから索引の選択を解除します。

「Summary」ページが表示されます。

9. サマリー情報を確認します。

� 選択を変更する必要がある場合は、「Back」をクリックして前のページに戻ります。

� 「Finish」をクリックして移行を開始します。

注意注意注意注意 : 表領域、ユーザーおよびユーザー表を再度作成する場合、既存のスキーマ・オブジェクトは上書きされ、既存のすべてのデータが失われます。

6-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 71: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行ウィザードの使用

移行の進捗に関する情報を示す進捗画面が表示されます。複雑なデータベースでの移行プロセスは時間がかかる場合があります。

Microsoft Access プラグインを使用している場合は、「Modify Microsoft Access Database」ページが表示されます。

10. Microsoft Access プラグインを使用している場合は、ODBC 接続を使用して Microsoft Access の Forms および Reports で移行先データベースを操作できるように Microsoft Access データベース・ファイルを変更できます。

a. ODBC 接続用のユーザー名を入力します。ODBC 接続用のユーザー名は、移行中のデータベースの名前と同じです。たとえば、northwind.mdbデータベースを移行する場合のユーザー名は northwindです。

b. このユーザーのパスワードを入力します。

c. 移行先データベースへの ODBC 接続の名前を入力します。

移行の進捗に関する情報を示す進捗画面が表示されます。複雑なデータベースでの移行プロセスは時間がかかる場合があります。

11. 進捗画面に表示されたメッセージを確認し、次の操作を行います。

� エラー・メッセージが表示された場合は、エラーを修正して手順 1 に戻ります。

� 警告メッセージが表示された場合は、メッセージに示された問題を検討し、処置が必要かどうかを判断します。

移行の終了後、エラーおよび警告の合計数を示す画面が表示されます。

Microsoft Access プラグインを使用していて、同じ表内の異なる列に 2 つ以上の一意索引が適用されている場合は、移行後、主キーが適切な列に表示されません。主キーが適切な列に表示されるように、次のタスクを実行します。

12. 手順 1 ~ 9 を実行します。ただし、手順 8 で「Indexes」は選択しません。

13. 移行後のタスクを実行し、元の Microsoft Access データベースに ODBC リンクを作成します。

注意注意注意注意 : 移行先データベースで元の Microsoft Access の Forms およびReports を使用するには、Oracle データベースへの ODBC 接続が必要です。

注意注意注意注意 : 他のデータベースにリンクされたデータベースを移行する場合は、リンクされた各データベースが別々のユーザーに移行されます。選択したユーザーが、他のユーザーに属するオブジェクトにアクセスするための十分な権限を所有していることを確認してください。

データベースの移行 6-5

Page 72: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オンラインでのスキーマの作成

14. 手順 1 ~ 4 を繰り返します。

15. 以前に移行ウィザードを実行している場合、表領域、ユーザーおよびユーザー表はすでに移行先データベースに存在しているため、これらの再作成を求めるプロンプトが表示されます。「No」をクリックします。

「Migrate Table Data」ページが表示されます。

16. この移行ウィザードのセッション中にデータを送信するかどうかの指定を再度求められます。「No」をクリックします。

17.「Next」をクリックします。

「Select Schema Objects to Migrate」ページが表示されます。

18. 移行する索引のみを選択し、「Next」をクリックします。

「Summary」ページが表示されます。

19. サマリー情報を確認します。

� 選択を変更する必要がある場合は、「Back」をクリックして前のページに戻ります。

� 「Finish」をクリックして移行を開始します。

移行プロセスの終了後、元の Microsoft Access データベースの表を表示すると、主キーが適切な列に表示されます。

オンラインでのスキーマの作成オンラインでのスキーマの作成オンラインでのスキーマの作成オンラインでのスキーマの作成移行先データベースのスキーマ情報は、Oracle モデルに格納されています。スキーマの作成は、移行先データベースにスキーマ・オブジェクトを作成するプロセスです。

スキーマをオンラインで作成するには、6-3 ページの「移行ウィザードの使用」で説明した移行ウィザードを使用します。次の 2 つの方法があります。

� 移行ウィザードの 1 セッションですべてのスキーマ・オブジェクトを作成する方法。

� 移行ウィザードのそれぞれのセッションで異なるスキーマ・オブジェクトを作成する方法。たとえば、制約およびトリガーを作成する前に表領域、ユーザーおよびユーザー表を作成するには、次の手順を実行します。

1. 移行ウィザードを実行します。

2. 表領域、ユーザーおよびユーザー表の作成を選択します。

3. データをオンラインで送信する場合は、「Migrate Table Data」ページで「Yes」を選択します。

4. データをオフラインで送信する場合は、「Migrate Table Data」ページで「No」を選択します。

6-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 73: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフラインでのスキーマの作成

5. 「Select Schema Objects to Migrate」ページのすべてのオブジェクトの選択を解除します。

6. 「Summary」ページで「Finish」をクリックします。

7. データをオフラインで送信する場合は、6-8 ページの「オフラインでのデータの送信」で説明する方法を使用して送信を実行します。

8. 移行ウィザードを再度実行します。

9. 表領域、ユーザーおよびユーザー表を作成しないことを選択します。

10.「Migrate Table Data」ページで「No」を選択します。

11.「Select Schema Objects to Migrate」ページのすべてのオブジェクトを選択します。

12.「Summary」ページで「Finish」をクリックします。

オフラインでのスキーマの作成オフラインでのスキーマの作成オフラインでのスキーマの作成オフラインでのスキーマの作成移行先データベースのスキーマ情報は、Oracle モデルに格納されています。スキーマの作成は、移行先データベースにスキーマ・オブジェクトを作成するプロセスです。

スキーマは、すべてのスキーマ・オブジェクトで構成されています。ただし、すべてのオブジェクトを 1 セッションで作成する必要はありません。Migration Workbench では、作成するオブジェクトを選択できます。

この機能を使用すると、各行の挿入中に、移行先データベースで時間がかかる手順(トリガー、制約など)を実行せずにデータを送信できます。

スキーマをオフラインで作成するには、次の手順を実行します。

1. 「Action」→「Generate Migration Scripts」を選択します。

「Generate Migration Scripts」画面が表示されます。

2. 移行するスキーマ・オブジェクトを選択します。

3. 「OK」をクリックします。

Migration Workbench によって、スキーマの作成に使用可能な一連のスクリプトが生成されます。

メッセージ・ボックスに、Migration Workbench によってファイルが保存された場所が表示されます。

4. このディレクトリから移行先データベースが格納されているコンピュータにcreate.sqlファイルをコピーします。

5. 移行先データベースのコンピュータにログオンします。

6. create.sqlファイルが格納されているディレクトリに変更します。

データベースの移行 6-7

Page 74: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オンラインでのデータの送信

7. 次のコマンドを入力して SQL*Plus を起動します。user および password は、データベース・ユーザーのユーザ名およびパスワードです。ユーザーが十分な権限を所有していることを確認します。移行に必要な権限については、1-5 ページの「移行先データベースへのアクセス」を参照してください。

prompt> sqlplus user/password

次のようなメッセージが表示されます。

Connected to:Oracle9i Release 9.2.0.1.0 - ProductionJServer Release 9.2.0.1.0 - Production

8. 次のコマンドを使用して create.sqlスクリプトを実行します。

SQL> @create.sql

スクリプトの実行中、次のようなメッセージが表示されます。object は、オブジェクトのタイプ(表など)です。

> object created.

スキーマ・オブジェクトが移行先データベースに作成されます。

オンラインでのデータの送信オンラインでのデータの送信オンラインでのデータの送信オンラインでのデータの送信データをオンラインで送信するには、6-3 ページの「移行ウィザードの使用」で説明した移行ウィザードを使用します。「Migrate Table Data」ページで「Yes」を選択します。

オフラインでのデータの送信オフラインでのデータの送信オフラインでのデータの送信オフラインでのデータの送信データをオフラインで送信するには、ソース・データベースから移行先データベースにデータをコピーするスクリプトを生成して使用します。このプロセスの実行中、次の操作を行う必要があります。

� Migration Workbench を使用して、6-9 ページの「データ・アンロード・スクリプトおよび SQL*Loader 制御ファイルの生成」で説明する手順を実行し、ソース・データベース用のデータ・アンロード・スクリプトおよび移行先データベース用の対応するデータ・ロード・スクリプトを生成する。

� ソース・データベースに適した手順で、データ・アンロード・スクリプトを実行してソース・データベースからデータファイルを作成する。

– Microsoft SQL Server または Sybase Adaptive Server からのデータファイルの作成

– Microsoft Access からのデータファイルの作成

6-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 75: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフラインでのデータの送信

– Informix Dynamic Server からのデータファイルの作成

– MySQL からのデータファイルの作成

– IBM DB2/400 からのデータファイルの作成

– IBM DB2 UDB からのデータファイルの作成

� 6-12 ページの「データファイルを使用した移行先データベースへの移入」で説明する手順を実行して、SQL*Loader を使用してデータ・ロード・スクリプトを実行し、これらのデータファイルから移行先データベースにデータを移入する。

データ・アンロード・スクリプトおよびデータ・アンロード・スクリプトおよびデータ・アンロード・スクリプトおよびデータ・アンロード・スクリプトおよび SQL*Loader 制御ファイルの生成制御ファイルの生成制御ファイルの生成制御ファイルの生成Migration Workbench を使用して、ソース・データベースに対するデータ・アンロード・スクリプトおよび移行先データベースに対する SQL*Loader 制御ファイルを生成します。

1. Oracle モデル内の移行するユーザー・スキーマを選択します。

2. Oracle モデル・ツリーのノードを開いて、関連する表ノードを選択します。

3. 「Object」→「Generate SQL*Loader Scripts」を選択します。

「confirmation」ダイアログ・ボックスが表示されます。

4. 「Yes」をクリックしてスクリプトを生成します。

メッセージ・ボックスに、生成されたスクリプトの場所が表示されます。このディレクトリ名には、タイムスタンプが含まれます。

5. データ・アンロード・スクリプトの場所を書き留めます。

Microsoft SQL Server またはまたはまたはまたは Sybase Adaptive Server からのデータファイルのからのデータファイルのからのデータファイルのからのデータファイルの作成作成作成作成

Microsoft SQL Server または Sybase Adaptive Server データベースからデータファイルを作成するには、次の手順を実行します。

1. ソース・データベースが格納されているコンピュータに、Migration Workbench によってデータ・アンロード・スクリプトが生成されたディレクトリの内容をコピーします。

2. bcp_extract.batスクリプトを編集してソース・データベース・サーバーの名前を含めます。UNIX コンピュータを使用している場合は、bcp_extract.shスクリプトを編集します。次に、dump_extract.batスクリプトの例の一部を示します。

isql -Usa -P -S<SERVER NAME> -iCreate_View.sql bcp pubs.dbo].[authors out AUTHORS.dat -c -t "<ec>" -r "<er>" -Usa -P -S<SERVER NAME> isql -Usa -P -S<SERVER NAME> -iDrop_View.sql

データベースの移行 6-9

Page 76: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフラインでのデータの送信

各行を編集して SERVER NAME に適切な値を含めます。このファイルを編集する際に、山カッコは使用しないください。

3. bcp_extract.batスクリプトを実行します。UNIX コンピュータを使用している場合は、bcp_extract.shスクリプトを実行します。

このスクリプトによって、現行のディレクトリにデータファイルが作成されます。

4. このデータファイルを、Migration Workbench によってデータ・アンロード・スクリプトが作成されたディレクトリの oracleサブディレクトリにコピーします。

Microsoft Access からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成Microsoft Access データベースからデータファイルを作成するには、Oracle Migration Workbench Exporter for Microsoft Access を使用します。

Informix Dynamic Server からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成Informix Dynamic Server データベースからデータファイルを作成するには、次の手順を実行します。

1. ソース・データベースが格納されているコンピュータにログオンします。

2. 次のコマンドを入力します。dbname はソース・データベースの名前です。

prompt> dbaccess dbname unload.sql

このコマンドによって、表から tablename.datという一連のデータファイルにデータが抽出されます。tablename は表の名前です。

3. このデータファイルを、Migration Workbench によってデータ・アンロード・スクリプトが作成されたディレクトリの oracleサブディレクトリにコピーします。

MySQL からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成MySQL データベースからデータファイルを作成するには、次の手順を実行します。

1. ソース・データベースが格納されているコンピュータに、Migration Workbench によってデータ・アンロード・スクリプトが生成されたディレクトリの内容をコピーします。

注意注意注意注意 : Microsoft Access データベースからデータファイルを作成する方法については、Oracle Migration Workbench Exporter for Microsoft Accessのオンライン・ヘルプを参照してください。

6-10 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 77: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフラインでのデータの送信

2. dump_extract.batファイルを編集して、データファイルに適したホスト、ユーザー名、パスワードおよび移行先ディレクトリを指定します。次に、dump_extract.batスクリプトの例の 1 行を示します。

mysqldump -h <HOST> -u <USERNAME> -p<PASSWORD> -T <DESTINATION_PATH> --fields-terminated-by="<ec>" --lines-terminated-by="<er>" CarrierDb CarrierPlanTb

この行を編集して、HOST、USERNAME、PASSWORD および DESTINATION PATH に適切な値を指定します。このファイルを編集する際に、山カッコは使用しないください。

3. dump_extract.batスクリプトを実行します。

Windows の場合は、次のとおり入力します。

prompt> dump_extract.bat

UNIX の場合は、次のとおり入力します。

prompt> sh dump_extract.bat

このスクリプトによって、現行のディレクトリにデータファイルが作成されます。

4. このデータファイルを、Migration Workbench によってデータ・アンロード・スクリプトが作成されたディレクトリの oracleサブディレクトリにコピーします。

IBM DB2/400 からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成IBM DB2/400 データベースからデータファイルを作成するには、次の手順を実行します。

1. ソース・データベースが格納されているコンピュータに、Migration Workbench によってデータ・アンロード・スクリプトが生成されたディレクトリの内容をコピーします。

2. 第 4 章の説明に従ってオフライン取得を実行した場合は、『Oracle Migration Workbench Reference Guide for IBM DB2/400 V4R5 Migrations』の説明に従って、ソース・データベースが格納されているコンピュータに extract_nnプログラムをインストールします。

3. ソースの AS/400 システム上の omwb_lib ライブラリから extract_nnプログラムを実行します。

このスクリプトによって、現行のディレクトリにデータファイルが作成されます。

4. このデータファイルを、Migration Workbench によってデータ・アンロード・スクリプトが作成されたディレクトリの oracleサブディレクトリにコピーします。

データベースの移行 6-11

Page 78: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフラインでのデータの送信

IBM DB2 UDB からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成からのデータファイルの作成IBM DB2 UDB データベースからデータファイルを作成するには、次の手順を実行します。

1. ソース・データベースが格納されているコンピュータに、Migration Workbench によってデータ・アンロード・スクリプトが生成されたディレクトリの内容をコピーします。

2. 「IBM DB2 UDB Command Line Processor (CLP)」ウィンドウをオープンします。Microsoft DOS ウィンドウのコマンド・プロンプトで、次のコマンドを入力します。

db2cmd

3. CLP ウィンドウで次のコマンドを実行し、適切なデータベースをアクティブ化して接続します。

db2 acitvate DB_NAME user USER_NAME using USER_PASSWORDdb2 connect to DB_NAME

DB_NAME、USER_NAME および USER_PASSWORD に、適切な値を代入する必要があります。

4. CLP ウィンドウで次のコマンドを入力して、export.batファイルを実行します。

> OMWB_install_dir¥Omwb¥sql_loader_scripts¥UDBx¥<timestamp>¥Export

このコマンドによって、export.bat ファイル内のすべてのコマンド行が連続して起動され、指定した表のデータが指定したデリミタ付き形式で含まれている DAT ファイルが作成されます。

データファイルを使用した移行先データベースへの移入データファイルを使用した移行先データベースへの移入データファイルを使用した移行先データベースへの移入データファイルを使用した移行先データベースへの移入データファイルを使用して移行先データベースに移入するには、SQL*Loader を使用してデータ・ロード・スクリプトを実行します。

1. 6-9 ページの「データ・アンロード・スクリプトおよび SQL*Loader 制御ファイルの生成」の手順を実行して、データ・アンロード・スクリプトを作成したディレクトリに移動します。

2. 移行先データベースが格納されているコンピュータ上のディレクトリに oracleサブディレクトリの内容をコピーします。

3. 移行先データベースが実行されているコンピュータにログオンします。

4. sql_load_script.batスクリプトを実行します。UNIX コンピュータを使用している場合は、sql_load_script.shスクリプトを実行します。

注意注意注意注意 : エクスポートする表ごとに、SYSADM または DBADM 認可レベルあるいは CONTROL または SELECT 権限が必要です。

6-12 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 79: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Informix ESQL/C ソース・ファイルの移行

Informix ESQL/C ソース・ファイルの移行ソース・ファイルの移行ソース・ファイルの移行ソース・ファイルの移行Informix Dynamic Server データベースを移行する場合は、ESQL/C ソース・ファイルも移行できます。4-13 ページの「Informix ESQL/C ソース・ファイルの取得」の手順を実行して取得した ESQL/C コードを移行するには、次の手順を実行します。

1. 「Action」→「Convert E/SQL to Pro*C」を選択します。

変換の進捗に関する情報を示す進捗画面が表示されます。

2. 進捗画面のメッセージを確認した後、「OK」をクリックします。

3. 「Action」→「Generate PRO*C Source Files」を選択します。

「directory selection」ダイアログ・ボックスが表示されます。

4. Pro*C ファイルの保存先ディレクトリを選択した後、「OK」をクリックします。

5. 移行先データベースが格納されているコンピュータに Pro*C ファイルをコピーします。

ESQL/C ソース・ファイルの移行の詳細は、『Oracle Migration Workbench Reference Guide for Informix Dynamic Server 7.3 Migrations』を参照してください。

データベースの移行 6-13

Page 80: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Informix ESQL/C ソース・ファイルの移行

6-14 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 81: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテ

7

Oracle データベースのテストデータベースのテストデータベースのテストデータベースのテスト

この章では、移行したデータベースおよびそのアプリケーションのテスト方法について説明します。テストには、すべてのデータが移行されたか、移行されたデータは適切かという検証も含まれます。他社のデータベースおよびビジネス環境では、この章で説明するタスク以外のタスクを実行する必要があります。この章の内容は次のとおりです。

� 概要

� テストの方法論

� Oracle データベースのテスト手順

スト 7-1

Page 82: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

概要

概要概要概要概要テスト・フェーズでは、アプリケーションおよび Oracle データベースに対して次の項目をテストします。

� 移行されたデータが完全で正確であるかどうか

� アプリケーションの機能がソース・データベースと同じかどうか

� Oracle データベースが作成する結果がソース・データベースでの結果と同じかどうか

� アプリケーションおよび Oracle データベースが操作要件およびパフォーマンス要件を満たしているかどうか

元のアプリケーションの一連のユニット・テストおよびシステム・テストでも、Oracle データベースに対するテストに使用できる場合があります。ソース・データベースに対するテストと同じ方法で、これらのテストを実行する必要があります。この章では、データベースのテストのみを説明します。ただし、追加機能に関係なく、アプリケーションが Oracle データベースに接続され、発行された SQL によって正しい結果が作成されることを確認する必要があります。

テストの方法論テストの方法論テストの方法論テストの方法論多くの制約によって、データベースに対して実行するテストの種類および量が決まります。テストには、次のテストを 1 つまたはすべてを含めることができます。

� 簡単なデータ検証

� 個々のユニット・テストを実行する全工程のテスト

� システム・テストおよび受入れテスト

ユーザーの組織および環境に適したテスト計画に従う必要があります。テスト計画には、移行済アプリケーションおよび Oracle データベースをテストする手順を定義する必要があります。一般的なテスト方法は V モデルであり、データベースを作成する各機能がテスト・フェーズでミラー化される段階的なアプローチです。

注意注意注意注意 : アプリケーションに対して実行するテストは、アプリケーションの用途によって異なります。アプリケーション内で変更される SQL 文は、十分にテストすることをお薦めします。また、システムをテストして、アプリケーションが他社のデータベースの場合と同じように機能することも確認します。

7-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 83: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテスト手順

データベースを移行した場合に使用する V モデルの例は次のとおりです。

図図図図 7-1 データベースの移行で使用するデータベースの移行で使用するデータベースの移行で使用するデータベースの移行で使用する V モデルモデルモデルモデル

移行プロセスで使用するテストには、複数の種類があります。テスト段階では、複数のテスト工程を実施し、データベースの質を向上させます。使用するテスト・ケースでは、以前のバージョンの Oracle データベースで発生したいずれの問題も再現しないことを確認する必要があります。

たとえば、移行済スキーマに対してテスト結果に基づく変更が必要な場合、Oracle データベース・スキーマを新しく作成する必要があります。実際には、テストの開始時にMigration Workbench を 1 度使用して、基本となる Oracle スキーマを作成します。その後で、Oracle Enterprise Manager を使用したテストを実行する際に、Migration Workbench を使用せずにこのスキーマを編集します。

Oracle データベースのテスト手順データベースのテスト手順データベースのテスト手順データベースのテスト手順Oracle データベースによるビジネス・ロジックの結果がソース・データベースでの結果と同じであることを検証するために、テスト・ケースを使用します。

注意注意注意注意 : 問題を追跡するためのシステム内でのテスト工程で検出された問題は、追跡する必要があります。テストを実施しているバージョンのデータベースまたはアプリケーションに対してこれらの問題を追跡します。

注意注意注意注意 : 移行が成功したかどうかを判断できる達成基準を定義することをお薦めします。

Oracle データベースのテスト 7-3

Page 84: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテスト手順

この手順では、移行したデータベースをテストする 1 つの方法を説明します。この他の方法も使用可能であり、ご使用のビジネス要件により適合している場合もあります。

Oracle データベースをテストするには、次の手順を実行します。

1. 移行したデータベースのテスト用バージョンを作成します。

データベースの移行スクリプトは、ソースの制御システムに保存することをお薦めします。

2. Oracle データベースに対するユニット・レベルからシステム・レベルまでのテストに使用する一連のテスト・ケースを計画します。テスト・ケースでの確認が必要な項目は次のとおりです。

a. 次の項目を確認します。

– ソース・データベースのすべてのユーザーが正常に移行されたかどうか

– ユーザーに対する権限付与が適切かどうか

– 表の構造は適切かどうか、デフォルトで、正常に機能しているかどうか、およびマッピング時または生成時にエラーが発生していなかったかどうか

b. 次の方法を使用して、データが正常に移行されたことを検証します。

– Oracle データベースの行数とソース・データベースの行数を比較

– Oracle データベースの数値列の合計を計算し、ソース・データベースの数値列の合計と比較

c. 次の項目が制約に含まれていることを確認します。

– 重複する主キーは入力できない。

– 外部キーによって、一貫性のないデータ入力が防止される。

– チェック制約によって、無効なデータ入力が防止される。

d. 索引および順序が正常に作成されていることを確認します。

e. 次の方法を使用して、ビューが正常に移行されたことを確認します。

– Oracle データベースの行数とソース・データベースの行数を比較

– Oracle データベースの数値列の合計を計算し、ソース・データベースの数値列の合計と比較

f. トリガー、プロシージャおよびファンクションが正常に移行されたことを確認します。トリガーおよびファンクションに対して、適切な値が戻ることを確認します。

3. 移行したデータベースに対して、テスト・ケースを実行します。

7-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 85: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテスト手順

4. テスト・ケースの結果を評価するレポートを作成します。

これらのレポートを使用すると、エラーを限定してデータを評価したり、障害レポートを保存したり、顧客に対しデータベースのテスト用バージョンを提供できます。

5. テストの評価基準を満たしている場合、手順 7 に進みます。

テスト・ケースのすべての評価基準を満たしているか、または含まれるエラーを許容できる場合、そのテストを通過できます。許容できるエラーが発生した場合は、それらのエラーをエラー・レポートに記録して、監査の目的で使用できるようにします。

6. テスト・ケースが評価基準を満たしていない場合は、次の作業を実行します。

a. エラーの原因を特定します。

b. エラーを確認するのに必要なテスト・ケースを特定します。

c. テスト用バージョンの移行済データベース・コードでの問題を障害レポートに記録します。

d. テスト・ケースおよび問題の説明を、ユーザーの組織で使用する問題追跡システムに追加します。問題追跡システムは、スプレッドシートでも、不具合のレポート・システムでもかまいません。テスト・ケース以外に、インシデント・ログには次の内容が含まれます。

– 発生した問題の明快で正確な説明

– 環境の詳細な説明(プラットフォーム、ソースの制御バージョンなど)

– テストの出力(役に立つ場合)

– 問題の発生頻度および予測可能性

– 問題が発生するまでのイベントの順序

– 現行のテストでの影響、実施した診断手順および顕著な結果の説明

– 後で現れる永続的な影響(存在する場合)

e. エラーを修正します。

f. 手順 1 に戻ります。

7. Oracle データベースの品質が許容レベルであることを確認するために使用する受入れテストを指定します。

Oracle データベースのテスト 7-5

Page 86: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテスト手順

テストの作成ガイドラインテストの作成ガイドラインテストの作成ガイドラインテストの作成ガイドライン元のアプリケーションの一連のユニット・テストおよびシステム・テストでも、Oracle データベースに対するテストに使用できる場合があります。ユニット・テストおよびシステム・テストがない場合は、作成する必要があります。テスト・ケースを作成する場合は、次のガイドラインに従います。

� テスト・ケースを計画、指定および実行して、その結果を記録します。

実行するテストの量は、その移行プロジェクトで使用できる時間およびリソースに比例します。通常、移行プロジェクトのテスト・フェーズでは、移行プロジェクト全体の 40~ 60% の労力が想定されます。

� テストを実行するコンポーネント、テスト計画までのアプローチおよびテストの達成基準を指定します。

� 再現できるテスト・ケースを定義します。

再現できないテストは、問題の追跡または監査プロセスでは使用できません。

� ソース・データベースをファンクションとプロシージャに分割し、それぞれに対してテスト・ケースを作成します。テスト・ケースでは、テストする項目を記述し、テスト基準を定義し、想定する結果を記述します。

� 各テスト・ケースでの想定する結果を記録します。

� 各テストで、実際の結果が想定する結果と一致しているかどうか検証します。

� 想定する結果がポジティブなテスト・ケースのみでなく、結果がネガティブとなるテスト・ケースも定義します。

ユニット・テスト・ケースの例ユニット・テスト・ケースの例ユニット・テスト・ケースの例ユニット・テスト・ケースの例ユニット・テスト計画の例を次に示します。

名前 Jane Doe

モジュール Table Test Emp

テストの 2002 年 8 月 20 日完了日

対象とする SCS Location mwb¥database¥TableTestEmpログ・ファイルの位置

説明 このユニット・テストでは、emp 表が正常に移行されたことをテストします。

検査者 John Smith

7-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 87: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテスト手順

タスクタスクタスクタスクID

タスクの説明タスクの説明タスクの説明タスクの説明 想定される結果想定される結果想定される結果想定される結果 確認済確認済確認済確認済(はい(はい(はい(はい / いいえ)いいえ)いいえ)いいえ)

1 各表に対し、次の文をソース・データベースで実行します。

select count(*) from emp

各表に対し、次の文を移行先データベースで実行します。

select count(*) from emp

ソース・データベースでは、count(*) によって数値が算出

されます。この場合、算出される数値は各表の行数です。

移行先データベースでは、count(*) の数は新しい Oracle表の行数に対応します。

はい

各表の行数は、ソース・データベースおよび移行先データベースで同じです。

2 各表に対し、次の文をソース・データベースで実行します。

select sum(salary) from emp

各表に対し、次の文を移行先データベースで実行します。

select sum(salary) from emp

ソース・データベースでは、sum(salary) によって各表の

データの合計に対するチェックサムが算出されます。

移行先データベースでは、sum(salary) は emp 表の

salary の合計に対応します。

はい

各表の合計は、ソース・データベースおよび移行先データベースで同じです。

Oracle データベースのテスト 7-7

Page 88: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースのテスト手順

7-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 89: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Oracle データベースの

8

Oracle データベースの配置データベースの配置データベースの配置データベースの配置

この章では、移行およびテスト済の Oracle データベースの配置方法について説明します。業務環境内でのシステムの配置は困難な場合があります。そのため、環境に応じて、別の配置方法を考慮する必要がある場合があります。いくつかの配置方法を示しますが、組織で推奨されている方法がある場合はその方法を使用できます。

配置フェーズでは、移行先データベースを開発環境から本番環境に移動させます。移行およびテスト・チームとは別のグループ(組織内の IT 部門など)が配置フェーズを担当する場合があります。

この章の内容は次のとおりです。

� 配置方法

� 移行先データベースの配置

配置 8-1

Page 90: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

配置方法

配置方法配置方法配置方法配置方法他社のデータベースから Oracle データベースへの移行計画においては、移行期間中に影響を受けるユーザーおよび業務の種類について考慮する必要があります。たとえば、ソース・データベースおよび Oracle データベースを同時に実行するのに十分なシステムがない場合、ビッグバン・アプローチを使用できます。また、システムを一般の全ユーザーに解放する前に、ユーザー環境で適切に実行されていることを確認するために段階的アプローチを使用できます。次のいずれかの方法を使用できます。

段階的アプローチ段階的アプローチ段階的アプローチ段階的アプローチ段階的アプローチを使用すると、ユーザー・グループを異なるタイミングで移行させることができます。ある部門またはすべてのユーザー層の一部の移行を判断できます。選択するユーザーは、全ユーザー層のうち各層を代表するユーザーである必要があります。この方法を使用すると、ユーザーを Oracle データベースに導入する際に、ユーザーをプロファイルできます。選択したユーザーのみが移行の影響を受け、スケジューリングしていない停止の影響を受けるのは一部のユーザーのみになるように、システムを再構成できます。この方法は、移行したユーザーの作業に影響を与える場合があります。ただし、ユーザー数が限られるため、この問題に対するサポート業務の負荷が高過ぎることはありません。

段階的アプローチを使用すると、移行ユーザー数が増加する場合にスケーラビリティの問題をデバックできます。ただし、この方法を使用すると、移行期間中にレガシー・システム間でデータを移行する必要があります。アプリケーションのアーキテクチャで、段階的アプローチがサポートされる必要があります。

ビッグバン・アプローチビッグバン・アプローチビッグバン・アプローチビッグバン・アプローチビッグバン・アプローチを使用すると、すべてのユーザーを同時に移行させることができます。この方法では、古いシステムの削除中、データの移行中、Oracle システムの配置中、およびシステムが適切に実行されているかをテスト中に、スケジューリングした停止が発生する場合があります。この方法では、元のデータベースと同一の規模でデータベースをテストする必要があります。この方法では、データベースをオフラインにするため、 小のデータ変換および元のデータベースとの同期化のメリットがあります。デメリットは、この方法には労力が必要なことと、Oracle データベースのインストールおよびその他の移行プロジェクトの作業にスイッチオーバー期間が必要なため、業務に多大な影響を与えることです。

パラレル・アプローチパラレル・アプローチパラレル・アプローチパラレル・アプローチパラレル・アプローチを使用すると、ソース・データベースと移行先の Oracle データベースを同時に保持できます。アプリケーションが本番環境でソース・データベースおよび移行先データベースに対して同じように動作するかを確認するには、両方のデータベースにデータを入力し、データの結果を分析します。この方法のメリットは、移行先データベースで問題が発生した場合にユーザーがソース・データベースの使用を継続できることです。パラレル・アプローチのデメリットは、ソース・データベースと移行先データベースの両方の実行および保持に、他の方法よりも多くのリソースとハードウェアが必要なことです。

8-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 91: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行先データベースの配置

移行先データベースの配置移行先データベースの配置移行先データベースの配置移行先データベースの配置移行先データベースを配置するにはいくつかの方法があります。次に、移行先データベースを配置する際のガイドラインとして使用する作業例を示します。

1. 必要に応じて、ハードウェアを構成します。

大規模な環境または複雑な環境では、データベース設計に対応するようにディスクの配置を設計する必要があります。冗長ディスクを使用する場合、移行先データベースの成長に伴って増加できるように冗長ディスクをストライプ化します。必要なディスクを設置および構成して、メモリーを確認し、システムを構成する必要があります。

2. オペレーティング・システムが Oracle 構成のパラメータと対応していることを確認します。

Oracle ソフトウェアをインストールする前に、すべてのシステム・パラメータを変更したことを確認します。システム・パラメータの変更の詳細は、ご使用のプラットフォーム(Solaris Operating System など)のインストール・ガイドを参照してください。

3. Oracle ソフトウェアをインストールします。

Oracle データベースを作成する Oracle ソフトウェア以外に、アプリケーションをサポートするために、付属のソフトウェア(データ・ウェアハウスの Extract Transformation and Load(ETL)ソフトウェアなど)をインストールする必要がある場合があります。

4. ソース・データベースから移行先データベースを作成し、Oracle データベースにデータを移行します。

移行先データベースをテストした後、本番環境に配置する複数の方法を、次に示します。

� テストが正常に完了したデータベースを本番環境に配置します。テスト・システムが本番システムになります。

� Oracle Export を使用して、テストを正常に完了したデータベースから移行先データベースを抽出し、Oracle Import を使用してそのデータベースを本番環境内に作成します。

� テスト済の移行スクリプトを使用して、Oracle データベースを作成し、SQL*Loader を使用して Oracle データベースにデータを移入します。

5. 移行先データベースおよびアプリケーションで 終確認を行います。

注意注意注意注意 : 複雑な計画(表 2-1 を参照)の場合は、すべての配置作業を完了することをお薦めします。ただし、単純な計画の場合は、組織に適した配置作業を選択する必要があります。

Oracle データベースの配置 8-3

Page 92: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

移行先データベースの配置

6. いずれかの配置方法を使用して、移行先データベースを本番環境に配置します。

7. 次のことを実行して、 終監査を行います。

� データ整合性の監査

� プロセス(バックアップおよびリカバリなど)の妥当性の監査

� 必要に応じて、サインオフの取得

8-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 93: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

レポートの

9

レポートの使用レポートの使用レポートの使用レポートの使用

この章では、Migration Workbench で利用できるレポートの使用方法について説明します。この章の内容は次のとおりです。

� 概要

� レポートの生成

� レポートの表示および使用

� 「Log」ウィンドウおよびログ・ファイルへのアクセス

使用 9-1

Page 94: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

概要

概要概要概要概要Migration Workbench を使用すると、様々なレポートを生成できます。これらのレポートには、ソース・データベースおよび移行先データベースに関する情報が含まれています。また、移行フェーズ中に発生したアクションが要約され、発生した警告およびエラーが記録されます。

これらのレポートを使用すると、次の作業を実行できます。

� 計算に基づいた移行プロジェクトに関する決定

� Migration Workbench によって作成された移行先データベースのサイズおよび範囲の識別

� 正常に移行された量の測定

� 手動で実行する必要がある移行プロセスの量の測定

� 発生したエラーの評価による、エラーの修正にかかる時間の割出し

レポートの生成レポートの生成レポートの生成レポートの生成移行プロセスに関して重要な情報を提供するレポートを生成できます。Migration Workbench で生成できるレポートの種類は、データベースの詳細レポート、データベースのサマリー・レポート、データベースのエラーおよび警告レポートです。取得ウィザードを使用すると、レポートは、ソース・データベースおよび移行先データベースに関する予備的な情報を提供します。移行ウィザードを使用すると、レポートは、移行に関する詳細情報を提供します。取得ウィザードを使用してソース・データベースを取得した後に生成および表示できる情報は、移行中に発生したエラーおよび警告に関する情報のみです。

Migration Workbench でレポートを生成するには、次の手順を実行します。

1. 「Reports」→「Generate Migration Reports」を選択します。

2. 「OK」をクリックします。

レポートの表示および使用レポートの表示および使用レポートの表示および使用レポートの表示および使用次の項では、Migration Workbench で生成できる様々なレポートの表示方法およびレポートに含まれる情報の解釈方法について説明します。

データベースのサマリー・レポートには、スキーマ・オブジェクト・タイプのリストが含まれ、Migration Workbench を使用して移行したスキーマ・オブジェクトの合計数が表示されます。また、移行に失敗したスキーマ・オブジェクトの数も表示されます。複数のソース・データベースを移行した場合、データベースのサマリー・レポートには、各ソース・データベースのスキーマ・オブジェクト情報が表示されます。

9-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 95: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

レポートの表示および使用

データベースの詳細レポートには、移行したすべてのスキーマ・オブジェクトと、これらのスキーマ・オブジェクトの移行が成功したか失敗したかが表示されます。また、取得した各ソース・データベースに関する情報も表示されます。

データベースのエラーおよび警告レポートには、各ソース・データベースの移行中に発生したエラー・メッセージまたは警告メッセージが表示されます。このレポートには、エラーまたは警告が発生した移行フェーズが表示され、スキーマ・オブジェクトの各タイプの詳細メッセージが提供されます。

データベースのサマリー・レポートの表示データベースのサマリー・レポートの表示データベースのサマリー・レポートの表示データベースのサマリー・レポートの表示データベースのサマリー・レポートを表示するには、次の手順を実行します。

1. 「Reports」→「View Report」を選択します。

オープン・ダイアログ・ボックスが表示され、OMWB_install_dir¥Omwb¥log¥ディレクトリの内容が示されます。

2. 「Database」ディレクトリを選択します。

3. 「Summary_report.htm」ファイルを選択して、「Open」をクリックします。

データベースのサマリー・レポートは、ご使用のデフォルトのブラウザに表示されます。

表 9-1 に、データベースのサマリー・レポートに表示される情報を示します。

注意注意注意注意 : 新しいレポートを生成する前に、HTML レポートの名前を変更してください。これは、レポートを生成するたびに、以前のレポートが上書きされるためです。

表表表表 9-1 データベースのサマリー・レポートデータベースのサマリー・レポートデータベースのサマリー・レポートデータベースのサマリー・レポート

項目項目項目項目 説明説明説明説明

移行日時 移行した日付と時刻です。

Migration Workbench のリリース リリースおよびプラグインの情報です。

ソース・データベース 移行された他社のデータベースの名前です。

オブジェクト・タイプ スキーマ・オブジェクトのタイプが表示されます。オブジェクト・タイプをクリックすると、詳細情報が表示されます。

移行オブジェクトの合計数 移行先データベースに移行できるソース・モデルのスキーマ・オブジェクトの合計数です。

レポートの使用 9-3

Page 96: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

レポートの表示および使用

データベースのサマリー・レポートには、他のレポートへのリンクが含まれています。スキーマ・オブジェクトに関する詳細情報を表示するには、スキーマ・オブジェクト名をクリックします。移行に失敗したオブジェクトに関する詳細情報を表示するには、失敗したオブジェクトの列にあるリンク番号をクリックします。

データベースのサマリー・レポートの使用データベースのサマリー・レポートの使用データベースのサマリー・レポートの使用データベースのサマリー・レポートの使用データベースのサマリー・レポートの使用方法は、次のとおりです。

1. 失敗したオブジェクトの数を調査します。

2. 修正できるエラーの数を求めます。

3. 変更を行った場合、ソース・データベースを再度移行します。

4. 移行後に手動での処理が必要となる量を算出します。

データベースの詳細レポートの表示データベースの詳細レポートの表示データベースの詳細レポートの表示データベースの詳細レポートの表示データベースの詳細レポートを表示するには、次の手順を実行します。

1. 「Reports」→「View Report」を選択します。

オープン・ダイアログ・ボックスが表示され、OMWB_install_dir¥Omwb¥log¥ディレクトリの内容が示されます。

2. 「Database」ディレクトリを選択します。

3. 「Detailed_report.htm」ファイルを選択して、「Open」をクリックします。

データベースの詳細レポートは、ご使用のデフォルトのブラウザに表示されます。

失敗したオブジェクトの数 移行に失敗したスキーマ・オブジェクトの数です。移行に失敗する可能性があるのは、次の場合です。

� 取得ウィザードを使用して、Oracle モデルを作成した

場合

� 移行ウィザードを使用した場合

表表表表 9-1 データベースのサマリー・レポートデータベースのサマリー・レポートデータベースのサマリー・レポートデータベースのサマリー・レポート(続き)(続き)(続き)(続き)

項目項目項目項目 説明説明説明説明

9-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 97: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

レポートの表示および使用

表 9-2 に、データベースの詳細レポートに表示される情報を示します。

データベースの詳細レポートの使用データベースの詳細レポートの使用データベースの詳細レポートの使用データベースの詳細レポートの使用データベースの詳細レポートの使用方法は、次のとおりです。

1. 新しい Oracle オブジェクトおよび名前の自動変更を確認します。

2. 各アプリケーションを変更して、新しいスキーマ・オブジェクト名を反映させます。

3. 移行先データベースへの接続時に、新しいスキーマ・オブジェクト名を使用します。

4. スキーマ・オブジェクト名の変更が成功したことを確認するために、移行先データベースを使用して、アプリケーションをテストします。

データベースのエラーおよび警告レポートの表示データベースのエラーおよび警告レポートの表示データベースのエラーおよび警告レポートの表示データベースのエラーおよび警告レポートの表示データベースのエラーおよび警告レポートを表示するには、次の手順を実行します。

1. 「Reports」→「View Report」を選択します。

オープン・ダイアログ・ボックスが表示され、OMWB_install_dir¥Omwb¥log¥ディレクトリの内容が示されます。

2. 「Database」ディレクトリを選択します。

3. 「Errors_and_Warnings_Report.htm」ファイルを選択して、「Open」をクリックします。

データベースのエラーおよび警告レポートは、ご使用のデフォルトのブラウザに表示されます。

表表表表 9-2 データベースの詳細レポートデータベースの詳細レポートデータベースの詳細レポートデータベースの詳細レポート

項目項目項目項目 説明説明説明説明

移行日時 移行した日付と時刻です。

Migration Workbench のリ

リース

リリースおよびプラグインの情報です。

ソース・データベース 移行したデータベースの名前です。

データベース・オブジェクト

移行された各スキーマ・オブジェクトに関する詳細情報です。特定のスキーマ・オブジェクトの警告およびエラー情報も表示されます。

新しい Oracle オブジェクト 表領域など、Oracle 用に作成されたスキーマ・オブジェクトです。

名前の自動変更 Oracle モデルを生成したときに、Migration Workbench によって

自動的に行われた名前の変更です。

レポートの使用 9-5

Page 98: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

レポートの表示および使用

表 9-3 に、データベースのエラーおよび警告レポートに表示される情報を示します。

データベースのエラーおよび警告レポートの使用データベースのエラーおよび警告レポートの使用データベースのエラーおよび警告レポートの使用データベースのエラーおよび警告レポートの使用データベースのエラーおよび警告レポートでは、メッセージをエラーと警告に分類します。このレポートでは、スキーマ・オブジェクトで発生したエラーおよび警告のそれぞれの理由が次のように表示されます。

データベースのエラーおよび警告レポートの使用方法は、次のとおりです。

1. 移行に失敗したオブジェクトを特定します。

2. 移行済のデータベース・オブジェクトを修正します。

3. 移行先データベースに対してアプリケーションを実行して、変更が実装されていることを確認します。

表表表表 9-3 データベースのエラーおよび警告レポートデータベースのエラーおよび警告レポートデータベースのエラーおよび警告レポートデータベースのエラーおよび警告レポート

項目項目項目項目 説明説明説明説明

移行日時 移行した日付と時刻です。

Migration Workbench のリ

リース

リリースおよびプラグインの情報です。

ソース・データベース 移行された他社のデータベースの名前です。

種類 メッセージの種類は、エラーまたは警告です。エラーは、X が表

示された赤色の八角形で示されます。警告は、感嘆符(!)が表示

された黄色の三角形で示されます。

フェーズ エラーまたは警告が発生した移行プロセス内のフェーズです。

オブジェクト名 エラーまたは警告を生成したスキーマ・オブジェクトの名前です。

エラーおよび警告 エラー・メッセージおよび推奨されるアクションです。

記号記号記号記号 説明説明説明説明 メッセージの種類メッセージの種類メッセージの種類メッセージの種類 メッセージの理由メッセージの理由メッセージの理由メッセージの理由

背景が赤色の X エラー トランザクションが失敗しました。

黄色の三角形 警告 トランザクションは失敗していませんが、手動による変更が必要です。

9-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 99: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

「Log」ウィンドウおよびログ・ファイルへのアクセス

「「「「Log」ウィンドウおよびログ・ファイルへのアクセス」ウィンドウおよびログ・ファイルへのアクセス」ウィンドウおよびログ・ファイルへのアクセス」ウィンドウおよびログ・ファイルへのアクセスMigration Workbench では、移行プロセスの各フェーズでメッセージが「Log」ウィンドウに表示されます。「Log」ウィンドウに表示される情報をテキスト・ファイルに保存することもできます。デフォルトのファイル・ディレクトリは、次のとおりです。

OMWB_install_dir¥Omwb¥log

移行後に「Log」ウィンドウを表示するには、「Tools」→「Log Window」を選択します。

「Log」ウィンドウをファイルに保存するには、次の手順を実行します。

1. 「File」→「Save」を選択します。

「Save as」ダイアログ・ボックスが表示されます。

2. 必要に応じて、デフォルトのファイル名(logs.txt)およびディレクトリ位置を変更し、「Save」をクリックして、ファイルを保存します。

レポートの使用 9-7

Page 100: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

「Log」ウィンドウおよびログ・ファイルへのアクセス

9-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 101: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

トラブルシュ

10

トラブルシューティングトラブルシューティングトラブルシューティングトラブルシューティング

この章では、問題、その原因および解決方法について説明します。この章の内容は次のとおりです。

� Workbench リポジトリのトラブルシューティング

� Microsoft Access のトラブルシューティング

� Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ーティング 10-1

Page 102: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Workbench リポジトリのトラブルシューティング

Workbench リポジトリのトラブルシューティングリポジトリのトラブルシューティングリポジトリのトラブルシューティングリポジトリのトラブルシューティングここでは、Workbench リポジトリの作成中に発生する可能性がある問題のトラブルシューティングについて説明します。

Workbench リポジトリへの接続リポジトリへの接続リポジトリへの接続リポジトリへの接続Workbench リポジトリへの接続中に次の問題が発生する場合があります。ユーザー名およびパスワードが無効な場合、Migration Workbench は ORA-01017 エラー・メッセージを戻します。ユーザー名およびパスワードが有効であることを確認してください。

破損したデフォルトのリポジトリの再作成破損したデフォルトのリポジトリの再作成破損したデフォルトのリポジトリの再作成破損したデフォルトのリポジトリの再作成Workbench リポジトリにデフォルトの Oracle9i Lite データベースを使用している場合は、omwb_bkup.odbファイルを使用して Workbench リポジトリをリストアできます。omwb_bkup.odbファイルには、omwb.odbファイルに含まれている Workbench リポジトリのレプリカが含まれています。Migration Workbench では、omwb.odbファイル内のWorkbench リポジトリが使用されます。ただし、omwb.odbファイルが破損した場合は、破損ファイルを削除し、omwb_bkup.odbファイルを使用して新しいコピーを作成できます。両方のファイルとも、次のディレクトリに格納されています。

OMWB_install_dir¥Omwb¥olite

Oracle8i またはまたはまたはまたは Oracle9i の破損リポジトリの再作成の破損リポジトリの再作成の破損リポジトリの再作成の破損リポジトリの再作成Workbench リポジトリに Oracle8i または Oracle9i データベースを使用していて、そのデータベースが破損した場合は、その Workbench リポジトリが含まれているユーザーを削除します。Migration Workbench に関連のない他のデータを失うことなくユーザーの削除および再作成を柔軟に行うために、Workbench リポジトリ専用のユーザーを作成することをお薦めします。Workbench リポジトリにユーザーを作成する方法の詳細は、3-2 ページの

「Workbench リポジトリのデータベース・ユーザーの作成」を参照してください。

注意注意注意注意 : ログインする前にユーザー名を設定する必要があります。Workbench リポジトリにユーザーを作成する方法については、3-2 ページの「Workbench リポジトリのデータベース・ユーザーの作成」を参照してください。

10-2 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 103: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft Access のトラブルシューティング

Microsoft Access のトラブルシューティングのトラブルシューティングのトラブルシューティングのトラブルシューティングここでは、Oracle データベースへの Microsoft Access データベースの移行中に発生する可能性がある問題のトラブルシューティングについて説明します。

Microsoft Access セキュリティの削除セキュリティの削除セキュリティの削除セキュリティの削除Migration Workbench では、セキュリティが有効になっている Microsoft Access データベースの移行はサポートされていません。Microsoft Access の表データを Migration Workbenchで移行できるようにするには、保護されたデータベースの内容を新しいデータベースにコピーする必要があります。すべての内容(セキュリティ設定を除く)を新しいデータベースにコピーします。その後、新しいデータベースを Oracle に移行できます。

保護されたデータベースの内容を新しいデータベースにコピーするには、次の手順を実行します。

1. Microsoft Access で、「File」→「New Database」を選択します。

2. 「Blank Database」アイコンを選択し、「OK」をクリックします。

3. 「File New Database」ダイアログ・ボックスで、データベースの名前を入力し、「Create」をクリックします。

4. 新しいデータベース内から、「File」→「Get External Data」→「Import」を選択します。

5. インポート対象の保護された Microsoft Access データベースを選択し、「Import」をクリックします。

6. 「Import Objects」ダイアログ・ボックスで、「Options」をクリックします。「Relationships」、「Definition」および「Data」オプションが選択されていることを確認します。

7. 「Tables」タブで、「Select All」を選択します。

8. 「OK」をクリックします。

Microsoft Access 95 内の不適切なリレーション内の不適切なリレーション内の不適切なリレーション内の不適切なリレーションMicrosoft Access 95 内に不適切なリレーションを生成する可能性がある不具合があります。これらの不適切なリレーションは、Microsoft Access IDE ユーザー・インタフェースに表示されず、ユーザーには非表示のため、アプリケーションを使用して削除することはできません。解決方法としては、リレーションが指定されていない Microsoft Access データベースの新しいコピーを作成する方法があります。この新しいデータベースには、適切なリレーションを手動で作成できます。

トラブルシューティング 10-3

Page 104: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft Access のトラブルシューティング

リレーションを指定せずに Microsoft Access データベースの内容をコピーするには、次の手順を実行します。

1. 「File」→「New Database」を選択して、新しい空の Microsoft Access データベースを作成します。

2. 「Blank Database」を選択し、「OK」をクリックします。

3. 「File New Database」ダイアログ・ボックスで、データベースの名前を入力し、「Create」をクリックします。

4. 新しいデータベース内から、「File」→「Get External Data」→「Import」を選択します。

5. インポートする元の Microsoft Access データベースを選択します。

6. 「Import Objects」ダイアログ・ボックスで、「Options」を選択します。

7. 「Import」セクションで「Relationships」の選択を解除した後、「OK」をクリックします。

8. 「Tables」タブで、「Select All」を選択します。

9. 「OK」をクリックします。

表に対する主キーの定義表に対する主キーの定義表に対する主キーの定義表に対する主キーの定義ソースの Microsoft Access データベース内の表に主キーが定義されていない場合は、移行後にその表のレコードを更新することはできません。Microsoft Access Jet データベース・エンジンで Oracle 内の表に対するダイナセットをサポートするには、その表に主キーが必要です。Oracle の表に主キーが定義されていない場合、Microsoft Access Jet データベース・エンジンはその表の編集不可能なスナップショットのみをオープンします。Microsoft Access Jetデータベース・エンジンを使用して表の内容を更新する場合は、次のいずれかの操作を実行します。

� 元の Microsoft Access の表に主キーを定義します。Microsoft Access データベースを再度取得および移行して、主キーが Oracle の表に適用されるようにします。

� Migration Workbench を使用して Microsoft Access データベースを変更する前に、移行した Oracle の表に主キーを定義します。たとえば、次の構文を使用して主キーを定義します。

alter table <user>.<table> add ( constraint <primary key name> primary key ( <column name> ));

注意注意注意注意 : Microsoft Access から適切なリレーションを移行する場合は、新しいデータベース内にそれらを手動で再作成する必要があります。

10-4 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 105: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft Access のトラブルシューティング

user 変数に Scott、table 変数に Categories、primary key name 変数にPK_CATEGORIES および column name 変数に ID を代入すると、次の構文になります。

ALTER TABLE Scott.Categories ADD ( CONSTRAINT PK_CATEGORIES PRIMARY KEY( ID ) );

Microsoft Access ODBC データソースを使用した表データの移行データソースを使用した表データの移行データソースを使用した表データの移行データソースを使用した表データの移行ODBC データソースによって有効な .mdb ファイルが参照されていない場合は、移行プロセスのデータ移動時に次のメッセージが表示されます。

The Microsoft Access ODBC Data Source Name "omwb_msaccess" is not configured properly このメッセージが表示された場合は、次の手順を実行します。

1. 「スタートスタートスタートスタート」→「設定設定設定設定」→「コントロールコントロールコントロールコントロール パネルパネルパネルパネル」を選択します。

2. 「ODBC Data Sources」を選択します。

3. 「User DSN」タブで omwb_msaccess を選択します。

4. 「Configure」をクリックします。

5. 「Database」セクションの「Select」をクリックします。

6. 移行するデータベースを参照し、「OK」をクリックします。

データ移行時の不適切なブール値データ移行時の不適切なブール値データ移行時の不適切なブール値データ移行時の不適切なブール値Migration Workbench でブール・データを取得すると、Microsoft Access ODBC ドライバによって、2 つの値(FALSE として 0 または TRUE として 1)のいずれかが戻されるため、Oracle でも、FALSE および TRUE は 0 および 1 として表されます。

ただし、このデータを Microsoft VB アプリケーションで使用すると問題が発生する場合があります。Microsoft VB の内部では、TRUE は(1 ではなく)-1 として、FALSE は 0 として表されます。そのため、TRUE に基づいて評価を行うと、論理プログラムが不適切に動作する場合があります。

ロジックが変更されないようにするために、次のコマンドを実行して Oracle の表内の TRUEのブール値を更新することをお薦めします。

UPDATE <TABLENAME> SET <COLUMNNAME> = -1 WHERE <COLUMNAME> = 1

トラブルシューティング 10-5

Page 106: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft Access のトラブルシューティング

Microsoft Access のエラー・メッセージのエラー・メッセージのエラー・メッセージのエラー・メッセージMicrosoft Access データベースの変更中、次のエラー・メッセージが表示される場合があります。

Error 3051Microsoft Access データベースで、nameファイルをオープンできません。別のユーザーがすでに排他でオープンしているか、またはこのデータを表示する権限が必要です。

解決方法解決方法解決方法解決方法

Microsoft Access データベースに対する書込み権限を取得してください。

Error 3111作成できませんでした。表または問合せ nameに対する設計変更権限がありません。

解決方法解決方法解決方法解決方法

Microsoft Access データベースに適切な権限を設定してください。データベースの所有者でない場合は、この操作を実行できない場合があります。この場合は、データベースのコピーを作成してください。

データベースのコピーを作成するには、次の手順を実行します。

1. Microsoft Access に新しいデータベースを作成します。

2. 「File」→「Get External Data」→「Import」を選択します。

3. 元のデータベースを選択します。

4. すべてのスキーマ・オブジェクトを選択した後、「OK」を選択します。

5. スキーマ・オブジェクトを新しいデータベースにコピーします。これで、新しく作成した Microsoft Access データベースに適切な権限が付与されます。

Microsoft Access Jet のエラー・メッセージの詳細は、『Oracle Migration Workbench for Microsoft Access Reference Guide』を参照してください。

注意注意注意注意 : Microsoft Access データベースで表を(ダイナセットまたはスナップショットを使用しないで)直接オープンすると、リンクされた表は使用できません。この制限は、データを Oracle に移動した後も適用されます。この問題を解決するには、ダイナセットまたはスナップショットを使用するようにアプリケーションを変更します。

10-6 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 107: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

Microsoft SQL Server およびおよびおよびおよび Sybase Adaptive Server のトラブルのトラブルのトラブルのトラブルシューティングシューティングシューティングシューティング

ここでは、Oracle データベースへの Microsoft SQL Server または Sybase Adaptive Serverデータベースの移行中に発生する可能性がある問題のトラブルシューティングについて説明します。

ストアド・プロシージャのコレクションストアド・プロシージャのコレクションストアド・プロシージャのコレクションストアド・プロシージャのコレクションMigration Workbench では、Microsoft SQL Server または Sybase Adaptive Server 用のストアド・プロシージャのコレクションはサポートされていません。Microsoft SQL Server または Sybase Adaptive Server データベースにストアド・プロシージャのコレクションが含まれている場合は、コレクション名を一意の名前に変更した後、対応するアプリケーションを変更してコレクション名の変更を反映する必要があります。ほぼすべてのアプリケーションおよびプロシージャ・コールが機能するように、 も使用頻度の高いバージョンのコレクション(name_1 ではなく name;1 など)を名前として使用します。

次の形式を使用します。storedprocnameはストアド・プロシージャのコレクション名で、# は一意の番号です。

storedprocname_#

たとえば、BSNXETT という 3 つのストアド・プロシージャのコレクションがある場合は、それぞれの名前を BSNXETT、BSNXETT_2 および BSNXETT_3 に変更する必要があります。

所有者がいないスキーマ・オブジェクト所有者がいないスキーマ・オブジェクト所有者がいないスキーマ・オブジェクト所有者がいないスキーマ・オブジェクトMicrosoft SQL Server または Sybase Adaptive Server ソース・データベースに所有者またはユーザーが指定されていないスキーマ・オブジェクト(孤立したオブジェクト)が存在する場合は、これらのオブジェクトに所有者およびユーザーを割り当てる必要があります。デフォルトの所有者として dbo、デフォルトのユーザーとして saが Migration Workbench によって割り当てられます。これらのデフォルトの値を編集するには、次の手順を実行します。

1. OMWB_install_dir¥binディレクトリにある omwb.propertiesファイルをオープンします。

2. 孤立したオブジェクトの所有者およびユーザーとしての dboおよび saを再設定するには、次のフィールドを編集します。

DEFAULT_OWNER=dboDEFAULT_USER=sa

トラブルシューティング 10-7

Page 108: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

オフライン取得スクリプトの文字オフライン取得スクリプトの文字オフライン取得スクリプトの文字オフライン取得スクリプトの文字Microsoft SQL Server および Sybase Adaptive Server の場合、オフライン取得スクリプトは、列および行に、デフォルトのデリミタ文字を使用して、オフライン取得ファイルを生成します。表 10-1 に、各プラグインのオフライン取得スクリプトで使用されるデフォルトのデリミタを示します。

移行中の表にいずれかのデリミタ文字が有効なデータとして表示された場合、オフライン取得ファイルのロード時に Migration Workbench で次のような問題が発生します。

� データがロードされていない可能性があります。

� 進捗ウィンドウまたはディレクトリ OMWB_install_dir/Omwb/log内のエラー・ログ・ファイルで、エラー array OutOfBoundsが発生しています。

� 進捗ウィンドウまたはディレクトリ OMWB_install_dir/Omwb/log内のエラー・ログ・ファイルで、エラー NumberFormatExceptionが発生しています。

前述のエラーのいずれかが発生した場合は、オフライン取得スクリプトを編集して、別のデリミタ文字を挿入する必要があります。

デリミタ文字を変更するには、次の手順を実行します。

1. OMWB_install_dir¥Omwb¥offline_capture¥plug-inにあるオフライン取得スクリプト OMWB_OFFLINE_CAPTURE.BATをオープンします。

ファイルが読取り専用でないことを確認します。

注意注意注意注意 : これらのスキーマ・オブジェクトのデータは、オフライン取得スクリプトを使用して移行する必要があります。オフライン取得については、4-5 ページの「オフライン取得ファイルの作成」を参照してください。

表表表表 10-1 オフライン取得スクリプトで使用されるデリミタオフライン取得スクリプトで使用されるデリミタオフライン取得スクリプトで使用されるデリミタオフライン取得スクリプトで使用されるデリミタ

プラグインプラグインプラグインプラグイン 行行行行 列列列列

Microsoft SQL Server 2000 ¤ §

Microsoft SQL Server 7.0 ¥ §

Microsoft SQL Server 6.5 ¥ §

Sybase Adaptive Server 11 ¥ §

Sybase Adaptive Server 12 ¥ §

10-8 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 109: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

2. 次のフィールドを編集します。

set OFFLINE_CAPTURE_COLUMN_DELIMITER=delimiter_columnset OFFLINE_CAPTURE_ROW_DELIMITER=delimiter_row

前述の行の delimiter_column はユーザーが指定する列デリミタで、delimiter_row はユーザーが指定する行デリミタです。

3. ファイルを保存し、終了します。

4. omwb_install_dir¥Omwb¥binにある omwb.propertiesファイルをオープンします。

5. 次のフィールドを編集して、手順 2 で設定したデリミタ値と一致させます。

OFFLINE_CAPTURE_COLUMN_DELIMITER="delimiter_column"OFFLINE_CAPTURE_ROW_DELIMITER="delimiter_row"

6. ファイルを保存し、終了します。

バルク・コピー・プログラム(BCP)によって、デリミタ文字が別のデリミタ文字に置き換えられる場合もあります。たとえば、表 10-1 に示す各デリミタ文字の場合は、BCP によって、表 10-2 に示す各プラグインの別のデリミタ文字が生成されます。

BCP で使用されるデリミタ文字を確認するには、次の手順を実行します。

1. オフライン取得ファイルのいずれかをオープンします。

2. ファイル内の列デリミタを、手順 2(オフライン取得スクリプトで使用されるデリミタ文字の変更)で指定した列デリミタ文字と比較します。

列デリミタは、ファイル内の列データの各ピースを区切ります。

注意注意注意注意 : デリミタ値は二重引用符で囲んでください。

表表表表 10-2 バルク・コピー・プログラムによって生成されるデリミタバルク・コピー・プログラムによって生成されるデリミタバルク・コピー・プログラムによって生成されるデリミタバルク・コピー・プログラムによって生成されるデリミタ

プラグインプラグインプラグインプラグイン 行行行行 列列列列

Microsoft SQL Server 2000 ¤ §

Microsoft SQL Server 7.0 Ñ °

Microsoft SQL Server 6.5 Ñ °

Sybase Adaptive Server 11 Ñ °

Sybase Adaptive Server 12 Ñ °

トラブルシューティング 10-9

Page 110: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

3. ファイル内の行デリミタを、手順 2(オフライン取得スクリプトで使用されるデリミタ文字の変更)で指定した行デリミタ文字と比較します。

行デリミタは、オフライン取得ファイルの各行の末尾に表示され、行データの終わりを示します。

4. BCP によってデリミタ文字が別のデリミタ文字に置き換えられる場合は、ディレクトリomwb_install_dir¥Omwb¥binにある omwb.properties を編集して、BCP によって挿入されるデリミタ文字を次のように指定します。

OFFLINE_CAPTURE_COLUMN_DELIMITER="delimiter_column_bcp"OFFLINE_CAPTURE_ROW_DELIMITER="delimiter_row_bcp"

空の文字列データを含む表の移行空の文字列データを含む表の移行空の文字列データを含む表の移行空の文字列データを含む表の移行Microsoft SQL Server または Sybase Adaptive Server ソース・データベース内の表のいずれかに空の文字列が含まれている場合は、移行する前に、その空の文字列に対して代入値を指定する必要があります。

オンラインでのデータの移行の場合は、移行ウィザードを使用して、次の手順を実行します。

1. OMWB_install_dir¥binディレクトリにある omwb.propertiesファイルをオープンします。

2. 移行時に空の文字列に対する代入値を設定するには、このファイルに次の行を追加します。

EMPTY_STRING_VALUE=value

前述の行の value は、任意の値です。デフォルトの値は unknownです。

3. 代入値のかわりに、空の文字列を表す 1 つの空白を使用する場合は、次の行をomwb.propertiesファイルに追加します。

EMPTY_STRING=SPACE

オフラインでのデータの移行の場合は、SQL*Loader 制御ファイルが、移行時に空の文字列を表す 1 つの空白を使用するように設定されます。

注意注意注意注意 : 空の文字列に値を代入すると、この代入値を含む表に対するデータベース・アプリケーションの動作に影響する場合があります。

10-10 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 111: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

Microsoft SQL Server およびおよびおよびおよび Sybase Adaptive Server に関するパーサーのリに関するパーサーのリに関するパーサーのリに関するパーサーのリファレンス情報ファレンス情報ファレンス情報ファレンス情報

次の項に示すエラー・メッセージには、番号、プロシージャ名および文字列の変数エントリが含まれています。これらの変数は、それぞれ、NN、NAME、STRING で表されます。

各項に、次の内容に関する情報を示します。

� エラーの原因

� エラーの回避方法

[SPCONV-ERR(NN)]:[Parsing(NAME)],oracle.mtg.sqlserver7.parser.ParseException: Parse error at line NN,column NN. Encountered: STRINGこのエラーは、Migration Workbench が T-SQL コードの認識に失敗した場合に発生します。多くの場合、このエラーは、Migration Workbench パーサーで使用された T-SQL 構文が不完全な表現であるため発生します。

一部の識別子(ERROR、DATETIME、OUTPUT など)は、正式な T-SQL 予約語ではありません。ただし、これらの識別子は、T-SQL 構文で意味を持ちます。T-SQL コードでこれらの語をオブジェクト名として使用する場合は、特定のオブジェクトの「Source Model」プロパティ・シートの「Parse Options」タブで「Allow 'Reserved Words' in table names」オプションを選択した後、オブジェクトを再解析する必要があります。これによって、パーサーは、これらの語がオブジェクト名であると認識します。このオプションを選択しない場合は、解析例外が発生します。

問題をレポートするとき、ストアド・プロシージャ全体を含めない場合は、解析例外の周辺の行を 低限含めてください。これは、エラーが、示された位置から 大 6 語の範囲で発生している可能性があるためです。

次に、このエラーの原因となる可能性がある STRING 値の例および簡単な説明を示します。

CONSTRAINTCREATE TABLE文では解析されません。CONSTRAINTを削除し、手動で追加する必要があります。

=問合せでの SUBSELECT 句 SUMまたは CASEです。

(複雑な INNER JOINまたは CREATE TABLE文での問題です。

トラブルシューティング 10-11

Page 112: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

WITHDBCC と関連付けられている可能性があります。DBCC は、T-SQL での手動によるメンテナンス・コマンドです。DBCC は、Oracle では必要ありません。

&ビット単位の操作は、自動的に変換されません。ただし、Oracle には、ビット単位の ANDファンクションがあります。

PRIMARYCREATE TABLE文の問題です。完全な CREATE TABLE構文が変換されていません。

INNERINNER JOINでの問題です。

DBCCT-SQL での手動によるメンテナンス・コマンドです。Oracle では必要ありません。

WHEN複雑な CASE文です。

CLUSTEREDCREATE TABLE文の問題です。完全な CREATE TABLE構文が変換されていません。

CASE複雑な CASE文(SUBSELECT句を含む文など)です。

[SPCONV-ERR(NN)] FETCH STRING is not supported in Oracleこの場合、STRING には、LAST、ABSOLUTEまたは RELATIVEを指定できます。これらのオプションは、FETCH文ではサポートされていないため、手動で変換する必要があります。ただし、FETCH NEXTはサポートされています。FETCH FIRSTは、カーソルをクローズおよびオープンすることによってサポートされます。変換したコードによって、FETCH NEXT文が実行されます。

次の T-SQL コードには、PL/SQL ではサポートされていない RELATIVEオプションが指定された FETCH文が含まれています。

/*say you want to take a sample i.e. total ever 3rd order*/create proc totalorders@customeridin numeric,@toprint varchar(40) OUTPUTasdeclare @globaltotal numeric(18,2)

10-12 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 113: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

declare @totalout numeric(18,2)declare @orderid NUMERIC(18)declare @extraparam varchar(40)DECLARE C1 SCROLL CURSOR FOR select O_ORDERKEY from orders where O_CUSTKEY=@customeridinDECLARE @endc1 INTEGERselect @endc1=0select @totalout=0select @globaltotal=0open c1while @endc1=0 begin fetch RELATIVE 3 from c1 into @orderid if (@@fetch_status < -1) BEGIN select @totalout=sum(lineitem.l_unitprice*lineitem.l_quantity) from lineitem where lineitem.l_orderkey=@orderid select @globaltotal=@globaltotal+@totalout END else begin select @endc1=1 endendclose c1deallocate c1select @toprint=str(@globaltotal,18,2)GO

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE totalorders(customeridin NUMERIC ,toprint IN OUT VARCHAR2)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;globaltotal NUMBER(18, 2);totalout NUMBER(18, 2);orderid NUMBER(18);extraparam VARCHAR2(40);/* SCROLL CURSOR is not supported in Oracle. */ CURSOR C1 IS SELECT O_ORDERKEY

トラブルシューティング 10-13

Page 114: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

FROM orders WHERE O_CUSTKEY = totalorders.customeridin;

endc1 INTEGER;/*say you want to take a sample ie total ever 3rd order*/

BEGIN totalorders.endc1 := 0; totalorders.totalout := 0; totalorders.globaltotal := 0; open c1;

<<i_loop1 WHILE totalorders.endc1 = 0 LOOP BEGIN /*[SPCONV-ERR(19)] FETCH RELATIVE is not supported in Oracle. */ fetch c1 into totalorders.orderid;

IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE StoO_sqlstatus := 0; END IF; IF ( c1%FOUND) THEN BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT SUM(lineitem.l_unitprice * lineitem.l_quantity) INTO totalorders.totalout FROM lineitem WHERE lineitem.l_orderkey = totalorders.orderid; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; totalorders.globaltotal := totalorders.globaltotal + totalorders.totalout; END; ELSE

10-14 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 115: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

BEGIN totalorders.endc1 := 1; END; END IF; END; END LOOP; close c1;

totalorders.toprint := TO_CHAR(totalorders.globaltotal);END totalorders;

エラー「[SPCONV-ERR(19)] FETCH RELATIVE is not supported in Oracle」を回避するには、T-SQL コードを次のように編集します。

CREATE OR REPLACE PROCEDURE totalorders(customeridin NUMERIC ,toprint IN OUT VARCHAR2)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;globaltotal NUMBER(18, 2);totalout NUMBER(18, 2);orderid NUMBER(18);extraparam VARCHAR2(40);CURSOR C1 IS SELECT O_ORDERKEY FROM orders WHERE O_CUSTKEY = totalorders.customeridin;

endc1 INTEGER;/*say you want to take a sample ie total ever 3rd order*/

BEGIN totalorders.endc1 := 0; totalorders.totalout := 0; totalorders.globaltotal := 0; open c1;

<<i_loop1 WHILE totalorders.endc1 = 0 LOOP BEGIN /*[SPCONV-ERR(19)] FETCH RELATIVE is not supported in Oracle. */ fetch c1 into totalorders.orderid; IF c1%NOTFOUND THEN StoO_sqlstatus := 2;

トラブルシューティング 10-15

Page 116: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ELSE fetch c1 into totalorders.orderid; IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE fetch c1 into totalorders.orderid; IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE StoO_sqlstatus := 0; END IF; END IF; END IF; IF ( c1%FOUND) THEN BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT SUM(lineitem.l_unitprice * lineitem.l_quantity) INTO totalorders.totalout FROM lineitem WHERE lineitem.l_orderkey = totalorders.orderid; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; totalorders.globaltotal := totalorders.globaltotal + totalorders.totalout; END; ELSE BEGIN totalorders.endc1 := 1; END; END IF; END; END LOOP; close c1;

totalorders.toprint := TO_CHAR(totalorders.globaltotal);END totalorders;

10-16 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 117: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

[SPCONV-ERR(NN)]:('Raiserror ( num') Manual Conversion Might be Required num gives ID in SQL Server SYSCOMMENTS table'Raiserror( number') コードを T-SQL で実行すると、SYSCOMMENTS表によってエラー・テキストが取得されます。この T-SQL コードは、現在、PL/SQL の次のコードに変換されます。

raise_application_error(-20999, 'id <NUM>');

'id <NUM>' パラメータを適切なエラー・テキスト・メッセージに置き換えます。

次の T-SQL コードには、'Raiserror( number') が含まれています。

/* a comment*/CREATE PROC myerrorASBEGINraiserror(50324,12,5)END

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE myerrorASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;/* a comment*/

BEGIN raise_application_error(-20999, 'id 50324'); /*[SPCONV-ERR(5)]:('Raiserror ( num') MANUAL CONVERSION MIGHT BE REQUIREDnum gives id in Microsoft SQL Server SYSCOMMENTS table*/

END;

メッセージ ID 番号(この例では 50324)を使用して、SQL Server の SYSMESSAGESデータ・ディクショナリ表からエラー・メッセージまたは警告メッセージのテキストを選択します。このエラー・メッセージまたは警告メッセージのテキストは、次のようなraise_application_errorプロシージャのコールの 2 番目のパラメータとして使用します。

CREATE OR REPLACE PROCEDURE myerrorASStoO_selcnt INTEGER;

トラブルシューティング 10-17

Page 118: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;/* a comment*/

BEGIN raise_application_error(-20999, 'text from sysmessages');

END;

[SPCONV-ERR(NN)]:(FULL OUTER JOIN) Manual Conversion Might be Required完全外部結合には、手動での操作が必要です。複数の表に対して完全外部結合を行った場合、問合せを再書込みしても、Oracle 全体で制限が有効になる場合があります。

このエラーは、ストアド・プロシージャのソース・モデルの「Stored Procedure:Parser Options」ページで「Generate Oracle8i Outer Joins」オプションを選択して、Oracle8i または Oracle9i データベースに移行する場合にのみ適用されます。

Oracle では、完全外部結合は明示的にサポートされていません。ただし、Oracle 内で完全外部結合を表記するいくつかの方法があります。次の問合せを実行するとします。

select a.col2 acol2, a.col1 acol1, b.col1 bcol1, b.col2 bcol2from a,b where a.col1 (+) = b.col1 (+);

この例の条件 'a.col1 (+) = b.col1 (+)'は、Oracle の表記法での完全外部結合です。

この問合せを実行する も効果的な方法は、追加の条件を指定して、左の外部結合と右の外部結合に対して union all を使用する方法です。

select a.col2 acol2, a.col1 acol1, b.col1 bcol1, b.col2 bcol2from a,b where a.col1=b.col1(+)union allselect a.col2 acol2, a.col1 acol1, b.col1 bcol1, b.col2 bcol2from a,b where a.col1(+)=b.col1 and a.col1 is null;

次の T-SQL コードには、完全外部結合が含まれています。

CREATE PROC myouterjoinASBEGINselect tab1.col1, tab2.col2 from tab1 FULL OUTER JOIN tab2 on tab1.id=tab2.idEND

10-18 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 119: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PACKAGE MYOUTERJOINPkg ASTYPE RT1 IS RECORD ( col1 tab1.col1%TYPE, col2 tab2.col2%TYPE );TYPE RCT1 IS REF CURSOR RETURN RT1;

END;....CREATE OR REPLACE PROCEDURE myouterjoin(RC1 IN OUT myouterjoinPkg.RCT1)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;

BEGIN OPEN RC1 FOR SELECT tab1.col1, tab2.col2 FROM tab1, tab2 WHERE (tab1.id /*FULL*/=/*FULL*/ /*[SPCONV-ERR(5)]:(FULL OUTER JOIN) MANUAL CONVERSION MIGHT BE REQUIRED*/ tab2.id) ;

END;

エラー「[SPCONV-ERR(5)]:(FULL OUTER JOIN) MANUAL CONVERSION MIGHT BE REQUIRED」を回避するには、PL/SQL コードを次のように編集します。

CREATE OR REPLACE PACKAGE MYOUTERJOINPkg ASTYPE RT1 IS RECORD ( col1 tab1.col1%TYPE, col2 tab2.col2%TYPE );TYPE RCT1 IS REF CURSOR RETURN RT1;

END;....CREATE OR REPLACE PROCEDURE myouterjoin(RC1 IN OUT myouterjoinPkg.RCT1)

トラブルシューティング 10-19

Page 120: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;

BEGIN OPEN RC1 FOR SELECT tab1.col1, tab2.col2 FROM tab1, tab2 WHERE (tab1.id = tab2.id (+))union allSELECT tab1.col1, tab2.col2 FROM tab1, tab2 WHERE (tab1.id (+) = tab2.id ) and tab1.id is null;

END;

[SPCONV-ERR(NN)]:(LIKE) if using '[' Manual Conversion Might be RequiredOracle では、小文字のアルファベット文字と一致する [a-z]などの構文はサポートされません。[a-z] 構文を使用する場合、手動変換には Oracle ファンクション(TRANSLATE、REPLACEなど)が有効です。完全な正規表現のサポートが必要な場合は、C へのコールが可能です。([) 構文を使用する場合は、手動で変換を行う必要があります。

次の T-SQL コードには、[a-z]構文が含まれています。

CREATE PROC mylikestatement (@myvcharout varchar(40) OUTPUT)ASBEGINselect @myvcharout=tab1.col1 from tab1 where tab1.col like '[a-z]1234'END

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE mylikestatement(myvcharout IN OUT VARCHAR2)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER; /*[SPCONV-ERR(5)]:(LIKE) if using '[' MANUAL CONVERSION MIGHT BE REQUIRED*/

10-20 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 121: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT tab1.col1 INTO mylikestatement.myvcharout FROM tab1 WHERE tab1.col LIKE '[a-z]1234'; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END;

エラー「'[' MANUAL CONVERSION MIGHT BE REQUIRED」を回避するには、パフォーマンス・ショートカットを次のように削除します。

CREATE OR REPLACE PROCEDURE mylikestatement(myvcharout IN OUT VARCHAR2)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER; /*[SPCONV-ERR(5)]:(LIKE) if using '[' MANUAL CONVERSION MIGHT BE REQUIRED*/

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT tab1.col1 INTO mylikestatement.myvcharout FROM tab1 WHERE translate(substring(tab1.col,1,1), '0123456789abcdefghijklmnopqrstuvwxyz', '1111111111zzzzzzzzzzzzzzzzzzzzzzzzzz')='z'

トラブルシューティング 10-21

Page 122: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

and substring(tab1.col,2)='1234' StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END;

[SPCONV-ERR(NN)]:(WITH STRING) Ignored. Manual Conversion May be RequiredOracle には、RAISERROR .. WITHオプションと完全に同じオプションはありません。Migration Workbench は、WITH LOG、WITH NOWAITおよび WITH SETERRORを無視します。

次の T-SQL コードには、WITH LOGオプションが含まれています。

/* a comment*/CREATE PROC myerrorASBEGINraiserror(50324,12,5) WITH LOGEND

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE myerrorASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;/* a comment*/

BEGIN raise_application_error(-20999, 'id 50324'); /*[SPCONV-ERR(5)]:('Raiserror ( num') MANUAL CONVERSION MIGHT BE REQUIREDnum gives id in Microsoft SQL Server SYSCOMMENTS table*/

10-22 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 123: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

/*[SPCONV-ERR(5)]:(WITH LOG)ignored, Manual conversion may be required*/

END;

Oracle には、WITH LOGと完全に同じオプションはありません。

[SPCONV-ERR(NN)]:(set) Manual Conversion Might be Required現在、すべての set文が無視されます。

次の T-SQL コードには、set文が含まれています。

CREATE PROC proc1ASset CURSOR_CLOSE_ON_COMMITdeclare @mycol1 varchar(30)select @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);BEGIN NULL; /* set CURSOR_CLOSE_ON_COMMIT */ /*[SPCONV-ERR(3)]:(set) MANUAL CONVERSION MIGHT BE REQUIRED*/

BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN

トラブルシューティング 10-23

Page 124: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

この項では、PL/SQL コードを手動で再書込みする方法について説明します。様々な set文が存在するため、PL/SQL での同様の文を汎用化することはできません。Migration Workbench の T-SQL から PL/SQL への変換を行うパーサーでは、すべての set..文が無視されます。共通の set 文の詳細は、次のとおりです。

(set ROWCOUNT) Manual conversion requiredset ROWCOUNT文は、戻される行の数を制限します。T-SQL では、set ROWCOUNTは次のように使用されます。

set rowcount 5 select title, sales from titles order by sales set rowcount 0

Oracle では、T-SQL の例での set rowcountは、PL/SQL の次のコードで表されます。

select title, sales from titles order by sales where rowcount < 5;

これらの set rowcountの例(T-SQL および PL/SQL)は、ANSI では次のコードで表されます。

select title, sales from titles a where ( select count (*) from titles b where b.sales a.sales ) < 5 order by sales

(set NOCOUNT) Manual conversion requiredT-SQL set nocount文は、Oracle の SQLPLUS では次のコードで設定することができます。

"set feedback off"

10-24 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 125: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

(set DATEFORMAT) Manual conversion required すべての設定が無視されます。Oracle では、set dateformat は次のコードで表されます。

alter session set NLS_DATE_FORMAT = 'fmt'

[SPCONV-ERR(NN)]:BEGIN TRANS Statement Ignoredトランザクション制御は、T-SQL と PL/SQL とでは異なる方法で実行されます。次に例を示します。

� PL/SQL では、コミットおよびロールバックを高レベルで実行する必要があります。

� 変数(@@TRANSCOUNT など)は無視されます。

� BEGIN TRANSACTION STRING は、SAVEPOINT STRING になります。

� 文字列を指定していない BEGIN TRANSACTION は、「[SPCONV-ERR(NN): BEGIN TRAN Statement Ignored]」変換エラーを戻します。

次の T-SQL コードには、BEGIN TRAN文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)BEGIN TRANSselect @mycol1=col1FROM table1, table2WHERE table1.id = table2.idBEGIN TRANS mynameinsert into tab1 values (1,2,3)

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);BEGIN /*[SPCONV-ERR(4)]:BEGIN TRAN statement ignored*/ NULL; BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

トラブルシューティング 10-25

Page 126: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; SAVEPOINT myname; BEGIN StoO_error := 0; StoO_rowcnt := 0; INSERT INTO tab1 VALUES (1, 2, 3); StoO_rowcnt := SQL%ROWCOUNT; EXCEPTION WHEN OTHERS THEN StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

ソース・モデルの「Stored Procedure:Parser Options」プロパティ・シートで「Emulate @@TRANCOUNT」オプションを選択しないかぎり、トランザクション制御の T-SQL メソッドが使用されます。トランザクション制御の PL/SQL メソッドは、T-SQL とは異なるため、使用するトランザクション制御のメソッドを評価する必要があります。

[SPCONV-ERR(NN)]:CREATE INDEX STRING Statement Ignoredデータベース管理者の操作は、PL/SQL では有効ではありません。ただし、必要に応じて、DBMS_SQLパッケージを使用して間接的に実行することができます。

次の T-SQL コードには、CREATE INDEX文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)CREATE INDEX index_tab1 ON tab1(col1)select @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

10-26 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 127: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:CREATE INDEX statement ignored*/

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

通常、PL/SQL にはこれらの管理文は含めませんが、DBMS_SQLパッケージを使用して実行することができます。この場合、Migration Workbench で追加のエラー処理を行う必要があります。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:CREATE INDEX statement ignored*/

トラブルシューティング 10-27

Page 128: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

CURSOR_NAME INTEGER;RET INTEGER;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0; BEGIN CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CURSOR_NAME,'CREATE INDEX index_tab1 ON tab1(col1)' , DBMS_SQL.V7); RET := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);END; SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

[SPCONV-ERR(NN)]:CREATE TABLE STRING Statement GeneratedCREATE TABLE文は解析時にフィルタ処理で除外され、表はプロシージャが作成される直前に作成されます。これによって競合が発生する場合がありますが、PL/SQL プロシージャでは、PL/SQL プロシージャが作成される前の表は使用できません。そのため、表は動的には作成できません。

次の T-SQL コードには、CREATE TABLE文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)CREATE TABLE mytable as (myvchar varchar30)select @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

10-28 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 129: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);BEGIN /*[SPCONV-ERR(4)]:CREATE TABLE mytable statement passed to ddl file*/

DELETE FROM mytable; BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

パーサーによって、次の DDL 文が作成されます。

DROP TABLE mytable

CREATE TABLE mytable ( myvchar varchar30)

この場合、表は、作成される前に削除されます。プロシージャ作成時に必要な表が作成されている場合、変更は必要ありません。

トラブルシューティング 10-29

Page 130: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

[SPCONV-ERR(NN)]:CREATE VIEW STRING Statement Ignoredデータベース管理者の操作は、PL/SQL では有効ではありません。ただし、必要に応じて、DBMS_SQLパッケージを使用して間接的に実行することができます。

次の T-SQL コードには、CREATE VIEW文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)CREATE view myview as select col1,col2 from table1select @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1(RC1 IN OUT proc1Pkg.RCT1)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);BEGIN OPEN RC1 FOR SELECT col1, col2 FROM table1; /*[SPCONV-ERR(4)]:CREATE VIEW myview statement ignored*/

BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE;

10-30 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 131: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

StoO_errmsg := SQLERRM; END;END proc1;

次のパッケージが生成されます。

CREATE OR REPLACE PACKAGE PROC1Pkg ASTYPE RT1 IS RECORD ( col1 table1.col1%TYPE, col2 table1.col2%TYPE );TYPE RCT1 IS REF CURSOR RETURN RT1;

END; Oracle モデルの Migration Workbench で作成されたパッケージ定義およびカーソルを使用するかわりに、DBMS_SQLパッケージ機能を使用してビューの作成を実行できます。次のコードは、DSML_SQLパッケージの使用例です。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);CURSOR_NAME INTEGER;RET INTEGER;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0; BEGIN CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CURSOR_NAME, 'CREATE view myview as select col1,col2 from table1' , DBMS_SQL.V7); RET := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME); END; SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

トラブルシューティング 10-31

Page 132: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

[SPCONV-ERR(NN)]:DROP PROCEDURE STRING Statement Ignoredデータベース管理者の操作は、PL/SQL では有効ではありません。ただし、必要に応じて、DBMS_SQLパッケージを使用して間接的に実行することができます。

次の T-SQL コードには、DROP PROCEDURE文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)drop procedure proc2select @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:DROP PROCEDURE proc2 statement ignored*/

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2

10-32 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 133: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

通常、PL/SQL にはこれらの管理文は含めませんが、DBMS_SQLパッケージを使用して実行することができます。この場合、パーサーで追加のエラー処理を行う必要があります。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:DROP PROCEURE proc2 statement ignored*/CURSOR_NAME INTEGER;RET INTEGER;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0; BEGIN CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CURSOR_NAME,'DROP PROCEDURE PROC2' , DBMS_SQL.V7); RET := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);END; SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

トラブルシューティング 10-33

Page 134: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

[SPCONV-ERR(NN)]:DROP TABLE STRING Statement Ignoredデータベース管理者の操作は PL/SQL では有効ではありません。ただし、必要に応じて、DBMS_SQLパッケージを使用して間接的に実行することができます。

次の T-SQL コードには、DROP TABLE文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)drop table tab2select @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:DROP TABLE tab2 statement ignored*/

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2

10-34 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 135: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

通常、PL/SQL にはこれらの管理文は含めませんが、DBMS_SQLパッケージを使用して実行することができます。この場合、パーサーで追加のエラー処理を行う必要があります。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:DROP TABLE tab2 statement ignored*/CURSOR_NAME INTEGER;RET INTEGER;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0; BEGIN CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CURSOR_NAME,'DROP TABLE tab2' , DBMS_SQL.V7); RET := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);END; SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

トラブルシューティング 10-35

Page 136: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

[SPCONV-ERR(NN)]:DROP VIEW STRING Statement Ignoredデータベース管理者の操作は、PL/SQL では有効ではありません。ただし、必要に応じて、DBMS_SQLパッケージを使用して間接的に実行することができます。

次の T-SQL コードには、DROP VIEW文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)drop view myviewselect @mycol1=col1FROM table1, table2WHERE table1.id = table2.id

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:DROP VIEW myview statement ignored*/

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2

10-36 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 137: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

通常、PL/SQL にはこれらの管理文は含めません。ただし、DBMS_SQLパッケージを使用して実行することができます。この場合、パーサーで追加のエラー処理を行う必要があります。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:DROP VIEW myview statement ignored*/CURSOR_NAME INTEGER;RET INTEGER;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0; BEGIN CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CURSOR_NAME,'DROP VIEW myview' , DBMS_SQL.V7); RET := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);END; SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

トラブルシューティング 10-37

Page 138: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

[SPCONV-ERR(<NN)]:GRANT Statement Ignoredデータベース管理者の操作は、PL/SQL では有効ではありません。ただし、必要に応じて、DBMS_SQLパッケージを使用して間接的に実行することができます。

次の T-SQL コードには、GRANT文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)drop procedure proc2grant all to publicFROM table1, table2WHERE table1.id = table2.id

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:GRANT statement ignored*/

BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT col1 INTO proc1.mycol1 FROM table1, table2

10-38 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 139: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1; 通常、PL/SQL にはこれらの管理文は含めません。ただし、DBMS_SQLパッケージを使用して実行することができます。この場合、パーサーで追加のエラー処理を行う必要があります。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]:GRANT statement ignored*/CURSOR_NAME INTEGER;RET INTEGER;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0; BEGIN CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CURSOR_NAME,'GRANT ALL TO PUBLIC' , DBMS_SQL.V7); RET := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);END; SELECT col1 INTO proc1.mycol1 FROM table1, table2 WHERE table1.id = table2.id; StoO_rowcnt := SQL%ROWCOUNT;

トラブルシューティング 10-39

Page 140: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

[SPCONV-ERR(NN)]:INSENSITIVE CURSOR is not supported in OracleOracle では、カーソルに対する INSENSITIVE引数はサポートされていません。INSENSITIVEキーワードは無視されます。

次の T-SQL コードには、INSENSITIVE引数を指定した DECLARE CURSOR文が含まれています。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)declare mycursor insensitive cursor forselect col1FROM table1, table2WHERE table1.id = table2.idfetch next from mycuror into @mycol1close mycursor

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);/*[SPCONV-ERR(4)]: INSENSITIVE CURSOR is not supported in Oracle. */ CURSOR mycursor IS SELECT col1 FROM table1, table2 WHERE table1.id = table2.id;

10-40 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 141: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

BEGIN fetch mycuror into proc1.mycol1;

IF mycuror%NOTFOUND THEN StoO_sqlstatus := 2; ELSE StoO_sqlstatus := 0; END IF; close mycursor;

END proc1;

このエラーは、カーソルの内容を表または PL/SQL 表に格納することで回避できます。また、読取り専用トランザクションを使用して、データベース・ビューに一貫性を持たせることもできます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);set transaction read only;/*[SPCONV-ERR(4)]: INSENSITIVE CURSOR is not supported in Oracle. */ CURSOR mycursor IS SELECT col1 FROM table1, table2 WHERE table1.id = table2.id;

BEGIN fetch mycuror into proc1.mycol1;

IF mycuror%NOTFOUND THEN StoO_sqlstatus := 2; ELSE StoO_sqlstatus := 0; END IF; close mycursor;commiy;/*use mycol1 value in next transaction*/END proc1;

トラブルシューティング 10-41

Page 142: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

[SPCONV-ERR(NN)]:Manual Conversion Required通常、このエラーは、問合せの末尾に COMPUTE句を指定すると発生します。Oracle では、CUBE演算子を使用して、compute 句をシミュレートできます。

次の T-SQL コードには、問合せの末尾に COMPUTE句が含まれています。

CREATE PROC proc1 AS declare @mycol1 varchar(30) select table1.col1, table2.col2 FROM table1, table2 WHERE table1.id = table2.id compute max ( col1)

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1 AS StoO_selcnt INTEGER; StoO_error INTEGER; StoO_rowcnt INTEGER; StoO_errmsg VARCHAR2(255); StoO_sqlstatus INTEGER; mycol1 VARCHAR2(30); mycol2 VARCHAR2(30); BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT table1.col1, table2.col2 INTO proc1.mycol1, proc1.mycol2 FROM table1, table2 WHERE table1.id = table2.id /*[SPCONV-ERR(0)]:MANUAL CONVERSION REQUIRED*/

/*COMPUTE MAX(col1) */; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE;

10-42 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 143: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

StoO_errmsg := SQLERRM; END; END proc1;

高度なレポート機能の詳細は、Oracle Reports のマニュアルを参照してください。

[SPCONV-ERR(NN)]:ORDER BY Statement IgnoredOracle では、副問合せに ORDER BY句は使用できません。したがって、コメント化するためにフラグが付けられています。ORDER BY句が問題の原因となる場合は、削除できます。

次の T-SQL コードの副問合せには、ORDER BY句が含まれています。

CREATE PROC proc1ASdeclare @mycol1 numericdeclare @mycol2 numericselect @mycol2=table2.col2FROM table2 tab21WHERE EXISTS (select col2 from table2 t2 where col2 max(table1.col1)andtab21.id=t2.id order by col2)

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 NUMERIC;mycol2 NUMERIC;BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT table2.col2 INTO proc1.mycol2 FROM table2 tab21 WHERE EXISTS ( SELECT col2 FROM table2 t2 WHERE col2MAX(table1.col1) and tab21.id = t2.id

トラブルシューティング 10-43

Page 144: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

/*[SPCONV-ERR(8)]:ORDER BY statement ignored*/ ); StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END proc1;

この場合、ORDER BY句が冗長だったため、変更は必要ありません。

[SPCONV-ERR(NN)]:One or more columns are procedure variables for table -- STRINGMigration Workbench の T-SQL から PL/SQL への変換を行うパーサーは、プロシージャでCREATE TABLE文を検出すると、その文を抽出します。その後、プロシージャで検出される他のすべての DDL 文とともにこの文を蓄積します。移行の作成フェーズで、移行ウィザードを実行すると、プロシージャが作成される前にすべての DDL 文が実行されます。

CREATE TABLE文は、変数が含まれている場合、プロシージャ外で実行すると無効になります。そのため、手動で表を作成する必要があります。

[SPCONV-ERR(NN)]:Parsing[(NAME)]('STRING':Global Variable treated as variable現在、Migration Workbench では、グローバル変数に対するサポートに制限があります。現在、次のグローバル変数がサポートされています。

� @@FETCH_STATUS

� @@SQLSTATUS

� @@ROWCOUNT

� @@ERROR

� @@VERSION

他のグローバル変数は通常の変数とみなされるため、解析を続行できます。これらの通常の変数に対しては、「{SPCONV-ERR(NN)}:Parsing[(NAME)]('STRING>':Global Variable treated as variable」というエラーが生成されます。

10-44 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 145: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

次の T-SQL コードに、このエラーが発生する一般的な例を示します。

CREATE PROC proc1ASdeclare @mycol1 varchar(30)insert into table1 values (10,20,30)select @mycol1=@@identity

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。この場合、エラーは、ログにのみ書き込まれます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);BEGIN BEGIN StoO_error := 0; StoO_rowcnt := 0; INSERT INTO table1 VALUES (10, 20, 30); StoO_rowcnt := SQL%ROWCOUNT; EXCEPTION WHEN OTHERS THEN StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; proc1.mycol1 := proc1.IDENTITY;END proc1;

次の例では、PL/SQL コードを手動で再書込みする方法を示します。識別列は、Oracle のトリガーおよびシーケンスに変換されます。

CREATE OR REPLACE PROCEDURE proc1ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);BEGIN BEGIN StoO_error := 0; StoO_rowcnt := 0;

トラブルシューティング 10-45

Page 146: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

INSERT INTO table1 VALUES (10, 20, 30); StoO_rowcnt := SQL%ROWCOUNT; EXCEPTION WHEN OTHERS THEN StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; proc1.mycol1 := table1SEQ.CURRVAL;END proc1;

次の項では、Migration Workbench で特定のグローバル変数を処理する方法について説明します。

@@SERVERNAME通常の変数として処理されます。Oracle では、接続しているデータベース・サーバーの名前に基づく変数である場合があります。

@@IDENTITY通常の変数として処理されます。現行の IDENTITY 値は、該当する表の列から取得する必要がある場合があります。Oracle では、IDENTITY 列はシーケンスおよびトリガーに置き換えられます。

@@SPID通常の変数として処理されます。Oracle では、v$sessions 表に基づく変数である場合があります。Oracle では、ユーザーが専用サーバー・プロセスを持っていない場合があります。

@@TRANSTATE通常の変数として処理されます。Oracle では、同様の変数はありません。Oracle でのトランザクションは、完了するか、または失敗するかのいずれかです。Oracle でのエラーは、例外および SQLCODE によって処理されます。詳細は、『PL/SQL ユーザーズ・ガイドおよびリファレンス』を参照してください。

[SPCONV-ERR(NN)]:[Parsing(NAME)]('LEFT JOIN') Complex OUTER JOINS are not Reliably Convertedストアド・プロシージャのソース・モデルの「Stored Procedure:Parser Options」ページで

「Generate Oracle8i Outer Joins」オプションを選択して、Oracle8i または Oracle9i データベースに移行する場合、Migration Workbench の T-SQL から PL/SQL への変換を行うパーサーでは、すべての外部結合を変換できません。

次に、Migration Workbench で外部結合を変換できない場合の例を示します。

select a LEFT OUTER JOIN b ON d = e

10-46 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 147: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

Migration Workbench では、d および e が格納されている表が認識されません。そのため、Oracle の形式の外部結合記号 (+) は追加できません。

次の文は、T-SQL から PL/SQL への変換を行うパーサーによって変換できます。

select a LEFT OUTER JOIN b ON a.d = b.e

T-SQL から PL/SQL への変換を行うパーサーによって、次のコードが生成されます。

select a, b whereba.d = b.e(+);

次に、このエラーがパーサーによって生成される例を示します。

CREATE PROC myouterjoinASBEGINdeclare @mycol1 varchar(30)declare @mycol2 varchar(30)select @mycol1=tab1.col1, @mycol2=tab2.col2 from tab1LEFT OUTER JOIN tab2 on tab1.id=tab2.idEND

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE myouterjoinASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);mycol2 VARCHAR2(30);BEGIN /*[SPCONV-ERR(7)]:[Parsing(myouterjoin)]('LEFT JOIN') Complex outer joins are not reliably converted*/ BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT tab1.col1, tab2.col2 INTO myouterjoin.mycol1, myouterjoin.mycol2 FROM tab1, tab2 WHERE (tab1.id = tab2.id(+)) ; StoO_rowcnt := SQL%ROWCOUNT;

トラブルシューティング 10-47

Page 148: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END;

この単純な外部結合には、変更は必要ありません。

[SPCONV-ERR(NN)]:[Parsing(NAME)]('RIGHT JOIN') Complex OUTER JOINs are not Reliably Convertedストアド・プロシージャのソース・モデルの「Stored Procedure:Parser Options」ページで

「Generate Oracle8i Outer Joins」オプションを選択して、Oracle8i または Oracle9i データベースに移行する場合、Migration Workbench の T-SQL から PL/SQL への変換を行うパーサーでは、すべての外部結合を変換できません。

次に、Migration Workbench で外部結合を変換できない場合の例を示します。

select a RIGHT OUTER JOIN b ON d = e

Migration Workbench では、d および e が格納されている表が認識されません。そのため、Oracle の形式の外部結合記号 (+) は追加できません。

次の文は、T-SQL から PL/SQL への変換を行うパーサーによって変換できます。

select a RIGHT OUTER JOIN b ON a.d = b.e

T-SQL から PL/SQL への変換を行うパーサーによって、次のコードが生成されます。

select a, b where a.d(+) = b.e;

次に、このエラーがパーサーによって生成される例を示します。

CREATE PROC myouterjoinASBEGINdeclare @mycol1 varchar(30)declare @mycol2 varchar(30)select @mycol1=tab1.col1, @mycol2=tab2.col2 from tab1RIGHT OUTER JOIN tab2 on tab1.id=tab2.idEND

10-48 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 149: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

ソース・データベースの解析時に、Migration Workbench によって次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE myouterjoinASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);mycol2 VARCHAR2(30);BEGIN /*[SPCONV-ERR(7)]:[Parsing(myouterjoin)]('RIGHT JOIN') Complex outer joins are not reliably converted*/ BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT tab1.col1, tab2.col2 INTO myouterjoin.mycol1, myouterjoin.mycol2 FROM tab1, tab2 WHERE (tab1.id (+)= tab2.id) ; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END;

この単純な外部結合には、変更は必要ありません。

[SPCONV-ERR(NN)]:[Parsing(NAME)]('SCROLL CURSOR') is not supported in OracleOracle では、カーソルに対する SCROLL引数はサポートされていません。カーソルのDECLARE、OPENおよび FETCH文を変更する必要がある場合があります。

トラブルシューティング 10-49

Page 150: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

次の T-SQL コードには、SCROLL引数を指定した DECLARE CURSOR文が含まれています。

/*say you want to take a sample that is total every 3rd order*/create proc totalorders@customeridin numeric,@toprint varchar(40) OUTPUTasdeclare @globaltotal numeric(18,2)declare @totalout numeric(18,2)declare @orderid NUMERIC(18)declare @extraparam varchar(40)DECLARE C1 SCROLL CURSOR FOR select O_ORDERKEY from orders where O_CUSTKEY=@customeridinDECLARE @endc1 INTEGERselect @endc1=0select @totalout=0select @globaltotal=0open c1while @endc1=0 begin fetch RELATIVE 3 from c1 into @orderid if (@@fetch_status < -1) BEGIN select @totalout=sum(lineitem.l_unitprice*lineitem.l_quantity) from lineitem where lineitem.l_orderkey=@orderid select @globaltotal=@globaltotal+@totalout END else begin select @endc1=1 endendclose c1deallocate c1select @toprint=str(@globaltotal,18,2)GO

Migration Workbench のパーサーによって、次の PL/SQL コードが生成されます。

CREATE OR REPLACE PROCEDURE totalorders(customeridin NUMERIC ,toprint IN OUT VARCHAR2)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;

10-50 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 151: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

globaltotal NUMBER(18, 2);totalout NUMBER(18, 2);orderid NUMBER(18);extraparam VARCHAR2(40);/* SCROLL CURSOR is not supported in Oracle. */ CURSOR C1 IS SELECT O_ORDERKEY FROM orders WHERE O_CUSTKEY = totalorders.customeridin;

endc1 INTEGER;/*say you want to take a sample ie total ever 3rd order*/

BEGIN totalorders.endc1 := 0; totalorders.totalout := 0; totalorders.globaltotal := 0; open c1;

<<i_loop1 WHILE totalorders.endc1 = 0 LOOP BEGIN /*[SPCONV-ERR(19)] FETCH RELATIVE is not supported in Oracle. */ fetch c1 into totalorders.orderid;

IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE StoO_sqlstatus := 0; END IF; IF ( c1%FOUND) THEN BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT SUM(lineitem.l_unitprice * lineitem.l_quantity) INTO totalorders.totalout FROM lineitem WHERE lineitem.l_orderkey = totalorders.orderid; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0;

トラブルシューティング 10-51

Page 152: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; totalorders.globaltotal := totalorders.globaltotal + totalorders.totalout; END; ELSE BEGIN totalorders.endc1 := 1; END; END IF; END; END LOOP; close c1;

totalorders.toprint := TO_CHAR(totalorders.globaltotal);END totalorders;

この問題は、次のように、1 回ではなく 3 回のフェッチを実行することで回避できます。

CREATE OR REPLACE PROCEDURE totalorders(customeridin NUMERIC ,toprint IN OUT VARCHAR2)ASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;globaltotal NUMBER(18, 2);totalout NUMBER(18, 2);orderid NUMBER(18);extraparam VARCHAR2(40);CURSOR C1 IS SELECT O_ORDERKEY FROM orders WHERE O_CUSTKEY = totalorders.customeridin;

endc1 INTEGER;/*say you want to take a sample ie total ever 3rd order*/

BEGIN totalorders.endc1 := 0; totalorders.totalout := 0; totalorders.globaltotal := 0; open c1;

<<i_loop1 WHILE totalorders.endc1 = 0 LOOP

10-52 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 153: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

BEGIN /*[SPCONV-ERR(19)] FETCH RELATIVE is not supported in Oracle. */ fetch c1 into totalorders.orderid; IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE fetch c1 into totalorders.orderid; IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE fetch c1 into totalorders.orderid; IF c1%NOTFOUND THEN StoO_sqlstatus := 2; ELSE StoO_sqlstatus := 0; END IF; END IF; END IF; IF ( c1%FOUND) THEN BEGIN BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT SUM(lineitem.l_unitprice * lineitem.l_quantity) INTO totalorders.totalout FROM lineitem WHERE lineitem.l_orderkey = totalorders.orderid; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END; totalorders.globaltotal := totalorders.globaltotal + totalorders.totalout; END; ELSE BEGIN totalorders.endc1 := 1; END; END IF; END;

トラブルシューティング 10-53

Page 154: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

END LOOP; close c1;

totalorders.toprint := TO_CHAR(totalorders.globaltotal);END totalorders;

[SPCONV-ERR(NN)]:[Parsing(NAME)]:(LIKE .. INNER) Manual Conversion Might be Requiredストアド・プロシージャに「Generate Oracle8i Outer Joins」を選択して Oracle8i またはOracle9i データベースに移行している場合、LIKEファンクションを外部結合とともに使用すると、Migration Workbench の T-SQL から PL/SQL への変換を行うパーサーでは、Oracle 形式の外部結合 (+) 構文マーカーを指定する場所が認識されません。次に、このエラーがパーサーによって生成される例を示します。

CREATE PROC myouterjoinASBEGINdeclare @mycol1 varchar(30)declare @mycol2 varchar(30)select @mycol1=tab1.col1, @mycol2=tab2.col2 from tab1RIGHT OUTER JOIN tab2 on tab1.id=tab2.id and tab1.id like 'j%'

END

パーサーによって、次の PL/SQL コードが生成されます。Migration Workbench ログ・ファイルに警告が渡されます。

CREATE OR REPLACE PROCEDURE myouterjoinASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);mycol2 VARCHAR2(30);BEGIN /*[SPCONV-ERR(7)]:[Parsing(myouterjoin)]('RIGHT JOIN') Complex outer joins are not reliably converted*/ BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT tab1.col1, tab2.col2 INTO myouterjoin.mycol1, myouterjoin.mycol2 FROM tab1, tab2

10-54 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 155: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

WHERE (tab1.id (+)= tab2.id and tab1.id LIKE 'j%') ; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE; StoO_errmsg := SQLERRM; END;END;

この問題は、必要に応じて、LIKEファンクションに (+) を追加することで回避できます。

CREATE OR REPLACE PROCEDURE myouterjoinASStoO_selcnt INTEGER;StoO_error INTEGER;StoO_rowcnt INTEGER;StoO_errmsg VARCHAR2(255);StoO_sqlstatus INTEGER;mycol1 VARCHAR2(30);mycol2 VARCHAR2(30);BEGIN /*[SPCONV-ERR(7)]:[Parsing(myouterjoin)]('RIGHT JOIN') Complex outer joins are not reliably converted*/ BEGIN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := 0;

SELECT tab1.col1, tab2.col2 INTO myouterjoin.mycol1, myouterjoin.mycol2 FROM tab1, tab2 WHERE (tab1.id (+)= tab2.id and tab1.id (+) LIKE 'j%') ; StoO_rowcnt := SQL%ROWCOUNT;

EXCEPTION WHEN TOO_MANY_ROWS THEN StoO_rowcnt := 2; WHEN OTHERS THEN StoO_rowcnt := 0; StoO_selcnt := 0; StoO_error := SQLCODE;

トラブルシューティング 10-55

Page 156: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Microsoft SQL Server および Sybase Adaptive Server のトラブルシューティング

StoO_errmsg := SQLERRM; END;END;

[SPCONV-ERR(NN)]:ALTER TABLE STRING Statement IgnoredALTER TABLE文が削除されます。この問題は、DBMS_SQLパッケージを使用して動的 SQLを実装することで対処できます。DBMS_SQLパッケージを使用する場合の 1 つの問題は、暗黙的コミットが強制実行されることです。ただし、この問題は、PRAGMA AUTONOMOUS_TRANSACTIONを使用することで対処できます。

[SPCONV-ERR(NN)]:(UPDATE.. SET..=(SELECT..)) Manual Conversion Required現在、UPDATE文で副問合せを使用すると、問題が発生します。

[SPCONV-ERR(NN)]:[Parsing(NAME)]('CURSOR ..NAME') is not supported in OracleCURSOR.. NAMEは、通常のカーソルとして処理されます。そのため、CURSOR.. NAMEに固有の機能は、Oracle では自動的には変換されません。NAMEには、LOCAL、INSENSITIVEまたは SCROLLABLEを指定できます。

[SPCONV-ERR(NN)]:[Parsing(NAME])To reduce locking, add columns explicitly to FOR UPDATE clause on cursor: NAMEデフォルトでは、行全体がロックされます。列を明示的に指定することで、ロックの問題の数を減らすことができます。

[SPCONV-ERR(NN)]:[Parsing(NAME)]:(OUTER|RIGHT|LEFT JOIN) Manual Conversion RequiredMigration Workbench の T-SQL から PL/SQL への変換を行うパーサーで、Oracle 形式の外部結合記号 (+) を指定する場所が認識されません。この問題が発生すると、警告メッセージが表示されます。

[SPCONV-ERR(NN)]:[Parsing(NAME)]:Formatting arguments truncated. STR(NAME,NN,NN)3 番目の引数は無視されます。そのため、PL/SQL で書式設定すると、T-SQL の書式設定と一致しない場合があります。

[SPCONV-ERR(NN)]:[Parsing(NAME)] Parser failed on a statement restarting to continue with next statement大 / 小文字の自動変換に失敗しています。パーサーは、次の文に進みます。手動で変換する必要があります。詳細は、『Oracle Database SQL リファレンス』を参照してください。

10-56 Oracle Migration Workbench ユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP

Page 157: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

用語集用語集用語集用語集

CHAR データ型(データ型(データ型(データ型(CHAR data type))))

ANSI/ISO との互換性のために提供される Oracle データ型。CHAR列は固定長の列で、印刷可能な文字(A、3、&、空白など)を格納できる。また、格納できるのは 1 ~ 2000 バイトであり、NULL にすることも可能。

Migration Workbench

アプリケーション・システムの移行先データベースへの移行に役立つグラフィカル・ツール。

Migration Workbench Software Development Kit((((MWSDK))))

他社のデータベースの開発者が Migration Workbench の機能を他のプラット・フォームに拡張できるように公開されている Application Programming Interface(API)。

Migration Workbench リポジトリ(リポジトリ(リポジトリ(リポジトリ(Migration Workbench repository: repository))))

Migration Workbench によるアプリケーション・システムの移行に必要な永続情報を格納する場合に使用される Oracle データベースの表セット。

Oracle Open Database Connectivity ドライバ(ドライバ(ドライバ(ドライバ(Oracle Open Database Connectivity: ODBC ドライバ)ドライバ)ドライバ)ドライバ)

Oracle ODBC ドライバは、アプリケーションによる様々なデータソースへのアクセスを可能にする標準的なインタフェースを提供する。アプリケーションのソース・コードを、各データソースごとに再コンパイルする必要はない。データベース・ドライバは、アプリケーションを特定のデータソースとリンクさせる。データベース・ドライバは、特定のデータソースへのアクセスの取得要求に応じて、アプリケーションが起動できる動的リンク・ライブラリである。したがって、アプリケーションは、データ・ドライバが存在するすべてのデータソースにアクセスできる。

用語集用語集用語集用語集 -1

Page 158: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

ORACLE_HOME

一部のディレクトリ・ベースのオペレーティング・システム上に構成される Oracle ディレクトリ階層の上位ディレクトリの代替名。これは、Oracle 製品を実行する環境に対応する。この環境には、インストールされた製品ファイルの場所、製品のバイナリ・ファイルを示すPATH変数、レジストリ・エントリ、ネット・サービス名およびプログラム・グループが含まれる。

Oracle データベース(データベース(データベース(データベース(Oracle database))))

データベース・システムおよびそのデータベースに格納される実際のデータの作成およびメンテナンスに使用するソフトウェア。

Oracle モデル(モデル(モデル(モデル(Oracle Model))))

移行先データベースの構造を表現するもの。Oracle モデルは、Workbench リポジトリに格納される。Migration Workbench は、ソース・モデルの情報を使用して Oracle モデルに移入する。

SQL*Loader

オペレーティング・システム・ファイルから移行先データベースの表にデータをロードするために使用する Oracle ツール。

Structured Query Language((((SQL))))

リレーショナル・データベースの定義および操作のために、国際的に受け入れられている規格。

tnsnames.ora

ネット・サービス名にマップされる接続記述子を含むファイル。このファイルは、すべてのクライアントまたは個々のクライアントによる使用を目的として、中央、またはローカルで保持できる。

Workbench コア(コア(コア(コア(Workbench core))))

Migration Workbench のコンポーネント。他社のデータベースを移行するために、異なるWorkbench プラグインとともに動作するフレームワーク。

Workbench プラグイン(プラグイン(プラグイン(プラグイン(Workbench plug-in: plug-in))))

Migration Workbench のコンポーネント。ソース・データベースを移行先データベースに移行するために、Workbench コアとともに動作する。様々な他社のデータベースを Oracleデータベースに移行するために、個々のプラグインを使用できる。

用語集用語集用語集用語集 -2

Page 159: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

Workbench リポジトリ(リポジトリ(リポジトリ(リポジトリ(Workbench repository))))

ソース・モデルおよび Oracle モデルを含む永続的な移行情報を格納する Oracle データベースの表セット。

アプリケーション・システム(アプリケーション・システム(アプリケーション・システム(アプリケーション・システム(application system))))

他社のデータベース環境用に開発されたデータベース・スキーマおよびアプリケーション・ファイル。

移行ウィザード(移行ウィザード(移行ウィザード(移行ウィザード(Migration wizard))))

ソース・データベースの移行先データベースへの移行に役立つ直感的なウィザード。

移行エンティティ(移行エンティティ(移行エンティティ(移行エンティティ(Migration entity))))

移行コンポーネントのインスタンス。表 EMPは、表 MIGRATION COMPONENTに属する移行エンティティである。

移行コンポーネント(移行コンポーネント(移行コンポーネント(移行コンポーネント(Migration component))))

Oracle データベースに移行可能なアプリケーション・システムの一部。移行コンポーネントには、表やストアド・プロシージャなどがある。

移行先データベース(移行先データベース(移行先データベース(移行先データベース(destination database))))

移行したデータベース・オブジェクトを移入する Oracle データベース。

依存性(依存性(依存性(依存性(dependency))))

2 つの移行エンティティ間の関連。たとえば、データベース・ビューは、参照する表に依存する。

受入れテスト(受入れテスト(受入れテスト(受入れテスト(acceptance test))))

テストの集合。ソース・データベースを移行先データベースに正常に移行できると判断する前に、移行データベースはこのテストでの評価基準を満たしている必要がある。テストは、ユーザーによるシステムの使用方法を基に設計される。

オフライン取得(オフライン取得(オフライン取得(オフライン取得(offline capture))))

Migration Workbench 取得スクリプトを使用して、ソース・データベースに接続し、データベース構造を記述するファイル・セットを作成するプロセス。その後、Migration Workbench を使用して、これらのファイルからソース・モデルに移入し、Oracle モデルを作成(任意)する。

オフライン・スキーマ作成(オフライン・スキーマ作成(オフライン・スキーマ作成(オフライン・スキーマ作成(offline schema creation))))

Migration Workbench を使用して一連の SQL スクリプトを生成し、SQL*Plus を使用した移行先データベースへの接続時に、これらのスクリプトを実行するプロセス。

用語集用語集用語集用語集 -3

Page 160: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

オフライン・データ送信(オフライン・データ送信(オフライン・データ送信(オフライン・データ送信(offline data transfer))))

スクリプトを生成し、そのスクリプトを使用して、ソース・データベースから移行先データベースにデータをコピーするプロセス。このプロセスの実行中は、次の要件を満たす必要がある。

� Migration Workbench を使用して、ソース・データベースに対するデータ・アンロード・スクリプトおよび移行先データベースに対応するデータ・ロード・スクリプトを生成する必要がある。

� データ・アンロード・スクリプトを実行して、ソース・データベースからデータのテキスト・ファイルを作成する必要がある。

� SQL*Loader を使用してデータ・ロード・スクリプトを実行し、これらのテキスト・ファイルからデータを移行先データベースに移入する必要がある。

オンライン取得(オンライン取得(オンライン取得(オンライン取得(online capture))))

Migration Workbench を使用して、ソース・データベースに接続し、データベース構造を抽出し、ソース・モデルに移入するプロセス。

オンライン・スキーマ作成(オンライン・スキーマ作成(オンライン・スキーマ作成(オンライン・スキーマ作成(online schema creation))))

Migration Workbench を使用して、移行先データベースに接続し、移行されるデータベース・オブジェクトを作成するプロセス。

オンライン・データ送信(オンライン・データ送信(オンライン・データ送信(オンライン・データ送信(online data transfer))))

Migration Workbench を使用して、ソース・データベースから移行先データベースにデータをコピーするプロセス。オンライン・データ送信プロセス中、Migration Workbench はソース・データベースおよび移行先データベースの両方に接続する必要がある。

外部キー(外部キー(外部キー(外部キー(foreign key))))

列または列セットの各値と、関連する表の一意キーまたは主キーの値と一致している必要がある整合性制約。外部キー整合性制約は、外部キーが参照しているデータが変更された場合に、Oracle で依存データを処理する方法を指示する参照整合性のアクションも定義する。

クライアント(クライアント(クライアント(クライアント(client))))

Oracle でサポートされるアプリケーションが実行され、Oracle8i サーバー上の共有データベースに接続されるシステム。

主キー(主キー(主キー(主キー(primary key))))

表の主キー制約の定義を格納する列または列セット。主キーの値によって、表内の行が一意に識別される。各表に対して、1 つの主キーのみを定義できる。

取得ウィザード(取得ウィザード(取得ウィザード(取得ウィザード(Capture wizard))))

直感的なウィザード。ソース・データベースのデータ・ディクショナリのスナップショットを取り、ソース・モデルに移入し、オプションで Oracle モデルを作成する。

用語集用語集用語集用語集 -4

Page 161: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

進捗ウィンドウ(進捗ウィンドウ(進捗ウィンドウ(進捗ウィンドウ(progress window))))

Migration Workbench のユーザー・インタフェースの一部。移行プロセスの進捗に関する情報、エラーまたは警告メッセージが含まれる。

スキーマ(スキーマ(スキーマ(スキーマ(schema))))

データベースで作成および格納され、特定のユーザーに関連付けられている、名前付けされたオブジェクト(表、ビュー、シノニム、索引など)の集合。

ソース・データベース(ソース・データベース(ソース・データベース(ソース・データベース(source database))))

Oracle データベースに移行する Microsoft Access などの他社のデータベース。

ソース・モデル(ソース・モデル(ソース・モデル(ソース・モデル(Source Model))))

Workbench リポジトリに格納されるソース・データベースの構造を表現するもの。

他社のデータベース(他社のデータベース(他社のデータベース(他社のデータベース(third-party database))))

Migration Workbench によって Oracle データベースへの移行がサポートされる Oracle 以外のデータベース。

データ型(データ型(データ型(データ型(data type))))

変数やディメンションに含まれる情報の種類(整数、小数、アルファベット文字、論理データなど)。変数やディメンションには、それぞれ 1 種類のデータを格納できる。

トリガー(トリガー(トリガー(トリガー(trigger))))

挿入、更新、削除操作などによって、表またはビューが変更されるたびに自動的に起動されるデータベースのストアド・プロシージャ。

バイナリ・ラージ・オブジェクト(バイナリ・ラージ・オブジェクト(バイナリ・ラージ・オブジェクト(バイナリ・ラージ・オブジェクト(Binary Large Object: BLOB))))

内容がバイナリ・データで構成されているラージ・オブジェクトのデータ型。データ構造が移行先データベースに認識されない場合、このデータは RAW と判断される。

表領域(表領域(表領域(表領域(tablespace))))

データベースは、表領域と呼ばれる 1 つ以上の論理記憶域のユニットに分割される。表領域は、セグメントと呼ばれる記憶域の論理構造にグループ化される。セグメントはさらにエクステントに分割される。

予約語(予約語(予約語(予約語(reserved word))))

SQL では、SQL 文での使用を目的とした予約されている語のセット。予約語は、スキーマ・オブジェクトの名前として使用できない。

用語集用語集用語集用語集 -5

Page 162: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

用語集用語集用語集用語集 -6

Page 163: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

索引索引索引索引

AALTER TABLE

パーサーのエラー・メッセージ,10-56

BBEGIN TRAN

パーサーのエラー・メッセージ,10-25

CCase..End

パーサーのエラー・メッセージ,10-56CHAR データ型

定義,用語集 -1CREATE INDEX

パーサーのエラー・メッセージ,10-26CREATE TABLE

パーサーのエラー・メッセージ,10-28CREATE VIEW

パーサーのエラー・メッセージ,10-30CURSOR ..NAME

パーサーのエラー・メッセージ,10-56

DDROP PROCEDURE

パーサーのエラー・メッセージ,10-32DROP TABLE

パーサーのエラー・メッセージ,10-34DROP VIEW

パーサーのエラー・メッセージ,10-36

FFETCH

パーサーのエラー・メッセージ,10-12FULL OUTER JOIN

パーサーのエラー・メッセージ,10-18

GGRANT

パーサーのエラー・メッセージ,10-38Graphical User Interface (GUI),1-3

IIBM DB2 UDB

構成,3-12データファイルの作成,6-12

IBM DB2/400構成,3-11データファイルの作成,6-11

Informix Dynamic Server構成,3-10取得,4-7データファイルの作成,6-10

Informix ESQL/C,4-13ソース・ファイルの移行,6-13

INSENSITIVE CURSORパーサーのエラー・メッセージ,10-40

LLEFT JOIN

パーサーのエラー・メッセージ,10-46

索引索引索引索引 -1

Page 164: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

LIKEパーサーのエラー・メッセージ,10-20

LIKE .. INNERパーサーのエラー・メッセージ,10-54

MMetaLink

使用可能なサポート,xiMicrosoft Access

構成,3-6取得,3-9セキュリティの無効化,3-6データファイルの作成,6-10元のフォームおよびレポートの使用,6-5

Microsoft Access セキュリティの削除,10-3Microsoft SQL Server,3-3

取得,4-5データファイルの作成,6-9

Migaration Workbench リポジトリ

定義,用語集 -1Migration Workbench

起動,4-3定義,用語集 -1表領域の作成,5-5

Migration Workbench Software Development Kit(MWSDK)定義,用語集 -1

MySQL構成,3-10データファイルの作成,6-10

NNAME

エラー・メッセージの解析,10-56NN

パーサーのエラー・メッセージ,10-42

OODBC ドライバ

SQL Server へのインストール,3-4定義,用語集 -1

omwb_emulation スキーマ,1-6Oracle Enterprise Manager,5-5

ORACLE_HOME定義,用語集 -2

Oracle ODBC データソース設定,3-4

Oracle データベースWorkbench リポジトリ,4-4定義,用語集 -2配置,8-3

Oracle モデル概要,5-2作成,5-1スキーマ・オブジェクト,5-4定義,用語集 -2

ORDER BYパーサーのエラー・メッセージ,10-43

OTN-J登録,xi

OUTER RIGHT LEFT JOINパーサーのエラー・メッセージ,10-56

Rraiserror

パーサーのエラー・メッセージ,10-17REPUSER

作成,3-2RIGHT JOIN

パーサーのエラー・メッセージ,10-48

SSCROLL CURSOR

パーサーのエラー・メッセージ,10-49set

パーサーのエラー・メッセージ,10-23SQL

定義,用語集 -2SQL Server

構成,3-3SQL*Loader

スクリプトの生成,6-9定義,用語集 -2

Sybase Adaptive Server構成,3-5取得,4-5データファイルの作成,6-9

索引索引索引索引 -2

Page 165: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

TTablespace Discoverer,5-6tnsnames.ora

定義,用語集 -2

UUPDATE

パーサーのエラー・メッセージ,10-56

WWITH STRING

パーサーのエラー・メッセージ,10-22Workbench プラグイン

定義,用語集 -2Workbench リポジトリ

Oracle データベース,4-4概要,1-4選択,4-3定義,用語集 -3データベース・ユーザー,4-4デフォルト,4-4

XXML ファイル,4-9

ああああ

アーキテクチャ

Migration Workbench,1-2アクセス

「Log」ウィンドウおよびログ・ファイル,9-7移行先データベース,1-5

アプリケーション分析,2-5

アプリケーション・システム定義,用語集 -3

いいいい

移行,6-1Migration Workbench の使用プロセス,1-4概要,6-2推奨事項,6-2

必要なロールおよび権限,1-5メリット,1-6

移行ウィザード使用,6-3定義,用語集 -3

移行エンティティ

定義,用語集 -3移行コンポーネント

定義,用語集 -3移行先データベース

アクセス,1-5定義,用語集 -3配置,8-3

移行スクリプト

生成,6-7移行プロジェクト

計画,2-6要件の確認,2-2

移行プロセス取得,1-4

移行前IBM DB2 UDB,3-12IBM DB2/400,3-11Informix Dynamic Server,3-10Microsoft Access,3-6Microsoft SQL Server,3-3MySQL,3-10Sybase Adaptive Server,3-5構成,3-3

移行要件の確認,2-2依存性

定義,用語集 -3インストール

Microsoft SQL Server ODBC ドライバ,3-4インストール可能なコンポーネント

Migration Workbench,1-3プラグイン,1-4

うううう

ウィザード取得ウィザードの使用,4-8移行ウィザードの使用,6-3

ウィンドウ

ログへのアクセス,9-7

索引索引索引索引 -3

Page 166: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

ええええ

エラー

解析例外,5-3エラーおよび警告レポート

使用,9-6表示,9-5

エラー・メッセージパーサーのリファレンス,10-11

おおおお

オフライン取得概要,4-2定義,用語集 -3

オフライン取得ファイル,4-5Microsoft SQL Server または Sybase Adaptive

Server 用の作成,4-5デフォルトのデリミタ文字,10-8

オフライン・スキーマ作成,6-2定義,用語集 -3

オフライン・データ送信,6-2,6-8定義,用語集 -4

オンライン取得

概要,4-2定義,用語集 -4

オンライン・スキーマ作成,6-2,6-6定義,用語集 -4

オンライン・データ送信,6-2,6-8定義,用語集 -4

オンライン・ドキュメント要件,x

かかかか

解析例外エラー,5-3外部キー

定義,用語集 -4概要

Oracle モデル,5-2移行,6-2ガイド,1-2レポート,9-2

カスタマイズ

データ型マッピング,4-14空の文字列データ,10-10関連ドキュメント,viii

きききき

技術

サポート済,1-8起動

Migration Workbench,4-3機能

Migration Workbench,1-6移行,1-6

くくくく

クライアント定義,用語集 -4

グローバル変数パーサーのエラー・メッセージ,10-44

けけけけ

計画

移行プロジェクト,2-6複雑および単純,2-3

警告レポートの使用,9-6レポートの表示,9-5

権限

移行に必要,1-5

ここここ

構成,3-3IBM DB2 UDB,3-12IBM DB2/400,3-11Informix Dynamic Server,3-10Microsoft Access,3-6Microsoft SQL Server,3-3Migration Workbench,3-2MySQL,3-10Sybase Adaptive Server,3-5他社のデータベース,3-3

構文表記規則,x

コード例の変数,x孤立したスキーマ・オブジェクト

所有者の設定,10-7コンポーネント

Migration Workbench,1-2

索引索引索引索引 -4

Page 167: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

ささささ

作成

Migration Workbench での表領域,5-5Oracle Enterprise Manager での表領域,5-5Oracle モデル,5-1オフライン取得ファイル,4-5オフラインのスキーマ,6-2,6-7オンラインのスキーマ,6-2,6-6ソース・モデル,4-1データベース・ユーザー,3-2

サポート

技術,1-8使用可能,xiデータベース,1-8

サマリー・レポート

使用,9-4表示,9-3

しししし

識別

アプリケーション要件,2-5移行計画,2-6

主キー定義,用語集 -4

取得,4-1Informix Dynamic Server,4-7Informix ESQL/C,4-13Microsoft Access,3-9Microsoft SQL Server,4-5Sybase Adaptive Server,4-5オフライン,4-2オフライン取得ファイル,4-5オンライン,4-2概要,4-2取得ウィザード,4-8ソース・データベース,1-4

取得ウィザード使用,4-8定義,用語集 -4

準備

移行プロジェクト,2-6使用

Migration Workbench,1-4移行ウィザード,6-3エラーおよび警告レポート,9-6

既存の表領域,5-6サマリー・レポート,9-4取得ウィザード,4-8詳細レポート,9-5レポート,9-2ワークロードを見積もるための Migration

Workbench,2-4詳細レポート

使用,9-5表示,9-4

進捗ウィンドウ定義,用語集 -5

すすすす

推奨事項

移行用,6-2スキーマ

omwb_emulation,1-6定義,用語集 -5

スキーマ・オブジェクトOracle モデル,5-4所有者なし,10-7ソース・モデル,4-13

スクリプトSQL*Loader 用に生成,6-9移行用に生成,6-7

ストアド・プロシージャのコレクション

名前の変更,10-7ストアド・プロシージャのコレクション名の変更,

10-7

せせせせ

生成SQL*Loader スクリプト,6-9移行スクリプト,6-7レポート,9-2

製品機能,1-6製品マニュアル,viiiセキュリティ

無効化,3-6セキュリティの無効化,3-6セキュリティ、Microsoft Access からの削除,10-3接続

Oracle,3-13

索引索引索引索引 -5

Page 168: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

接続情報Oracle データベース,3-13

設定Oracle ODBC データソース,3-4

選択Workbench リポジトリ,4-3プラグイン,4-4

そそそそ

操作要件,2-5

送信オフラインのデータ,6-2,6-8オンラインのデータ,6-2,6-8

ソース・データベース,4-1取得,1-4定義,用語集 -5

ソース・データベース・システムの機能,1-6ソース・モデル

カスタマイズ,4-13定義,用語集 -5

たたたた

他社のデータベース

構成,3-3サポート済,1-8定義,用語集 -5

段階

移行プロセス,1-4段階的アプローチ

配置,8-2単純な計画,2-3

てててて

データ型

定義,用語集 -5データ型マッピング

カスタマイズ,4-14データファイル

IBM DB2 UDB 用に作成,6-12IBM DB2/400 用に作成,6-11Informix Dynamic Server 用に作成,6-10Microsoft Access 用に作成,6-10Microsoft SQL Server 用に作成,6-9

MySQL 用に作成,6-10Sybase Adaptive Server 用に作成,6-9

データファイルの作成IBM DB2 UDB,6-12IBM DB2/400,6-11Informix Dynamic Server,6-10Microsoft Access,6-10Microsoft SQL Server,6-9MySQL,6-10Sybase Adaptive Server,6-9

データベースサポート済,1-8接続情報,3-13配置,8-3配置方法,8-2ユーザーの作成,3-2

デリミタ文字デフォルト設定,10-8編集,10-8

とととと

登録OTN-J,xi

ドキュメントオンライン要件,x概要,1-2関連,viii

トラブルシューティングMicrosoft Access の変更,10-6Microsoft SQL Server,10-7Sybase Adaptive Server,10-7リポジトリ,10-2

トリガー

定義,用語集 -5

はははは

パーサーALTER TABLE エラー,10-56BEGIN TRAN エラー,10-25Case..End エラー,10-56CREATE INDEX エラー,10-26CREATE TABLE エラー,10-28CREATE VIEW エラー,10-30CURSOR .. NAME エラー,10-56DROP PROCEDURE エラー,10-32

索引索引索引索引 -6

Page 169: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

DROP TABLE エラー,10-34DROP VIEW エラー,10-36FETCH エラー,10-12FULL OUTER JOIN エラー,10-18GRANT エラー,10-38INSENSITIVE CURSOR エラー,10-40LEFT JOIN エラー,10-46LIKE .. INNER エラー,10-54LIKE エラー,10-20NAME エラー,10-56NN エラー,10-42ORDER BY エラー,10-43OUTER RIGHT LEFT JOIN エラー,10-56raiserror エラー,10-17RIGHT JOIN エラー,10-48SCROLL CURSOR エラー,10-49set エラー,10-23T-SQL 構文エラー,10-11UPDATE エラー,10-56WITH STRING エラー,10-22グローバル変数のエラー,10-44

パーサーのリファレンス情報

エラー・メッセージ,10-11配置

Oracle データベース,8-3段階的アプローチ,8-2パラレル・アプローチ,8-2ビッグバン・アプローチ,8-2方法,8-2

バイナリ・ラージ・オブジェクト

定義,用語集 -5パラレル・アプローチ

配置,8-2

ひひひひ

ビッグバン・アプローチ配置,8-2

表空の文字列データ,10-10

表記規則,ix表記,ix

表示「Log」ウィンドウおよびログ・ファイル,9-7エラーおよび警告レポート,9-5詳細レポート,9-4レポート,9-2

表領域Migration Workbench での作成,5-5Oracle Enterprise Manager での作成,5-5Tablespace Discoverer を使用,5-6概要,5-5定義,用語集 -5デフォルト設定,5-5名前の変更,5-6

表領域の作成,5-5表領域の名前の変更,5-6表領域の変更「表領域の名前の変更」を参照

ふふふふ

ファイル

IBM DB2 UDB データファイルの作成,6-12IBM DB2/400 データファイルの作成,6-11Informix Dynamic Server データファイルの作成,

6-10Microsoft Access データファイルの作成,6-10Microsoft SQL Server データファイルの作成,6-9MySQL データファイルの作成,6-10Sybase Adaptive Server データファイルの作成,6-9XML,4-9アクセス,9-7オフライン取得,4-5

フォーム

Microsoft Access,6-5複雑な計画,2-3プラグイン

構成,3-3選択,4-4

プロジェクト

計画の作成,2-5要件,2-2

プロセス移行,1-4

分析アプリケーション,2-5操作要件,2-5

へへへへ

ヘルプ使用可能,xi

索引索引索引索引 -7

Page 170: Oracle® Migration Workbenchotndnld.oracle.co.jp/document/tech/migration/omwb/92017/...Oracle Migration Workbench ユーザーズ・ガイド, リリース9.2 for Microsoft Windows

変数コード例,x

ほほほほ

方法

配置,8-2

まままま

マッピング,5-2

みみみみ

見積り移行プロジェクト,2-6ワークロード,2-4

めめめめ

メリット移行,1-6

ゆゆゆゆ

ユーザー・インタフェース,1-3

よよよよ

要件

アプリケーション,2-5移行計画の確認,2-2オンライン・ドキュメント,x操作,2-5

用語マニュアルで使用,ix用語集,用語集 -1

用語集

用語の定義,用語集 -1予約語

定義,用語集 -5

りりりり

リポジトリ,4-3Migration Workbench,1-4データベース・ユーザー,4-4

トラブルシューティング,10-2ユーザーの作成,3-2

リレーション、Microsoft Access 内での削除,10-3

れれれれ

レプリケート,1-6レポート

Microsoft Access,6-5エラーおよび警告レポートの使用,9-6エラーおよび警告レポートの表示,9-5概要,9-2サマリーの表示,9-3サマリー・レポートの使用,9-4詳細の使用,9-5詳細の表示,9-4生成,9-2表示および使用,9-2

ろろろろ

ロール

移行に必要,1-5

わわわわ

ワークロード見積り,2-4

索引索引索引索引 -8