web-dev-qa-db-ja.com

Oracle 11g dmpインポート。 ORA-39000 / ORA-39143エラー

iamはOracleとデータベースにまったく新しいものです。馬鹿げた質問で申し訳ありません。

これが私の問題です。私はDBエクスポートを持っていて(私のものではないので、どのようにエクスポートされたのかわかりません。違いはありますか?)、次のスクリプトでインポートしたいと思います。

@Echo off
Break off
Rem fullimpdp.cmd
set NLS_LANG=american_america.WE8MSWIN1252
set Oracle_HOME=C:\Oracle\ora11
Set DUMP_HOME=C:\DBDump
set /p Oracle_SID="Oracle_sid = "
set /p FILE="Dump file name = "
if exist %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql del /F /Q %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo CREATE OR REPLACE DIRECTORY backup_dir AS '%DUMP_HOME%'; >%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo CREATE OR REPLACE DIRECTORY dmpdir AS '%DUMP_HOME%'; >>%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo commit; >>%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo exit    >>%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
set Oracle_SID=%Oracle_SID%
%Oracle_HOME%\bin\sqlplus xpower/xpower @%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
%Oracle_HOME%\bin\impdp xpower/xpower FULL=y DIRECTORY=backup_dir DUMPFILE=%FILE% logfile=impdp_%Oracle_SID%.log JOB_NAME=impfull_%Oracle_sid%
if exist %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql del /F /Q %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
pause

ただし、次のエラーは発生しません。

Connected to: Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
ORA-39000: bad dump file specification
ORA-39143: dump file "C:\DBDump\ev122.dmp" may be an original export dump file

なにが問題ですか?このスクリプトでどのように修正できますか?また、スクリプトを使用せずにファイルをインポートするにはどうすればよいですか? imp file = filenameコマンドについて読みました。しかし、それをどこに入力するのですか? :)

ありがとうございました。

BR

7
user2794543

このようにしてみてください

imp xpower/xpower FULL=y file=<file_name>.dmp log=log_file_name.log

または、システムユーザーを使用してインポートすることもできます。

imp system/<password> file=<file_name>.dmp log=log_file_name.log fromuser = <from_user_name> touser= xpower
11
Dba

@ user2794543

Command-Promptに移動します(デスクトップでCtrl + R->タイプcmd検索ボックスに-> Enterキーを押します->コマンドプロンプトに移動します)。

次に、ディレクトリをルートCに変更します。(type "cd .."->ヒットエンター->タイプ "cd .."ゲイン-> Enterキーを押します->現在、ルートC:ディレクトリにいます)。

次に、 "impdp"ではなく "imp"を使用してインポートする必要があります。次のコマンドラインを入力します。

imp userid=system/[password]  file=[drive]:\[folder]\[dump_file_name].dmp full=y;

Enterキーを押して、プロセスフローを待ちます。

*角括弧は無視してください。これらは参照用です。

2
hashir

impdpコマンドは、データポンプによってエクスポートされたダンプファイルをインポートするために使用されます。 「imp」コマンドを使用してみてください。

2
dcp1986

oracle 11gへのダンプファイルのインポート

SQLコマンドラインで、

  1. CREATE USERユーザー名IDENTIFIED BY password

  2. ユーザー名にdbaを付与します。

コマンドラインで、

  1. imp userid = username/password FULL = y FILE = "D:\ yourdumpfilename.dmp"

注意..ダンプファイルのパスを確認してください。

2
CuriousGirl

DMPはOracle 12cのimp.exeユーティリティでエクスポートされ、Oracle 11gのimp.exeでインポートしようとするとエラーが発生しました。私の場合の解決策は、12cから11g ...\binフォルダーにimp.exeをコピーして貼り付け、正常にインポートすることです。

0
Rovshan Sagdiev