我在oracle和数据库中真的很新。 对于一个可能很愚蠢的问题感到抱歉。
这是我的问题。我有一个数据库导出(不是我的,所以我不知道它是如何导出的:是否存在差异?)并且我想用以下脚本导入它:
@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
答案 0 :(得分:11)
试试这个,
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
答案 1 :(得分:2)
impdp命令用于导入数据泵导出的转储文件。尝试使用“imp”命令。
答案 2 :(得分:2)
在oracle 11g中导入转储文件
在SQL命令行中,
创建用户名IDENTIFIED BY password
将dba授予用户名;
在命令行中,
注意..确保转储文件的路径。
答案 3 :(得分:2)
@ user2794543
转到 命令提示符 (桌面上的Ctrl + R - >输入 cmd 搜索框 - &gt;点击输入 - &gt;您将登陆命令提示符。
现在,将您的目录更改为root C :(键入“cd ..” - &gt;点击输入 - &gt;输入“cd ..”获取 - &gt ;点击输入 - &gt;现在你在根C:目录)。
接下来,您必须使用“imp”而非“impdp”导入。键入以下命令行:
imp userid=system/[password] file=[drive]:\[folder]\[dump_file_name].dmp full=y;
按Enter键并等待处理流程。
*忽略方括号。它们仅供参考。
答案 4 :(得分:0)
DMP由Oracle 12c的imp.exe实用程序导出,我尝试通过Oracle 11g的imp.exe导入时出错。我的解决方案是:将imp.exe从12c复制并粘贴到11g ... \ bin文件夹并成功导入。
答案 5 :(得分:0)
下面的例子对我有用:
imp userid=solfis/solfis file=fissetup_110.dmp full=y;