このチュートリアルでは、Oracle SQL Developerを使用してMicrosoft AccessデータベースからOracle Database 11gへ移行する方法について説明します。
約30分
このチュートリアルでは、以下のトピックについて説明します。
| 概要 | |
| 前提条件 | |
| mwrepユーザーの作成 | |
| 移行リポジトリの作成 | |
| エクスポートされたMicrosoft Access XMLの取得 | |
| 変換プリファレンスの確認 | |
| Oracleモデルへの変換 | |
| Oracleデータベース・オブジェクトの作成スクリプトの生成と実行 | |
| オフライン・データ移動プリファレンスの確認 | |
| 分析と見積り | |
| データの移行 | |
| テストと配置 | |
| まとめ |
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。
(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
SQL Developerについて
Oracle SQL Developerは、生産性を強化し、データベース開発作業を簡素化する無償のグラフィカル・ツールです。 Oracle SQL Developerを使用すると、データベース・オブジェクトを参照し、SQL文を実行し、PL/SQL文を編集およびデバッグし、提供または作成されたレポートを実行できます。
Microsoft Accessの移行概要
Oracle SQL Developer Migration Workbenchを使用すると、Microsoft AccessデータベースからOracleデータベースへの移行を簡単に実行できます。
データベース移行プロセスには、おもに次の4つの手順が含まれます。
| ソース・データベースの取得 | 最初の手順では、Microsoft Accessデータベースの"スナップショット"を取得します。 実行する方法には次の2種類があります。
ライセンス上の理由から、このチュートリアルではMicrosoft Accessはインストールされていません。 推奨されるアプローチはオンライン取得ですが、このチュートリアルの目的上、ここでは2番目の方法を実行します。 Exporterツールによって生成されたNorthwind.xmlファイルに、Microsoft Access Northwind Tradersデータベースのデータベース・スキーマ情報が含まれています。 Oracle SQL Developer Migration Workbenchは、ソースとなるMicrosoft Accessデータベースの構造表現を構築する基盤としてこのファイルを使用します。 この構造は、取得モデルと呼ばれます。 |
| 取得したデータベースの変換 | Oracle SQL Developer Migration Workbenchは取得モデルを使用して、取得オブジェクトをOracle形式のオブジェクトに変換し、移行先データベースの構造表現を構築します。 この構造は、変換モデルと呼ばれます。 |
| Oracleデータベースの生成 | Oracle SQL Developer Migration Workbenchは変換モデル・オブジェクトに基づいて、新規Oracleデータベースを作成するためのDDL文を生成します。 DDL文を実行すると、Oracleデータベース内にオブジェクトが作成されます。 |
| データの移行 |
最後の手順は、データを移行するプロセスです。 これには、次のいずれかの方法を使用します。
このチュートリアルでは、2番目の方法を実行します。 |
このチュートリアルでは、オフライン移行に必要なスクリプトがすでに生成されており、修正を加えられています。 このチュートリアルを実行する時間がない場合は、こちらのビューレットでオフライン移行の実施を確認できます。
オンライン移行の手順を確認するには、こちらのビューレットを参照してください。
このチュートリアルを始める前に以下を実行する必要があります。
| 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. |
表に含まれるデータが正しくロードされています。
|
移行するデータベースの複雑さによっては、移行プロジェクトの大部分がテスト作業になる場合があります。
現時点では、オラクルは移行されたデータベースを自動的に検証するツールを提供していません。 移行を開始する前に、このフェーズについて計画を立て、考慮にいれておく必要があります。
次の作業をプロジェクト計画に含める必要があります。
このチュートリアルで学習した内容は、次のとおりです。
| mwrepユーザーの作成 | |
| 移行リポジトリの作成 | |
| エクスポートされたMicrosoft Access XMLの取得 | |
| 変換プリファレンスの確認 | |
| Oracleモデルへの変換 | |
| Oracleデータベース・オブジェクトの作成スクリプトの生成と実行 | |
| オフライン・データ移動プリファレンスの確認 | |
| データの移行 |