作者:荒原绿树fy | 来源:互联网 | 2023-09-24 12:31
在nocdb转为pdb之后,发现有一个应用账号。从pdb使用expdp导出。导入其他nocdb。报错ORA-01917:userorroleHUEdoesnotexist[oracl
在nocdb转为pdb之后,发现有一个应用账号。从pdb使用expdp导出。导入其他nocdb。报错ORA-01917: user or role 'HUE' does not exist
[oracle@lxtrac06 ~]$ more 1HUE.log
;;;
Import: Release 12.2.0.1.0 - Production on Wed May 9 23:20:59 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
;;;
Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
export done in UTF8 character set and AL16UTF16 NCHAR character set
Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=test DUMPFILE=HUE.dmp logfile=1HUE.log
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
ORA-39083: Object type SYSTEM_GRANT failed to create with error:
ORA-01917: user or role 'HUE' does not exist
Failing sql is:
GRANT CREATE SESSION TO "HUE"
ORA-39083: Object type SYSTEM_GRANT failed to create with error:
ORA-01917: user or role 'HUE' does not exist‘。
在pdb上面,使用该账号登陆数据库,报下列错误
Errors in file /u01/app/oracle/diag/rdbms/bigcdb/BIGCDB/trace/BIGCDB_ora_32410.trc (incident=241057) (PDBNAME=CDB$ROOT):
ORA-00600: internal error code, arguments: [kziaVrfyAcctStatInRootCbk: !user], [HUE], [], [], [], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/bigcdb/BIGCDB/incident/incdir_241057/BIGCDB_ora_32410_i241057.trc
处理方法:
alter session set cOntainer=MANCO2;
create table backup_user$ as select * from user$;
update user$ set spare1=0 where name='APEX_PUBLIC_USER';
commit;
conn / as sysdba
shutdown abort
startup
在mos上面查找发现是一个bug。
ORA-00600 When Trying To Connect Through The SQL Plus using the APEX_PUBLIC_USER After Conversion Of A Non-CDB to PDB On 12.2 Database (文档 ID 2309896.1)
In this Document
APPLIES TO:
Oracle Application Express (formerly HTML DB) - Version 4.0.2.00.07 and later
Information in this document applies to any platform.
SYMPTOMS
After conversion from a NON-CDB (12cR2) to a PDB with noncdb_to_pdb.sql, when trying to connect to the new PDB as APEX_PUBLIC_USER using SQL*Plus the following error is raised:
[oracle@server admin]$ sqlplus
APEX_PUBLIC_USER/password@ip_adress:1521/manco2
SQL*Plus: Release 12.2.0.1.0 Production on Fri Apr 28 08:34:05 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
ERROR:
ORA-00600: internal error code, arguments: [kziaVrfyAcctStatInRootCbk:
!user],
[APEX_PUBLIC_USER], [], [], [], [], [], [], [], [], [], []
CAUSE
The issue has been identified as the product defect and documented over the Bug 25979661 - ORA-00600: [KZIAVRFYACCTSTATINROOTCBK: !USER] [APEX_PUBLIC_USER]
SOLUTION
The bug is still being worked by the Development and the workaround is available to override this issue.
As a workaround you can make APEX_PUBLIC_USER local user by updating user$.spare1 column in the PDB.
sqlplus / as sysdba
alter session set cOntainer=MANCO2;
create table backup_user$ as select * from user$;
update user$ set spare1=0 where name='APEX_PUBLIC_USER';
commit;
conn / as sysdba
shutdown abort
startup
REFERENCES
BUG:25979661 - ORA-00600: [KZIAVRFYACCTSTATINROOTCBK: !USER] [APEX_PUBLIC_USER]