• ベストアンサー
  • すぐに回答を!

フルインポートで警告が発生します

はじめまして。 OracleDBをfull=yでエクスポートして(壊れる前のものをエクスポートしています) 新しくDBを作成して full=yでインポートすると警告が多数発生します。 以下の通りにバッチファイルを作成して実行しています。 ※exp.bat d:\oracle\ora92\bin\exp.exe system/xxx@xxx FULL=Y STATISTICS=NONE file=e:\exp.dmp log=e:\exp.log ※imp.bat D:\oracle\ora92\bin\imp.exe system/xxx@xxx commit=y IGNORE=y full=y file=e:\exp.dmp log=e:\imp.log 上記を実行すると下記の警告が複数発生します。 IMP-00017: 次の文は、Oracleエラー1919で失敗しました: IMP-00003: Oracleエラー1919が発生しました。 ORA-01919: ロール'SYS'は存在しません ORA-06512: "SYS.DBMS_RMIN", 行56 IMP-00061: 警告: オブジェクト型"SYSTEM"."REPCAT$_OBJECT_NULL_VECTOR"は、別の識別子ですでに存在します IMP-00019: Oracleエラー1により、行のインポートは拒否されました IMP-00003: Oracleエラー1が発生しました。 ORA-00001: 一意制約(SYSTEM.HELP_TOPIC_SEQ)に反しています OracleDBが壊れてしまい、戻そうとしても警告が出るので 現在はシステムバックアップを戻して対処しています。 出来れば、フルインポートでOracleを元に戻したいのです。 ご存知の方ご教示頂けないでしょうか。宜しくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数7798
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • mebun
  • ベストアンサー率45% (10/22)

IMPの起動は、インスタンスを新規作成の状態で、ユーザのTableSpaceの作成後、ユーザ作成、そしてインポートの実行をしていますか。 例えば毎日データがエントリーされるOracleのEXPファイルを昨日取得しものを今日そのままIMPするとレコードが存在するので。 一意制約のエラーが出ます。(IGNORE=Y)で無視されますが。 DB全体なので各アカウントのオブジェクトを削除した状態で行ってみて下さい。 その他IMPの実行には (1)catexp.sqlかcatlog.sqlの実行。 (2)アカウントにDBA権限が必要。 それと全データの場合SYSユーザのトリガはインポート されませんのでご注意を。 今のダンプファイルより戻したいのであれば。 各アカウント毎にユーザ単位でのインポートは可能では。 systemやsysにユーザテーブル等を作成されていますか。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 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ユーザーの移行にはどのしたらいいのでしょうか?

  • 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する方法がありましたら教えて頂きたいです。

  • Exportの失敗とODBC接続の失敗

    Windows 2003 Server Windows XP Professional Microsoft Office 2000 Oracle Databasse 9.2.0.1.0 1.Sqlnet経由でのExp/Impができません。SQLPLUSは正常につながります。     EXP system/???@??? FILE= full120725.dmp LOG= exp_full120725.log FULL=y を実行すると、Copyrights ~ all rights reservedで止まったまま、 エラーメッセージも出ません。 @???を取って実行すると正常終了します。 lsnrctl statusを実行すると以下のエラーメッセージが返ってきます。 ****************** (ADDRESS=(PROTOCOL=tcp)(PORT=1521))に接続中 TNS-12541: TNS: リスナーがありません。 TNS-12560: TNS: プロトコル・アダプタ・エラー TNS-00511: リスナーがありません。 32-bit Windows Error: 61: Unknown error ****************** 2.ODBCで接続を設定しようとするのですが、     Microsoft ODBC for Oracle Oracle in Ora92 ともに失敗します。 1と2の原因が同じなのか、違うのか、 それとそれぞれの対処方をご教示できないでしょうか?

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

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

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

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

  • Oracleのエクスポートでエラー

    Oracle9iでデータベース全体のエクスポートを取ろうとすると 以下のエラーが出てしまいます . クラスタ定義をエクスポート中 EXP-00056: Oracleエラー19206が発生しました。 ORA-19206: 問合せの値またはREF CURSORパラメータが無効です ORA-06512: "SYS.DBMS_XMLGEN", 行83 ORA-06512: "SYS.DBMS_METADATA", 行345 ORA-06512: "SYS.DBMS_METADATA", 行410 ORA-06512: "SYS.DBMS_METADATA", 行449 ORA-06512: "SYS.DBMS_METADATA", 行1156 ORA-06512: "SYS.DBMS_METADATA", 行1141 ORA-06512: 行1 EXP-00000: エラーが発生したためエクスポートを終了します。 見てみるとSYS.DBMS_XMLGENというテーブルは存在していませんでした。 どうすればデータベースのエクスポートが出来るでしょうか? 教えてください。

  • 順序の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=(住所テーブル) 上記で一応うまく登録されたようですが、 よくわかりません。 どなたかアドバイスお願いします。

  • インポートの実行結果で警告が・・・

    DBを作成してデータをIMPORTしたのですが、以下のエラーがでてしまいました。 環境 Oracle9i 9.2.0 -------------------------------------------------- IMP-00003: Oracleエラー1659が発生しました。 ORA-01659: 9を超えるMINEXTENTSを表領域GRJ01に割当てできません。 --------------------------------------------------- OEMの設定で変えられるものでしょうか? よろしければ設定方法をご教授ください。

  • 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のバージョンとなります。 基本的なご質問かもしれませんが ご教示頂けると大変助かります。 宜しくお願い申し上げます。

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

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