新バージョンのDMPを旧バージョンのサーバにIMPする方法

このQ&Aのポイント
  • Windows2000サーバにOracle8iが入っている状況で、新バージョンのDMPファイルをwindowsNTサーバ、Oracle8にインポートしたい場合に、エラーが発生する問題があります。
  • windowsNT側で行うとIMP-00069というエラーが発生し、2000側で行うとIMP-00003: Oracleエラー 2248が発生します。
  • この質問は、新バージョンのDMPを旧バージョンのサーバにIMPする方法を教えてもらいたいという内容です。
回答を見る
  • ベストアンサー

新バージョンのDMPを旧バージョンのサーバにIMPしたい

Windows2000サーバにOracle8iが入っています。そこでexpしたDMPファイルをwindowsNTサーバ、Oracle8にインポートしたいのです。 クライアントは、  ・windowsNT oracle8 client  ・windows2000 oracle8i client と両方あるので、どちらからか行いたいです。 windowsNT側で行うと、IMP-00069というエラーが・・。 2000側で行うとIMP-00003: Oracleエラー 2248が発生しました。と言われてしまいます。 新→旧にDMPを戻す方法を教えてください。 よろしくお願いします。

  • Oracle
  • 回答数2
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • takopon
  • ベストアンサー率69% (27/39)
回答No.2

バージョンの異なるOracle間でのEXP/IMPを うまく行うためには、 はどのバージョンでIMPするかだけでなく はどのバージョンでEXPしたかも関係します。 Oracleでは基本的には、 ・上位バージョンでEXPしたDMPは 下位バージョンではIMP出来ない。 ・下位バージョンでEXPしたDMPならば 同バージョン以上でIMP出来る。 の原則が守られています。 したがって、EXP可能な Clientが用意できているならば、 下位バージョン(Oracle8)のClientに Net8 Easy Configで Oracle8iサーバへの接続を作成し、 下位バージョン(Oracle8)のClientから Oracle8iDBのデータをEXPしてDMPを作成して 下位バージョン(Oracle8)のClientでIMPしてやれば、 Oracle8へのインポートが可能です。

rui_cho
質問者

お礼

お礼が遅くなってすみません。 回答ありがとうございます。 takoponさんのやり方でばっちりできました!! ありがとうございました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

基本的には、同じバージョン同士か、下位から上位へしかImport出来ないはずです。 テキストに吐き出してSQLRoaderを使うとか、ODBC接続でもしてACCESS等経由で行うとか。 SQLRoaderの方が良いかも。 8iのGUI版ExportにOracle7関連のオプションがあったようにも思いますが下位互換用では無かったはず。

rui_cho
質問者

お礼

お礼が遅くなってすみません。 回答ありがとうございまます。 データがとにかく大きいので、DMPで処理したいのです。

