Oracle 11 g dmp导入,ORA-39000 / ORA-39143错误

5q4ezhmt  于 2023-01-20  发布在  Oracle
关注(0)|答案(7)|浏览(236)

我真的是甲骨文和数据库方面的新手。很抱歉问了一个可能很愚蠢的问题。
这是我的问题。我有一个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

vvppvyoh

vvppvyoh1#

像这样试试,

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
thigvfpy

thigvfpy2#

在oracle 11 g中导入转储文件
在SQL命令行中,
1.创建用户用户名由密码标识
1.授予用户名dba;
在命令行中,

  1. imp用户ID =用户名/密码已满=y文件=“D:\您的转储文件名.dmp”
    注意..确保转储文件的路径。
70gysomp

70gysomp3#

impdp命令用于导入数据泵导出的转储文件,请尝试使用“imp”命令。

oogrdqng

oogrdqng4#

@用户2794543
转到***命令提示符***(在桌面上按Ctrl+R-〉在搜索框中键入***cmd***-〉按Enter -〉您将进入命令提示符)。
现在,将目录更改为根目录C:(键入 “cd.." -〉按Enter键-〉键入 “cd.." gain -〉按Enter键-〉现在您位于根目录C:目录)。
接下来,必须使用 “imp” 而不是 “impdp” 进行导入。键入以下命令行:

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

按回车键并等待流程流。

  • 忽略方括号,它们仅供参考。
fdbelqdn

fdbelqdn5#

DMP是由Oracle 12c的imp.exe实用程序导出的,我在尝试由Oracle 11g的imp.exe导入时遇到错误。我的解决方法是:将imp.exe从12c复制并粘贴到11g ...\bin文件夹并成功导入。

dddzy1tm

dddzy1tm6#

下面的例子对我很有效:

imp userid=solfis/solfis  file=fissetup_110.dmp full=y;
szqfcxe2

szqfcxe27#

如果你仍然有麻烦使用imp导入.dmp文件在19c数据库。写imp在powershell和sql将驱动你通过所有的过程。

相关问题