ORA-00959:表空间'USERS'不存在。但我在选择结果中有它

时间:2018-01-26 05:37:45

标签: oracle11g oracle-xe tablespace impdp expdp

我正在尝试导入使用EXPDP命令创建的数据库转储{Oracle XE 11g(11.2.0.2.0)}。以下是我用来导入的命令。

impdp vnp/vnp directory=MY_DATA_PUMP_DIR dumpfile=EXPDP_DUMP_26_01_2018.DMP remap_schema=VNP_ADMIN:VNP remap_tablespace=SYSTEM:USERS,DATA:USERS; 

当我运行此命令时,我收到很多包含相同原因的错误

  

ORA-00959:tablespace'USERS;'不存在

但是,当我从dba_tablespaces运行 select tablespace_name; 时,我看到USERS表空间存在。

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

在阅读了一些相关问题之后,我发现它可能与用户VNP的权限相关,而且我也提供了权限。

SQL> alter user vnp quota unlimited on users;
User altered.

SQL> grant UNLIMITED TABLESPACE to vnp;
Grant succeeded.

当我尝试导入此数据库转储时,仍然遇到相同的错误。你能否指出一个正确的方向,为什么会发生这种情况..?提前谢谢。

1 个答案:

答案 0 :(得分:1)

多么无足轻重!

ORA-00959: tablespace 'USERS;' does not exist
                            ^
       tablespace doesn't really have a semi-colon as a part of its name, eh?

IMPDP在操作系统命令提示符下运行。因此,它不需要(也不应该)终结符(与SQL命令相反)。

此外,如果删除分号后仍然无效,请尝试将REMAP_TABLESPACE分成两部分:

remap_tablespace=SYSTEM:USERS remap_tablespace=DATA:USERS