Microsoft AccessデータベースからOracle Database 11gへの移行

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

約30分

トピック

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

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

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

概要

SQL Developerについて

Oracle SQL Developerは、生産性を強化し、データベース開発作業を簡素化する無償のグラフィカル・ツールです。 Oracle SQL Developerを使用すると、データベース・オブジェクトを参照し、SQL文を実行し、PL/SQL文を編集およびデバッグし、提供または作成されたレポートを実行できます。

Microsoft Accessの移行概要

Oracle SQL Developer Migration Workbenchを使用すると、Microsoft AccessデータベースからOracleデータベースへの移行を簡単に実行できます。

データベース移行プロセスには、おもに次の4つの手順が含まれます。

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

このチュートリアルでは、オフライン移行に必要なスクリプトがすでに生成されており、修正を加えられています。 このチュートリアルを実行する時間がない場合は、こちらのビューレットでオフライン移行の実施を確認できます。

オンライン移行の手順を確認するには、こちらのビューレットを参照してください。

トピック・リストに戻る

このチュートリアルを始める前に以下を実行する必要があります。

1.

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

2.

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

3.

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

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

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 AccessのXMLからOracleデータベースに変換するには、必要なリポジトリ表とPL/SQLパッケージを格納するためのリポジトリを作成する必要があります。 次の手順を実行します。

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 Accessデータベース・ファイルからXMLファイルへのエクスポート手順はあらかじめ実施されており、CaptureディレクトリにこのXMLファイルが保管されています。 手順を確認するには、こちらのビューレットを参照してください。

エクスポートされたMicrosoft Access XMLファイルをOracle SQL Developer内に取得するには、次の手順を実行します。

1.

Migration」→「Capture Microsoft Access Exported XML」の順に選択します。

 

2.

Microsoft Access Captureダイアログ・ボックスが表示されます。 「Browse」をクリックします。

 

3.

Captureディレクトリへ移動し、「Northwind.xml」ファイルを選択します。

 

4.

OK」をクリックします。

 

5.

オブジェクトが取得されます。 処理が完了したら、「Close」をクリックします。

 

6.

Captured ModelsタブにNorthwind (Access)が表示されます。 「Northwind (Access)」を展開します。

 

7.

Northwind」を展開して、一連のオブジェクトが取得されていることを確認します。

 

トピック・リストに戻る

この時点で、変換プリファレンスを確認しておく必要があります。 そのためには次の手順を実行します。

1.

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

 

2.

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

 

3.

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

 

トピック・リストに戻る

取得モデルをOracleモデルに変換するには、次の手順を実行します。

1.

取得した「Northwind (Access)」モデルを右クリックし、「Convert to Oracle Model」を選択します。

 

2.

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

 

3.

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

 

4.

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

 

5.

Northwind」を展開し、変換されたオブジェクトを表示します。

 

トピック・リストに戻る

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

1.

Converted:Northwind (Access)」を右クリックし、「Generate」を選択します。

 

2.

Oracle SQLが生成されます。 処理が完了したら、「Close」をクリックします。

 

3.

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

 

4.

Run Script (F5)」アイコンをクリックします。

 

5.

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

 

6.

スクリプトが正しく実行されたため、次にNorthwindユーザーに対する接続を作成します。 「Connections」を右クリックして、「New Connection」を選択します。

 

7.

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

 

8.

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

 

9.

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

 

10.

Tables」を展開します。

 

11.

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

 

12.

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

 

トピック・リストに戻る

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

1.

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

 

2.

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

 

3.

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

yyyy-mm-dd HH24:mi:ss.ff3

 

4.

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

yyyy-mm-dd HH24:mi:ss.ff3

OK」をクリックします。

 

トピック・リストに戻る

Microsoft AccessからOracleデータベースへの移行は簡単な作業ですが、 一部のオブジェクトや構文の移行は自動的に実行されないことに注意する必要があります。 したがって、手動による介入が必要になります。

取得モデルを分析し、オブジェクトの数や種類、および複雑さを特定しておくと、手動作業にかかる時間を見積る際に役立ちます。

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

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

トピック・リストに戻る

データはあらかじめ、Microsoft Accessからファイルにエクスポートされています。 手順を確認するには、こちらのビューレットを参照してください。

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

1.

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

<prompt> cd <location where files are>

<prompt> oracle_ctl

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

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

 

2.

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

 

3.

Oracle SQL Developerに切り替え、「Refresh」アイコンをクリックして接続を更新します。

 

4.

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

 

トピック・リストに戻る

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

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

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

トピック・リストに戻る

まとめ

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

トピック・リストに戻る

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