技2:Oracleバージョンアップ時のデータ移行時に使うInportユーティリティはどのバージョン?運用管理の表ワザ裏ワザOracle編

データ移行時に使用するImport/Exportユーティリティのバージョンを確認する

» 2006年07月13日 08時00分 公開
[伏見文男,ITmedia]

Oracle9i Database からOracle Database10gにデータベースをバージョンアップしました。Import/Exportユーティリティを利用してデータを移行するのはわかるのですが、どちらのバージョンでユーティリティを実行すればよいのでしょうか?

Import/Exportユーティリティは、データを一括して入れたり出したりする際に利用するツールです。異なるハードウェアでも異なるOSでも、自由にオラクルのデータを移行できる便利なツールです。筆者もよくバージョンアップの際に用いますが、ふと疑問に思うことがありました。Oracle9i Database からOracle Database 10gへ移行する場合に4つのパターンが考えられます。さて、正解はどれでしょうか?

  1. Oracle 9iのデータをOracle 9iのExportを使い、Oracle 9iのImportでOracle 10gへデータ移行
  2. Oracle 9iのデータをOracle 9iのExportを使い、Oracle 10gのImportでOracle 10gへデータ移行
  3. Oracle 9iのデータをOracle 10gのExportを使い、Oracle 9iのImportでOracle 10gへデータ移行
  4. Oracle 9iのデータをOracle 10gのExportを使い、Oracle 10gのImportでOracle 10gへデータ移行

 正解は(2)です。Exportを実行する際には、下位のバージョンのExportユーティリティを使う必要があります。また、Importを行う場合には、Import対象のデータベースのImportユーティリティを使う必要があります。つまり(2)になるわけです。

 それでは、応用問題です。Oracle 8iからOracle9iにバージョンアップしたあとで、理由があってOracle 8iにデータを戻す必要が出てきました。さて、正解はどれでしょうか?

  1. Oracle 9iのデータをOracle 9iのExportを使い、Oracle 8i のImport でOracle 8i へ移行
  2. Oracle 9iのデータをOracle 9iのExportを使い、Oracle 9i のImport でOracle 8i へ移行
  3. Oracle 9iのデータをOracle 8iのExportを使い、Oracle 9i のImport でOracle 8i へ移行
  4. Oracle 9iのデータをOracle 8iのExportを使い、Oracle 8i のImport でOracle 8i へ移行

 正解は(4)です。Exportを行うデータベースよりも下位のバージョンのデータベースへImportを実施する場合には、下位のバージョンのExportユーティリティを使います。

 ただし、たとえばOracle9iからOracle5/6/7などのExportユーティリティを使ってデータをExportすることはサポート対象外になるなどの制限もあります。詳しくはマニュアルなどを参照してください。

Oracle 10gのImportユーティリティの画面

このコンテンツは、サーバセレクト2005年4月号に掲載されたものを再編集したものです。


Copyright© 2010 ITmedia, Inc. All Rights Reserved.

注目のテーマ