我正在尝试导入使用 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:表空间"用户"不存在
但是,当我运行从dba_tablespaces中选择tablespace_name时;我看到存在用户表空间。
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.
当我尝试导入此数据库转储时,我仍然遇到相同的错误。你能指出我一个正确的方向,为什么会发生这种情况..?提前谢谢。
多么微不足道!
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