Oracle impdp导入异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle impdp导入异常相关的知识,希望对你有一定的参考价值。

SQL> select * from dba_directories;

OWNER DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
SYS ADMIN_DIR
/database/oracle/product/10.2.0/db_1/md/admin

SYS DATA_PUMP_DIR
/database/oracle/product/10.2.0/db_1/admin/orcl/dpdump/

SYS EXPDP_DIR
/home/oracle/expdp_dir

OWNER DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
SYS WORK_DIR
/database/oracle/product/10.2.0/db_1/work

[oracle@localhost ~]$ impdp ltkjls/a123456 directory=EXPDP_DIR dumpfile=ltkjls20140314.dmp logfile=exp_ltkjls140314.log

Import: Release 10.2.0.1.0 - Production on 星期日, 23 3月, 2014 14:31:23

Copyright (c) 2003, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-29283: 文件操作无效
ORA-06512: 在 "SYS.UTL_FILE", line 475
ORA-29283: 文件操作无效

求组,各种方式试过无效 没有分。。。不好意思。。求同行help
Grant read,write on directory EXPDP_DIR to ltkjls;

权限有给赋予

检查一下目录:/home/oracle/expdp_dir
以及文件:ltkjls20140314.dmp 的属主
参考技术A 你对目录没有写操作的权限追问

有付权限的 Grant read,write on directory EXPDP_DIR to ltkjls;

反反复复试了N多次,导入都不成功

数据文件是从其他机器导出的

oracle 的 impdp 命令如何将数据导入到指定表空间的指定数据文件中

为了将十几个单位的数据放在一起,ORACLE原来的方法一个表空间包含多个数据文件,如:tablespace_test,数据文件为data_0,data_1,data_2……data_n,然后在建表时通过某列的值范围条件指定分区,将不同单位的数据写入不同的分区中。由于每个单位的数据表较多(近1000张数据表,各单位均相同),不想通过这种方式,所以想通过导入命令,强制将各单位的数据导入不同数据文件中,语句如下:
impdp p_test/test directory=EXPDIR dumpfile=1.dmp remap_schema=dzsp:p_test r
emap_tablespace=users:tablespace_test remap_datafile=%:data_1 table_exists_action=APPEN
D reuse_datafiles=y
执行成功后数据是导进去了,但没有按我的原意只将数据写入tablespace_test分区的data_1数据文件中,而是随机的写入了不同的数据文件中(data_1……n)中,请问要如何处理才能达到我的目的?

答案是:不可能做到!
oracle有自己的算法均衡地把数据分散到各个DATAFILE里去。
当然如果一个表空间只有一个数据文件,就只能写到这个数据文件里去了。
参考技术A 两边数据库的
db_block_size
一样大小不?
或者看看具体表空间的
db_block_size
是否相同

以上是关于Oracle impdp导入异常的主要内容,如果未能解决你的问题,请参考以下文章

oracle 的 impdp 命令如何将数据导入到指定表空间的指定数据文件中

oracle数据库impdp命令导入数据库时报错

基于EXPDP,IMPDP实现oracle数据的导入导出

oracle数据库怎么用impdp导入.dmp文件

oracle IMPDP导入的时候,能自动把之前表中的数据都删除吗?

oracle impdp全库导入时如何指定表空间位置