应该tablespaces=b
你可以用impdp -help看一下对tablespace的解释,就是要导出dmp文件中的tablespace,不是要导到哪个tablespace里面去
TABLESPACES Identifies a list of tablespaces to import.
SQL> select OWNER, table_name, tablespace_name from dba_tables where table_name in ('A','B');
OWNER TABLE_NAME TABLESPACE_NAME
-------- ------------------------------ ------------------------------
A A A
SQL> drop table a.a;
[oracle@ocp ~]$ impdp a/123456 directory=HR_DIR dumpfile=a.dmp tablespaces=a remap_tablespace=a:b
Import: Release 10.2.0.1.0 - Production on Thursday, 05 September, 2013 12:02:16
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Master table "A"."SYS_IMPORT_TABLESPACE_01" successfully loaded/unloaded
Starting "A"."SYS_IMPORT_TABLESPACE_01": a/******** directory=HR_DIR dumpfile=a.dmp tablespaces=a remap_tablespace=a:b
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "A"."A" 1.082 MB 12495 rows
Job "A"."SYS_IMPORT_TABLESPACE_01" successfully completed at 12:02:34
SQL> select OWNER, table_name, tablespace_name from dba_tables where table_name in ('A','B');
OWNER TABLE_NAME TABLESPACE_NAME
-------- ------------------------------ ------------------------------
A A B