Microsoft SQL ServerからOracle Database 11gへの移行

このチュートリアルでは、Oracle SQL Developerを使用して、Microsoft SQL ServerデータベースからOracle Database 11gへ移行する方法について説明します。

約30分

トピック

このチュートリアルでは、以下のトピックについて説明します。

このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。

概要

Oracle SQL Developerを使用する理由

Oracle SQL Developerは無償のグラフィカル・ツールです。生産性が向上し、データベース開発タスクがシンプルになります。 Oracle SQL Developerを使用すると、データベース・オブジェクトの参照、SQL文の実行、PL/SQL文の編集およびデバッグ、提供レポートまたはカスタム・レポートの実行などが実現します。

Microsoft SQL Serverの移行の概要

Oracle SQL Developer Migration Workbenchを使用すると、サード・パーティ・データベースからOracleデータベースへ簡単に移行できます。

データベース移行プロセスは、おもに次の4つのステップで構成されています。

ソース・データベースの取得
取得されたデータベースの変換
Oracleデータベースの生成
データの移行

このチュートリアルでは、オフライン移行に必要なスクリプトがあらかじめ生成され、修正されています。 このチュートリアルを実行する時間がないときは、オフライン移行のデモで確認してください。こちらをクリックしてください。

オンライン移行の手順を表示するには、こちらをクリックしてください。

トピック・リストに戻る

このチュートリアルを始める前に、次を実行しておく必要があります。

1.

Oracle Database 10g以上、またはOracle Database XEをインストールしていること。

2.

こちらからOracle SQL Developerをダウンロードし、解凍していること。

3.

mssqlservermigration.zipファイルを作業ディレクトリ(wkdirなど)にダウンロードし、解凍していること。

新規データベース・ユーザーを作成するには、次の手順を実行します。

注: system_orcl接続とmwrepユーザーがすでに作成されている場合は、このステップは飛ばしてください。

1.

デスクトップ上のアイコンを使用して、Oracle SQL Developerを起動します。

 

2.

View」→「Connections」の順に選択します。

 

3.

Connectionsタブで、「Connections」を右クリックし、「New Connection」を選択します。 New / Select Database Connectionウィンドウが表示されます。

 

4.

接続名フィールドにsystem_orcl(または接続を識別できるその他の名前)を入力し、ユーザー名フィールドにsystem、パスワード・フィールドに<指定したパスワード>を入力します。 「Save Password」チェック・ボックスを選択します。 ホスト名フィールドに<ホスト名>を、SIDフィールドにorclを入力します。 「Test」をクリックします。

 

5.

左下に表示される接続ステータス(Helpボタンの上)がSuccessになっていることを確認します。 接続を保存するには、「Connect」をクリックします。 ウィンドウを閉じます。

 

6.

ConnectionsタブのConnections内に、保存された接続が表示されます。

 

7.

system_orcl接続を展開します。

注: 接続を開くと、自動的にSQL Worksheetが開きます。 SQL Worksheetを使用すると、先ほど作成した接続に対してSQLを実行できます。

 

8.

SQL Worksheetに次のコードを入力し、移行リポジトリ用のユーザーを作成します。

CREATE USER MWREP 
IDENTIFIED BY mwrep 
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
GRANT CONNECT, RESOURCE, CREATE SESSION, CREATE VIEW TO MWREP;

 

9.

Run Script」(F5)アイコンを使用して、スクリプトを実行します。

 

10.

mwrepユーザーが正しく作成されました。

 

トピック・リストに戻る

Microsoft SQL ServerデータベースをOracleデータベースに変換するには、必要なリポジトリ表とPL/SQLパッケージを格納するためのリポジトリを作成する必要があります。 次の手順を実行します。

注: mwrep_orcl接続と移行リポジトリがすでに作成されている場合は、このステップを飛ばしてください。

1.

リポジトリを作成する前に、mwrepユーザーへの接続を作成する必要があります。 Connectionsタブで、「Connections」を右クリックし、「New Connection」を選択します。 New / Select Database Connectionウィンドウが表示されます。

注: このタブが表示されていない場合は、「View」→「Connections」を選択してください。

 

2.

接続名フィールドにmwrep_orcl(または接続を識別できるその他の名前)を入力し、ユーザー名フィールドとパスワード・フィールドにmwrepと入力します。 「Save Password」チェック・ボックスを選択します。 ホスト名フィールドに<ホスト名>を、SIDフィールドにorclを入力します。 「Test」をクリックします。

 

3.

左下に表示される接続ステータス(Helpボタンの上)がSuccessになっていることを確認します。 接続を保存するには、「Connect」をクリックします。 ウィンドウを閉じます。

 

4.

ConnectionsタブのConnections内に、保存された接続が表示されます。

 

5.

mwrep_orcl」接続を右クリックし、「Migration Repository」→「Associate Migration Repository」を選択します。

 

6.

進捗ウィンドウが表示されます。

 

7.

インストールが完了したら、「Close」をクリックします。

 

8.

OK」をクリックします。

 

トピック・リストに戻る

Microsoft SQL Serverデータベース・スクリプトの作成手順はあらかじめ完了しており、前提条件の項でzipファイルが提供されています。 この手順を表示するには、こちらをクリックしてください。

取得されたMicrosoft SQL Serverデータベース・スクリプトをOracle SQL Developerにロードするには、次の手順を実行します。

1.

Migration」→「Third Party Database Offline Capture」→「Load Database Capture Script Output」の順に選択します。

 

2.

Captureディレクトリを参照し、「sqlserver2005.ocp」ファイルを選択します。

 

3.

