kkamegawaの購入記録

漫画、小説、映画や買ったものの記録をつらつらしていきます。昔は一部技術情報もありました…

SQL Server Migration Assistant for Oracle 使用記

 MicrosoftのダウンロードセンタにSQL Server Migration Assitant for Oracle 2.0 Betaが出ていたので試してみました。図は都合上、あとから更新します。 ダウンロード:SQL Server Migration Assistant for Oracle V2.0 Beta 必要環境:
  • OS:Windows 2003,XPと書かれていますが、私はWindows 2000 SP4 Rollup1で試しています。
  • 変換先:SQL Server 2000/2005(私は2000 SP4)
  • 変換元:Oracle 7.3,8,8i,9i,10g
 あと、Microsoftのソフトウェアにしてはめずらしく、JRE 1.4.2が必要とされています。これはJDBCで接続するためなんでしょう。SQL ServerにもJDBCで接続しているっぽいです(JDBCのエラーが出た)。

インストール

  1. SSMAV2.0-Beta-341.zipを展開すると、SSMAExtPack-2.0.0.341-Beta.exeとSSMA-Setup-2.0.0.341-Beta.exeができます。SSMAExtPack-2.0.0.341-Beta.exeがSQL ServerOracleの拡張キットのようで、これを追加しないとこのMigration Toolが動かないようです。Oracleではクライアントがインストールされているマシンから実行すればOK。SQL ServerSQL Serverがインストールされているマシンで実行する必要があります。
  2. 補足として、Oracleに対して実行すると、いくつかエラーが出る場合があります。
    • ORA-01918: ユーザー SSMA_USERは存在しません。
    • ORA-29547: Javaシステム・クラスがありません: oracle/aurora/rdbms/Compiler
     これらは無視してもかまいません。特にしたのエラーは私の環境ではJavaパッケージ入れていないから発生しています。通常はJavaパッケージ入れているはずなので、このエラーは起きないでしょう。
  3. SSMA-Setup-2.0.0.341-Beta.exeを実行して、任意のディレクトリにセットアップします。
  4. Migration Assistantを実行すると、ライセンスが必要であるというメッセージが表示されます。メッセージの中にあるリンクを起動して、.NET Passportにログインして、ライセンスファイルをダウンロードします。
  5. ダウンロードしたライセンスファイルをSQL Server Migration Assistantをインストールしたディレクトリにコピーします(既定ではc:\program files\Microsoft SQL Server Migration Assistantです)。
  6. refleshボタンを押すとライセンスファイル(ssma-license.key)を認識して使えるようになります。

使ってみた

 4ペイン構成で、上半分がOracle,下半分がSQL Serverのようです。エラーが発生すると、そのオブジェクトを教えてくれ、どんなエラーが発生したのか、htmlによるレポートを表示してくれます。スキーマ単位で選択すれば、スキーマに含まれるFunction,プロシージャ,表などなどを全部一括でチェックしてくれるので便利です。  SQL Serverに接続しなくても、Oracleから移行するとき、どんな記述がエラーになるのだろう?という感じをつかむだけでも充分役に立ちます。私が作ったところはストアドプロシージャすら使っていないので(トリガくらい)、拍子抜けするくらい問題なくチェックが終了。Oracle特有のJavaのストアドプロシージャやPL/SQLがどのように変換されるか興味あります(私の作ったところにはないので…)。