我怎么能导入或打开.dmp文件?

时间:2018-02-15 16:41:45

标签: oracle impdp imp data-dump

更新

I tried the impdp command and its giving me that it cannot create user. I tried creating the user as well

This is how my .par file looks like

This is a snip of .sh file

enter image description here

之前我从未使用过oracle数据库。我的.dmp文件是50 GB。我不知道它是如何导出的,或者是从哪个版本导出的。我下载了oracle 12c realease 2并尝试进行导入,但是我收到错误“.dmp可能是数据泵导出转储文件”。我需要做什么才能最终运行sql查询。请参阅附图。

更新: 我试过这个命令: IMP SYSTEM /密码SHOW = Y FILE = DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.dmp fromuser = SYSTEM touser = SYSTEM

它给了我一条消息,说导入已成功终止并带有警告。这是做什么的?如果导入数据,我现在在哪里可以查看数据?

2 个答案:

答案 0 :(得分:0)

sqlplus SYSTEM

CREATE DIRECTORY IMPDIR as 'C:\Users\negink\Documents\databasewrigley';

返回命令行:

impdp SYSTEM/Password DUMPFILE=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.dmp logfile=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.log FULL=Y

完成后,您可以删除DIRECTORY对象

  

在CDB数据库(这是你的情况)中,除非你这样做,否则这不起作用   运行此命令后,在SQLPLUS中预先创建所有用户和角色:

alter session set "_ORACLE_SCRIPT"=true;
create user x identified by pwdx;
create user y identified by pwdy;
create role r1;
create role r2;
...

另外,您可以在CDB中创建PDB并将DMP文件导入PDB。在这种情况下,您需要修改IMPDP命令中的连接,如下所示(将 SYSTEM /密码更改为 SYSTEM / Password @ localhost / pdb_name ):< / p>

impdp SYSTEM/Password@//localhost/pdb_name DUMPFILE=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.dmp logfile=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.log FULL=Y

答案 1 :(得分:0)

首先,您应该使用 impdp 而不是 imp 。在做任何事情之前不要忘记备份。此外,您应该将dmp文件放在服务器的本地目录中。我见过有人试图导入位于计算机硬盘上的dmp文件。事情并非如此。

如果您要导入现有架构以获得更好的结果,我建议您删除架构。

要删除现有架构,请使用管理员帐户登录sqlplus

  

sqlplus用户名/密码@ connect_identifier

然后您可以使用此命令删除架构:

DROP USER <SCHEMA_NAME> CASCADE;

查询您的数据库以查看是否已定义数据泵目录

SELECT directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR'

如果没有定义目录,请使用此命令来定义(顺便说一句&#34; D:\ orcl12&#34;是我的oracle实例路径,你应该使用自己的路径)

CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS 'D:\orcl12c/admin/<ORA_INSTANCE_NAME>/dpdump/';

退出sqlplus命令提示符并使用管理员凭据运行impdp(确保源目录中没有其他具有相同名称的日志文件 - 如果这样操作将中止)

  

impdp用户名/密码@ connect_identifier目录= DATA_PUMP_DIR dumpfile = filename.dmp logfile = filename.log

如果操作成功,您可能必须手动更新用户定义的数据类型,因为它们未正确导入。