When execute impdp to import 12.2 database, ORA-01031 occured as following,
[oracle@host01]$ impdp system@pdb01 dumpfile=appdata.dmp schemas=appdata
Import: Release 12.2.0.1.0 - Production on Tue May 12 17:58:56 2020
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
Password:
Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Starting "SYSTEM"."SYS_IMPORT_SCHEMA_03": system/********@pdb01 dumpfile=appdata.dmp schemas=appdata
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ORA-39083: Object type PROCACT_SCHEMA failed to create with error:
ORA-31625: Schema APPDATA is needed to import this object, but is unaccessible
ORA-01031: insufficient privileges
Failing sql is:
BEGIN
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'DB02', inst_scn=>'386040157882');COMMIT; END;
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-31625: Schema APPDATA is needed to import this object, but is unaccessible
ORA-01031: insufficient privileges
Failing sql is:
GRANT SELECT ON "APPDATA"."WORKLOAD_SEQ" TO "USER01"
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-31625: Schema APPDATA is needed to import this object, but is unaccessible
ORA-01031: insufficient privileges
Failing sql is:
GRANT SELECT ON "APPDATA"."LOG_SEQ" TO "USER02"
The user SYSTEM, which is used by impdp to connect to database, does not have BECOME USER privilege,
system@PDB01> select * from dba_sys_privs where privilege='BECOME USER';
GRANTEE PRIVILEGE ADMIN_OPTION COMMON INHERITED
---------- --------------- ------------ ------ ---
SYS BECOME USER NO YES YES
The healthy database privilege grant looks like,
system@PDB01> select * from dba_sys_privs where privilege='BECOME USER';
GRANTEE PRIVILEGE ADMIN_OPTION COMMON INHERITED
-------------------- ------------ ------------ ------ ---
DBA BECOME USER NO YES YES
IMP_FULL_DATABASE BECOME USER NO YES YES
SYS BECOME USER NO YES YES
It can be fixed by running grand command
grant BECOME USER to DBA,IMP_FULL_DATABASE;
This privilege is normally granted to roles DBA and IMP_FULL_DATABASE. For some reason, it could be revoked. One of the scenario is that DBUA run script dvu121.sql to revoke BECOME USER privileges from DBA and IMP_FULL_DATABASE roles when upgrading database to 12.2 and Database Vault component is VALID.
1 comment:
Thank you for this! I had an older pluggable database that was upgraded from 12.1.0.2 to 12.2.0.1 last year where I was trying to run a schema refresh(network_link datapump using SYSTEM account). I was hitting this condition and restoring the missing "BECOME USER" privilege was the fix.
Post a Comment