関連するQ&A

  • dmpファイルをインポートせずに、テーブル名を知りたい

    Oracle8.1.6のexpコマンドで作成したdmpファイルがあります。 このdmpファイルをimpコマンドでインポートせずに、テーブル名を(できれば、レコード数も)知りたいのですが、何か方法がありますでしょうか? よろしくお願いします。

  • 順序のEXP/IMPについて

    Oracle9i 9.2.0 テーブルのデータも権限もなく、順序のみをEXPしてIMPしたいのですが、どのようにしたらよいでしょうか? //EXP C:\oracle\ora92\bin\EXP.EXE ユーザ/パス@サービス file='C:\DB移行作業 \SEQUENCE_EXP.DMP' ROWS=N INDEXES=N TRIGGERS=N //IMP C:\oracle\ora92\bin\imp.exe toshi/toshi@grjctc2 file='DB移行作業\SEQUENCE_EXP.DMP' FEEDBACK=100000 IGNORE=Y ROWS=N INDEXES=N CONSTRAINTS=N ANALYZE=N TABLES=(住所テーブル) 上記で一応うまく登録されたようですが、 よくわかりません。 どなたかアドバイスお願いします。

  • 上位バージョンへのインポートに関して

    上位バージョンへのインポートに関して Oracle8 R8.0.5 から Oracle10g r 10.20.0.1.0 へ exp/imp したいと考えています。 そもそもOracle は、上バージョンへのインポートは可能かと思われますが、これだけバージョン が異なるものへのインポートは可能なのでしょうか??? コマンドは単純に、  Oracle 8 側は、   exp user/pass full=y file=c:\パス  Oracle 10g 側は、 imp user/pass@orcl full=y file=c:\パス としました。 実際にやってみたところ、うまくいかず。。。。 何か方法があれば教えて下さい。 よろしくお願いします。

  • exp / imp について質問

    Oracle 8.1.7.0 にあるデータを【exp】にてダンプし そのデータを、 Oracle 8.1.7.4 に【imp】しました。 imp自体はエラーも出ず、正常に終了し、通常に使用できますが、そのデータを、【exp】しようとコマンドを実行しましたら、 EXP-00008: Oracleエラー 904が発生しました。 ORA-00904: 列名が無効です。 EXP-00000: エラーが発生したためエクスポートを終了します。 と、エラーが出て、 expが行えません。 8.1.7.0で expすれば良いとは思いますが、 8.1.7.4で expする方法がありましたら教えて頂きたいです。

  • Oracle9iでのサーバー移行時のpublicユーザーの移行方法について

    移行元はOracle8iかOracle9i 移行先はOracle9iで、 EXP と IMP でデータの移行を行いたいのですが、 ●EXPの例 EXP TBL/TBL@SERVER FILE=E:\EXP_USER.DMP,FULL= Y,LOG=E:\EXP_USER.log ●IMPの例(AAAユーザーをインポートする) IMP TBL/TBL FILE=E:\EXP_USER.DMP LOG=E:\EXP_USER_COM.LOG FROMUSER=AAA TOUSER=AAA ROWS=YES しかしDATABASE LINKとSYNONYMはpublicユーザーで、 IMP文のAAAをPUBLICにしてもインポートされません。 ・PUBLIC DATABASE LINK データベースリンク ・PUBLIC SYNONYM publicユーザーの移行にはどのしたらいいのでしょうか?

  • Oracle の imp コマンドについて

    oracle(8.1.6) のフルダンプから、指定したテーブルのみDBにインポートする為、imp コマンドを使います。 ---------------------------------------------------------------- $imp (Enterキーを押す) 1. ユーザー名: userid 2. パスワード: ****** 接続: Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production With the Partitioning option JServer Release 8.1.6.0.0 - Production 3. インポート・ファイル: expdat.dmp > ---------------------------------------------------------------- 3.行目のインポート・ファイルのところで、複数のファイルを指定したい場合はどうすればいいでしょうか。 expdat01,expdat02 (expdat01,expdat02) \(expdat01,expdat02\) expdat01.dmp,expdat02.dmp と色々試してみましたが、どれもうまく行きませんでした。 なお、impのコマンドに入ったあと、普通のコマンドプロンプトに戻る方法も教えて頂けないでしょうか。exit、bye、Ctrl+C のどれも試したが、出来ませんでした。 どうぞよろしくお願いいたします。

  • OracleのIMPについて

    Oracle8iからOracle11gへのIMPについて教えてください。 現在、Oracleデータを8iから11gに移す作業を行っているのですが、特定のテーブルのみIMPの時間がかかっています。 4000万件のデータのIMPは1時間くらいで終わりますが特定のテーブルはデータ量が400万件にもかかわらず4時間くらいかかります。 原因等ありますでしょうか? ちなみに、IMPは、 imp XXXX/XXXX@XXXX file=TEST.DMP tables = TESTTABLE log = d:\test.log commit = Y ignore = Y の形式で行っています。

  • oracle DMPファイルのインポートについて

    あるシステムのDB管理を行うにあたり、 Oracleを使用しているのですが、 Oracleのバージョンの違いにより、 DMPファイルのインポートが行えない事はございますでしょうか? 詳細は以下です。 ローカル環境のシステム Oracle 10g / 10.2.0.1.0 社内環境のシステム Oracle 11g / 11.2.0.1.0 社内環境システムよりバックアップを行い出力されたDMPファイルを ローカル環境へインポートを試みたところ、 以下のエラーが発生し、インポートができません。 ********************************************************** IMP-00058: Oracleエラー12154が発生しました。 ORA-12154: TNS: 指定された接続識別子を解決できませんでした IMP-00000: エラーが発生したためインポートを終了します。 ********************************************************** システムの構成はローカル環境、システム環境ともに同様です。 差異があるのはOracleのバージョンとなります。 基本的なご質問かもしれませんが ご教示頂けると大変助かります。 宜しくお願い申し上げます。

  • インポートエラー(IMP-00010)

    Solaris上のOracle9.2.0 でエクスポートしたファイルを Windows上のOracle9.0.1 にインポートしようとしたら 以下のエラーがでました ----------------------------------- IMP-00010:有効なエクスポート・ファイルではありません。ヘッダーは検証に失敗しました IMP-00000:エラーが発生したためインポートを終了します。 ----------------------------------- 原因は、Oracleのバージョン違い(9.2.0から9.0.1へのバージョンダウン)による物でしょうか?。 それとも、SolarisからWindowsにインポートした事による、例えば文字コード等による物でしょうか? また、原因に対する解決策はありますでしょうか?

  • dmpファイルのインポート時にでるOracleエラー

    dmpファイルのインポート時に下記のようなOracleエラーがでて困っています。 IMP-00003: Oracleエラー2304が発生しました。 ORA-02304: オブジェクト識別子リテラルが無効です。 IMP-00017: 次の文は、Oracleエラー2304で失敗しました: エラー内容を調べましたが、具体的に何が原因で何をすれば対処できるのかわかりません。 Oracleのインストールで設定を間違えてしまったのか…とも思っているのですが、ご存知のかたがおられましたら教えてください。