Oracle Bug ORA-04043
有人测试了在Win下Oracle 11.0.2.0下测试出Oracle bug ORA-04043,随后在自己机子上进行了测试,测试过程如下:
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 313860096 bytes
Fixed Size 1336232 bytes
Variable Size 146803800 bytes
Database Buffers 159383552 bytes
Redo Buffers 6336512 bytes
Database mounted.
SQL> desc dba_users;
ERROR:
ORA-04043: object dba_users does not exist
SQL> alter database open;
Database altered.
SQL> desc dba_users;
ERROR:
ORA-04043: object dba_users does not exist
SQL> alter system flush shared_pool;
System altered.
SQL> desc dba_users;
Name Null? Type
----------------------------------------- -------- ----------------------------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(30)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
PASSWORD_VERSIONS VARCHAR2(8)
EDITIONS_ENABLED VARCHAR2(1)
AUTHENTICATION_TYPE VARCHAR2(8)
有哥们在MOS上查了一下,果然是bug, ID为2365821。
Abstract: ORA-4043 ON DBA_* TABLES IF THEY ARE DESCRIBED IN A MOUNT STAGE.
在mount阶段desc时,open后查询还是会出现ora-04043,必须重启一次或者flush shared pool一次才会成功。