首页 > 技术文章 > Oracle:impdb导入

greensleeves 2013-08-11 15:59 原文

       最近有现场给我一份用expdp导出dmp文件,我用imp导入时,报错。因为导出dmp的数据库是11g,导入的数据库也是11g,

但客户端安装的是10g,不能用imp导入;所以只能试着用impdp导入;

  

一:在Linux环境下impdp导入:

1.在操作系统上创建存放dmp文件目录

  >mkdir  pathname

2.在数据库层面,创建存放dmp文件对应目录

  CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';

3.对这个目录授权,把读写权限授予特定用户

  GRANT READ[,WRITE] ON DIRECTORY directory TO username;

4.在服务器上执行导入命令

  impdp usr_x3/usr_x3@urpdb directory=exp_dir dumpfile=1.dmp remap_schema=x3:usr_x3 remap_tablespace=TS_W1:TS_W2

 

二:在window环境下impdp导入

  和Linux环境下一样,也要创建目录并授权。

 

 

 三:impdp导入一些说明

   1:一直以为impdp只能在数据库服务器端使用,今天试了,在客户端也是可以的。

   2:如果导入过程中,出现如下提示

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 475
ORA-29283: invalid file operation

问题原因:

可能1:虽然在数据库中建立了/oradata/yn,但是因为在操作系统中没有建这个文件夹,结果导致了这个错误。

可能2:在redhat下已经建立了这个文件夹,为什么还有这个错误呢?

           问题原因:/oradata/yn这个目录的owner必须是 oracle,不能是root,并且最好附777权限。

 

 

 

推荐阅读