OracleからMySQLへのデータ移行手順

ある案件で、DBMSOracleからMySQLへ変更になり、既存データの移行が必要となりました。
手動で移行するのは、リスキーかつ手間が掛かりそうだったので、ツールを探したところ「MySQL GUI Tools」の中に「MySQL Migration Toolkit」なるものが存在しました。
今回はWindows XPで実施しましたが、(おそらく)他のOSでも同じような手順でできると思います。
以下、手順となります。

1.MySQL GUI Toolsのダウンロード

MySQL GUI Toolsのダウンロードサイトからプラットフォームにあったパッケージを選択します。
なお「>> No thanks, just take me to the downloads!」のリンクをクリックすればアカウント登録無しでダウンロードできます。

2.MySQL GUI Toolsのインストール

全てデフォルトで問題ないと思います。

3.MySQL Migration Toolkitを起動

「スタート」→「プログラム」→「MySQL」から「MySQL Migration Toolkit」を起動します。

4.システム要件確認

「Next」をクリック。
f:id:murapong:20090914161149j:image

5.移行形式の選択

「Next」をクリック。
f:id:murapong:20090914172944j:image

6.移行元情報入力

移行元の情報を入力し「Next」をクリック。今回の場合は、Database Systemで「Oracle Database Server」を選択します。
f:id:murapong:20090914173511j:image

7.移行先情報入力

移行先の情報を入力し「Next」をクリック。
f:id:murapong:20090914173509j:image

8.サーバ接続確認

「Execution completed successfully.」と表示されていることを確認し、「Next」をクリック。
f:id:murapong:20090914173506j:image

9.移行元スキーマ選択

移行元のスキーマを選択し、「Next」をクリック。
f:id:murapong:20090914173504j:image

10.リバースエンジニアリング

「Execution completed successfully.」と表示されていることを確認し、「Next」をクリック。
f:id:murapong:20090914173458j:image

11.オブジェクトタイプ選択

ビューを使用している場合は、「Objects of type Oracle View」にチェックを入れます。(デフォルトでは入っていないので注意)
f:id:murapong:20090914173456j:image

12.オブジェクトマッピング

「Next」をクリック。
f:id:murapong:20090914173454j:image

13.移行処理

「Execution completed successfully.」と表示されていることを確認し、「Next」をクリック。
f:id:murapong:20090914173453j:image

14.手動編集

スクリーンショットは載せられないのですが、ビューを移行する場合、手動での編集が必要となります。
私の場合は、以下①〜③をそれぞれのビューに対して実施しました。
①[Comment out]のチェックを外す。
②ビューの元になっているテーブル名を小文字に編集する。
③[Apply Changes]をクリック。

15.オブジェクト生成オプション

「Create Script File for Create Statements」にチェックを入れるとCreate文がSQLファイルとして出力されます。「Next」をクリック。
f:id:murapong:20090914173451j:image

16.オブジェクト生成

「Execution completed successfully.」と表示されていることを確認し、「Next」をクリック。
f:id:murapong:20090914174328j:image

17.結果表示①

ここで私の場合、DATETIME型にDefault値は設定できないという理由でエラーになっていたので、以下手順で修正しました。

①「Advanced >>」をクリック。
②デフォルト値を削除後「Apply Changes」をクリック。
③「Recreate Objects」をクリック。
④「Next」をクリック。

18.結果表示②

「No creation problems found.」と表示されていることを確認し、「Next」をクリック。
f:id:murapong:20090914173447j:image

19.データマッピングオプション

「Next」をクリック。
f:id:murapong:20090914173529j:image

20.データ転送

「Execution completed successfully.」と表示されていることを確認し、「Next」をクリック。
f:id:murapong:20090914173526j:image

21.サマリー

必要に応じて「Save Report to Disk」をクリックし、Reportを保存しておきます。「Finish」をクリック。