drop table AAAA
报如下错误:ORA-00604: 递归 SQL 级别 1 出现错误 
ora-00942 表或者视图不存在但是我这个用户可以select、update、delete表里面的数据,也可以alter表的结构,但就是删除不了表。而且我用sysdba用户登陆进去之后,也不能drop table,这是为什么啊?我的oracle10g是按照在win 2003 上面的。是不是别人在我这里设置过啥东西?

解决方案 »

  1.   

    用sysdba用户登陆进去之后,drop table user.AAAA;
    表名前加上用户名了吗
      

  2.   

    在网上看到类似的报错,
    http://liuxh6.itpub.net/post/528/470116
      

  3.   

    ORA-00604: 递归 SQL 级别 1 出现错误 是不是有什么表是依赖这个表存在的,所以不能删除?
      

  4.   


    案例四:Sql_trace进行Oracle诊断案例  问题说明:很多时候,在我们进行数据库操作时,比如drop user,drop table等,经常会遇到这样的错误  ORA-00604: error occurred at recursive SQL level 1 .  这样的提示,很多时候是没有丝毫用处的。本案例就这一类问题提供一个思路及方法供大家参考。  1. drop user出现问题  报出以下错误后退出  ORA-00604: error occurred at recursive SQL level 1  ORA-00942: table or view does not exist .  关于 recursive SQL 错误我们有必要做个简单说明。  我们知道,当我们发出一条简单的命令以后  Oracle数据库要在后台解析这条命令,并转换为Oracle数据库的一系列后台操作。  这些后台操作统称为递归sql.  比如create table这样一条简单的DDL命令,Oracle数据库在后台,实际上要把这个命令转换为对于obj$,tab$,col$等底层表的插入操作。Oracle所作的工作可能比我们有时候想的要复杂的多。  2.跟踪问题  我们知道Oracle提供sql_trace的功能  可以用于跟踪Oracle数据库的后台递归操作。  通过跟踪文件,我们可以找到问题的所在  以下是格式化(tkprof)后的输出:The following statement encountered a error during parse:
    DELETE FROM SDO_GEOM_METADATA_TABLE WHERE SDO_OWNER = 'WAPCOMM'
    Error encountered: ORA-00942  Oracle把错误信息首先呈现出来,我们看到ORA-00942错误是由于SDO_GEOM_METADATA_TABLE表/视图不存在所致,问题由此可以定位。  对于这一类的错误,定位问题以后解决的方法就要依据具体问题原因而定了。  3.问题定位  对于本案例,通过Metalink获得以下解释:Problem Description
    The Oracle Spatial Option has been installed and you are encountering
    the following errors while trying to drop a user, who has no spatial tables,
    connected as SYSTEM:
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-00942: table or view does not exist
    ORA-06512: at line 7
    A 942 error trace shows the failing SQL statement as:
    DELETE FROM SDO_GEOM_METADATA_TABLE WHERE SDO_OWNER = ''
    Solution Description(1)Create a synonym for SDO_GEOM_METADATA_TABLE under SYSTEM which points to
    MDSYS.SDO_GEOM_METADATA_TABLE.  对于本例,为MDSYS.SDO_GEOM_METADATA_TABLE创建一个同义词即可解决,是相对简单的情况。(2)Now the user can be dropped connected as SYSTEM.
    Related Documents
    ORA-604 and ORA-942 Reported During DROP USER CASCA 4.实际处理  MDSYS.SDO_GEOM_METADATA_TABLE为Spatial对象  如果未使用Spatial选项,可以删除SQL> connect / as sysdbaConnected.
    SQL> select * from dba_sdo_geom_metadata order by owner;
    select * from dba_sdo_geom_metadata order by owner
    *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    ORA-04063: view "MDSYS.DBA_SDO_GEOM_METADATA" has errors
    SQL> select object_name from dba_objects where object_name like '%SDO%';
    OBJECT_NAME
    ALL_SDO_GEOM_METADATA
    ALL_SDO_INDEX_INFO
    ALL_SDO_INDEX_METADATA
    DBA_SDO_GEOM_METADATA
    DBA_SDO_INDEX_INFO
    DBA_SDO_INDEX_METADATA
    ....
    DBA_SDO_GEOM_METADATA
    DBA_SDO_INDEX_INFO
    ...
    SDO_WITHIN_DISTANCE
    USER_SDO_GEOM_METADATA
    USER_SDO_INDEX_INFO
    USER_SDO_INDEX_METADATA
    88 rows selected.
    SQL> drop user MDSYS cascade;
    User dropped.
    SQL> select owner,type_name from dba_types where type_name like 'SDO%';
    no rows selected
    SQL>
    SQL> alter session set sql_trace=true;
    Session altered.
    SQL> drop user wapcomm;
    User dropped.
    SQL> alter session set sql_trace=false;
    Session altered.
    SQL> exit
    Disconnected from Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production
    With the Partitioning option
    JServer Release 8.1.7.4.0 - 64bit Production  这时用户得以顺利drop
    转自
    http://space.itpub.net/html/89/35489-84515.html
      

  5.   


    是oracle的错误,不是用户定义的错误!
      

  6.   

    递归SQL估计是你对这个表做过什么操作吧
    比如说被其他对象参照 或者审计……之类
      

  7.   

    用户也可以抛出oracle系统错误的吧
      

  8.   

    是不是你公司的 DBA没给你开通DROP的权限
      

  9.   

    如果不是oracle数据库出问题了,就是别人抛出来的,不然不可能提示这种信息的 因为你的表是存在的亚
      

  10.   


    我用dba登陆进去了,都drop不了啊!不是权限的问题啊!
      

  11.   

    不是权限问题,是你的dual有多条记录。
    你把多条记录多删掉,只要留下一条:X 就行了!
      

  12.   

    删掉多条,还原dual原有的那条记录就OK了。
      

  13.   

    确实有可能
    http://kachy.blog.51cto.com/270625/53177
      

  14.   

    做个sql trace看看是哪里出现的问题,有可能是相关的系统的表出现问题。
      

  15.   

       
       dual?
      

  16.   

    还有这么诡异的解释啊,dual里多了一条记录?那么楼主的问题解决了没有呢?
      

  17.   


    试过了,我dual里面是空记录,没有出现你们说的多条记录。问下,这个还有什么没有解决的呢?
      

  18.   

    好像空也是不正常
    有一条记录是正常的吧
    http://blog.csdn.net/wh62592855/archive/2009/11/03/4764961.aspx
      

  19.   

    怎么弄也没有搞定,看来只有重装oracle系统了啊!
      

  20.   


    做个sql trace看看哎呀。
      

  21.   


    呵呵,参加公司的Oracle考试刚刚完,怎么,楼主的问题还没解决吗?
      

  22.   

    考啊,我也遇到一样的错误,导出的oracle语句文本中“”双引号没删除,就变这样啦。求解决啊..
      

  23.   

    其实我遇到过一次,是用powerdesigner生成脚步,到数据库执行创建的。
    也是能查能插入什么的,就是删除不了。
    后来发现时pd生成的脚步里表名都有双引号。drop的时候也得带上。。郁闷很久
      

  24.   

    可能是materialized view   -----drop materialized view viewname;
      

  25.   

    你的oracle安装的时候少两张系统表。用sys登录pl/sql,看看系统表里面有没有ARGUMENT$ ,和ASSOCIATION$ 两张表。如果没有,建立两张表就行了,建表语句如下:CREATE 
        TABLE ARGUMENT$ 
        ( 
            OBJ# NUMBER NOT NULL, 
            PROCEDURE$ VARCHAR2(30), 
            OVERLOAD# NUMBER NOT NULL, 
            PROCEDURE# NUMBER, 
            POSITION# NUMBER NOT NULL, 
            SEQUENCE# NUMBER NOT NULL, 
            LEVEL# NUMBER NOT NULL, 
            ARGUMENT VARCHAR2(30), 
            TYPE# NUMBER NOT NULL, 
            CHARSETID NUMBER, 
            CHARSETFORM NUMBER, 
            DEFAULT# NUMBER, 
            IN_OUT NUMBER, 
            PROPERTIES NUMBER, 
            LENGTH NUMBER, 
            PRECISION# NUMBER, 
            SCALE NUMBER, 
            RADIX NUMBER, 
            DEFLENGTH NUMBER, 
            DEFAULT$ LONG, 
            TYPE_OWNER VARCHAR2(30), 
            TYPE_NAME VARCHAR2(30), 
            TYPE_SUBNAME VARCHAR2(30), 
            TYPE_LINKNAME VARCHAR2(128), 
            PLS_TYPE VARCHAR2(30) 
        ); CREATE 
        TABLE ASSOCIATION$ 
        ( 
            OBJ# NUMBER NOT NULL, 
            PROPERTY NUMBER NOT NULL, 
            INTCOL# NUMBER, 
            STATSTYPE# NUMBER, 
            DEFAULT_SELECTIVITY NUMBER, 
            DEFAULT_CPU_COST NUMBER, 
            DEFAULT_IO_COST NUMBER, 
            DEFAULT_NET_COST NUMBER, 
            INTERFACE_VERSION# NUMBER, 
            SPARE2 NUMBER 
        );
      

  26.   

    补充一下,你的情况可以只是少了ASSOCIATION$这一张表。