ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 模拟ORA-04043并解决(dba_* does not exist)

模拟ORA-04043并解决(dba_* does not exist)

原创 Linux操作系统 作者:atlantisholic 时间:2012-07-02 11:22:12 0 删除 编辑

创建两张模拟表

SQL> select * from v$version;
  
BANNER
------------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE    9.2.0.3.0       Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
  
SQL> create table sys_xifenfei as
  2  select * from dba_tables;
  
Table created.
  
SQL> create table chf.chf_xifenfei as
  2  select * from dba_tables;
  
Table created.

启动数据库到mount状态查询表

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
  
Total System Global Area  353441008 bytes
Fixed Size                   451824 bytes
Variable Size             184549376 bytes
Database Buffers          167772160 bytes
Redo Buffers                 667648 bytes
Database mounted.
SQL> desc dba_tables;
ERROR:
ORA-04043: object dba_tables does not exist
  
SQL> desc sys_xifenfei
ERROR:
ORA-04043: object sys_xifenfei does not exist
  
SQL> desc chf.chf_xifenfei
ERROR:
ORA-04043: object chf.chf_xifenfei does not exist

打开数据库查询

SQL> alter database open;
  
Database altered.
  
SQL> select count(*) from sys_xifenfei;
select count(*) from sys_xifenfei
                     *
ERROR at line 1:
ORA-00942: table or view does not exist
  
SQL> select count(*) from chf.chf_xifenfei;
  
  COUNT(*)
----------
       868
  
SQL> select count(*) from dba_tables;
select count(*) from dba_tables
                     *
ERROR at line 1:
ORA-00942: table or view does not exist

解决问题

SQL> alter system flush shared_pool;
  
System altered.
  
SQL> select count(*) from dba_tables;
  
  COUNT(*)
----------
       869
  
SQL> select count(*) from sys_xifenfei;
  
  COUNT(*)
----------
       867

MOS解释
ORA-4043 On DBA_* Views If They Are Described In Mount Stage [ID 296235.1]

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.

在10g中open库后提示也为类此ORA-04043: object dba_tables does not exist

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23071790/viewspace-734309/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-08-30

  • 博文量
    130
  • 访问量
    627902