ORA-04043: object DBA_DATA_FILES does not exist

Bug 2365821,mount阶段desc dba_*导致open之后无法查询
今天用10g遇到这个问题,记录一下,这个问题甚至影响到了11.2.0.1版本。
ORA-4043 On DBA_* Views If They Are Described In Mount Stage (Doc ID 296235.1)To BottomTo Bottom

 

APPLIES TO:

Oracle Database - Enterprise Edition - Version 8.1.7.4 to 11.2.0.1 [Release 8.1.7 to 11.2]
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Information in this document applies to any platform.

SYMPTOMS

If you describe any DBA_* Views (Data dictionary views) in a mount stage, than you will not be able to 
 describe those views even after opening the database.
You can test as follows:
+ Shutdown the database.
SQL> Shutdown immediate
+ Mount the database.
SQL> Startup Mount
+ Describe any Data Dictionary view.
SQL> DESC DBA_DATA_FILES
ERROR:
ORA-04043: object DBA_DATA_FILES does not exist.
+ Open the Database.
SQL> ALTER DATABASE OPEN;
Database altered
+ Describe the same Data Dictionary view.
SQL> DESC DBA_DATA_FILES
ERROR:
ORA-04043: object DBA_DATA_FILES does not exist
*** Error will appear till we bounce the Database / flush the shared pool.

CAUSE

This is related to Bug 2365821
Abstract: ORA-4043 ON DBA_* TABLES IF THEY ARE DESCRIBED IN A MOUNT STAGE.

SOLUTION

Available workarounds are:
1) Don't describe the dba_* views at mount stage.
OR
2) If you issue DESC of any DBA_*views at mount stage, then shutdown and restart the DB instance.
OR
3) Flush the shared pool.
SQL> Alter system flush shared_pool;
and then reissue the failing command.

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页