I found a bug of Oracle
Under the mount stage , there is error reported, when you desc dba_.....
SYS@ning>select status from v$instance;
STATUS
------------
MOUNTED
SYS@ning>desc dba_data_files
ERROR:ORA-04043: object dba_data_files does not exist
And then alter database open, but it is same problem
SYS@ning>alter database open;
Database altered.
SYS@ning>desc dba_data_files
ERROR:ORA-04043: object dba_data_files does not exist
SYS@ning>desc dba_temp_files;
Name Null? Type
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS CHAR(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
That is means if only you describe some dba view under mount stage , Oracle can not identify it any more, whatever is under mount stage or open. the only way to solve this problem is restart up the database
Oracle release that this bug gonna impact on Oracle Server - Enterprise Edition - Version: <8.1.7.4 to 10.1.0.3
but actually , on 10.2.0.3 there is still same problem
Let me give you a ridiculous solution
1) Don't describe the dba_* views at mount stage.
2) If you issue DESC of any DBA_*views at mount stage, then shutdown and restart the instance.
2009/01/25
Subscribe to:
Post Comments (Atom)
I am having the same problem. This morning I was restoring the database and scheduled cron job kicked in which queried the dba_data_files and even though database is open but I cannot query dba_data_files. I guess I have to shuwtdown/restart the database to fix this problem.
ReplyDelete