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 Bottom |
|
|
In this Document
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. SYMPTOMSIf 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. CAUSEThis is related to Bug 2365821 Abstract: ORA-4043 ON DBA_* TABLES IF THEY ARE DESCRIBED IN A MOUNT STAGE. SOLUTIONAvailable 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. |