I have an Oracle datapump dump file exported from Oracle 11gR2 which has been proven working fine when importing to another Oracle 11gR2 environment. I want to import this dump file to my new environment which is running Oracle 12c.
I ran the "impdp" command to import this dump file as follows:
$> impdp system/password directory=KMS_DIR dumpfile='kms.dump' schemas=KMS_OWN
logfile=import.log
The command worked perfectly with 11gR2 but it failed on 12c
The error messages are shown as follows:
Starting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** directory=KMS_DIR dumpfile=kms.dump schemas=KMS_OWN logfile=import.log
Processing object type SCHEMA_EXPORT/USER
**ORA-39083: Object type USER:"KMS_OWN" failed to create with error:**
ORA-65096: invalid common user or role name
Failing sql is:
CREATE USER "KMS_OWN" IDENTIFIED BY VALUES 'S:19705E60DEEFDAF0C0F9E339228A66946376EA6453EB7186AF1C5C6D91E0;80B023397756355B' DEFAULT TABLESPACE "KMS_LH_DATA_TBS" TEMPORARY TABLESPACE "TEMP"
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
ORA-39083: Object type SYSTEM_GRANT failed to create with error:
ORA-01917: user or role 'KMS_OWN' does not exist
It has nothing to do with the tablespace and directory, I have them well prepared so the command worked with 11g perfectly.
Also, due to the fact that Oracle data pump has failed to create the user, it then failed all consequent import operations. I have searched through lots of articles and Oracle 12c likely doesn't allow creating the common user with C## prefix. However, I'm not 100% sure if this is the issue but it seems like this is a big difference with 11g.
How can I cope with this? Is it really possible to import the dump file from Oracle 11gR2 to the 12c environment with "impdp"?