オブジェクトが作成されます。 終了したら、「Close」をクリックします。

 

4.

Captured ModelsタブにSQLServer2005が表示されます。 「SQLServer2005」を展開します。

 

5.

dbo」を展開し、取得されたオブジェクトのリストを確認します。

 

トピック・リストに戻る

この時点で変換プリファレンスを確認することが重要です。 次の手順を実行してください。

1.

Tools」→「Preferences」の順に選択します。

 

2.

Migration」を展開し、「Identifier Options」を選択します。

 

3.

Is Quoted Identifier Onが選択されていることを確認します。 「OK」をクリックします。

 

トピック・リストに戻る

取得モデルをOracleモデルに変換するには、次の手順を実行してください。

1.

取得モデル「SQLServer2005」を右クリックし、「Convert to Oracle Model」を選択します。

 

2.

Set Data Mapウィンドウが開き、ソース・データ・タイプとOracleモデル内の変換先データ・タイプが表示されます。 「Apply」をクリックします。

 

3.

変換が実行されます。 終了したら、「Close」をクリックします。

 

4.

Converted Modelsタブに表示された「Converted:SQLServer2005 」を展開します。

 

5.

dbo_Northwind」を展開し、変換されたオブジェクトを確認します。

 

トピック・リストに戻る

Oracleデータベース内にオブジェクトを作成するDDL文を含んだSQLスクリプトを作成するには、次の手順を実行します。

1.

Converted:SQLServer2005」を右クリックし、「Generate」を選択します。

 

2.

Oracle SQLが作成されます。 終了したら、「Close」をクリックします。

 

3.

スクリプトに含まれるSQLが表示されます。 右側のドロップダウンから「system_orcl」を選択します。

 

4.

Run Script」(F5)をクリックします。

 

5.

スクリプトの実行結果が表示されます。

 

6.

スクリプトが正しく実行されたことを確認したら、dbo_Northwindユーザーへの接続を作成します。 「Connections」を右クリックして、「New Connection」を選択します。

 

7.

接続名フィールドにdbo_northwind-migrated_orcl(または接続を識別できるその他の名前)を入力し、ユーザー名フィールドとパスワード・フィールドにdbo_Northwindと入力します。 「Save Password」チェック・ボックスを選択します。 ホスト名フィールドに<ホスト名>を、SIDフィールドにorclを入力します。 「Test」をクリックします。

 

8.

左下に表示される接続ステータス(Helpボタンの上)がSuccessになっていることを確認します。 接続を保存するには、「Connect」をクリックします。 ウィンドウを閉じます。

 

9.

dbo_Northwind-migrated_orcl」接続を展開します。

 

10.

Tables」を展開します。

 

11.

Oracleに変換されたデータベース表が表示されます。 「EMPLOYEES」表を選択します。

 

12.

Data」タブを選択します。 この時点で表にはデータが含まれていないことを確認します。 このチュートリアルの後半でデータを移行します。

 

トピック・リストに戻る

プリファレンスに日付書式マスクを指定すると、オフライン・データ移動スクリプト、そして特にOracle SQL*Loader制御ファイルから正しい形式を参照できます。 そのために次の手順を実行してください。

1.

Tools」→「Preferences」の順に選択します。

 

2.

Migration」を展開し、「Data Move Options」を選択します。

 

3.

日付マスク形式が次のように指定されていることを確認します。

Mon dd yyyy HH:mi:ssAM

 

4.

タイムスタンプ・マスクが次のように指定されていることを確認します。

Mon dd yyyy HH:mi:ss:ff3AM

OK」をクリックします。

 

トピック・リストに戻る

Microsoft SQL ServerからOracleデータベースへの移行は非常に簡単に実行できますが、 一部のオブジェクトと構文は自動的に移行されません。 このため、手動での介入が必要になる点に注意してください。

取得モデルを分析し、オブジェクトの数や種類、そして複雑さを特定しておくと、手動タスクにかかる時間の見積り計算が簡単になります。

タスクとプロジェクトに関する見積りに対して、次のレポートを使用できます。

次の作業にかかる時間を見積もります。

トピック・リストに戻る

データは、あらかじめMicrosoft SQL Serverから生成されています。 生成手順を確認するには、こちらをクリックします。

提供されたスクリプトを使用してデータをインポートするには、次の手順を実行します。

1.

DOSコマンド・プロンプトを開いて、次のコマンドを実行します。

<プロンプト> cd <ファイルのあるロケーション>

<プロンプト> oracle_ctl

前提条件の項で提供されているファイルを解凍したDataディレクトリに、ファイルが保管されています。

oracle_ctlは、データをロードするための文を含むbatファイルです。 ここでは、sqlldrを使用してデータをロードします。

 

2.

コマンドが正しく実行されました。

 

3.

Oracle SQL Developerに切り替えて、接続を更新します。

 

4.

表に含まれるデータが正しくロードされています。

 

5.

CATEGORIES」表を選択します。

 

6.

PICTURE列の最初のセルをダブルクリックし、「...」をクリックします。

 

7.

Image」チェック・ボックスを選択し、「OK」をクリックします。

 

トピック・リストに戻る

移行対象データベースの複雑さによっては、移行プロジェクトの大部分がテスト作業になる場合があります。

現時点で、オラクルは移行されたデータベースを自動的に検証するツールを提供していません。 実際に移行を開始する前に、このフェーズについての計画を立て、考慮に入れておく必要があります。

プロジェクト計画には、次の作業を含める必要があります。

トピック・リストに戻る

まとめ

このチュートリアルで学習した内容は、次のとおりです。

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。