我正在尝试导入使用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.
当我尝试导入此数据库转储时,仍然遇到相同的错误。你能否指出一个正确的方向,为什么会发生这种情况..?提前谢谢。
答案 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