1

EXPDP コマンドを使用して作成された DB ダンプ {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: 表領域'USERS;' 存在しません

ただし、select tablespace_name from dba_tablespaces;を実行すると、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.

この DB ダンプをインポートしようとすると、同じエラーが発生します。なぜこれが起こるのか、正しい方向を教えてください..? 前もって感謝します。

4

1 に答える 1

2

なんと些細なことでしょう。

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 を 2 つに分割してみてください。

remap_tablespace=SYSTEM:USERS remap_tablespace=DATA:USERS
于 2018-01-26T06:46:50.337 に答える