问题描述:

SQL> show user

USER is "SYS"

SQL> drop user efmis_zhongyang cascade;

drop user efmis_zhongyang cascade

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-38301: can not perform DDL/DML over objects in Recycle Bin

排查问题思路:

sql_trace跟踪sql:

SQL> alter session set sql_trace=true;

Session altered.

SQL> drop user efmis_zhongyang cascade;

drop user efmis_zhongyang cascade

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-38301: can not perform DDL/DML over objects in Recycle Bin

SQL> alter session set sql_trace=false;

Session altered.

通过以下语句确认跟踪文件位置:

select d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||

p.spid || '.trc' trace_file_name

from (select p.spid

from sys.v$mystat m, sys.v$session s, sys.v$process p

where m.statistic# = 1

and s.sid = m.sid

and p.addr = s.paddr) p,

(select t.instance

from sys.v$thread t, sys.v$parameter v

where v.name = 'thread'

and (v.value = 0 or t.thread# = to_number(v.value))) i,

(select value from sys.v$parameter where name = 'user_dump_dest') d;

/u01/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_15959.trc

查看跟踪文件有如下信息:

EXEC #46948114736296:c=5999,e=5848,p=0,cr=26,cu=3,mis=0,r=0,dep=1,og=4,plh=0,tim=1459587911014685

ERROR #46948114736296:err=38301 tim=1459587911014699

EXEC #46948114738488:c=56991,e=57337,p=0,cr=11776,cu=6,mis=0,r=0,dep=0,og=1,plh=0,tim=1459587911014743

ERROR #46948114738488:err=604 tim=1459587911014757

通过ERROR #46948114736296:err=38301可以得到oracle要执行语句为:

=====================

PARSING IN CURSOR #46948114736296 len=93 dep=1 uid=0 oct=12 lid=0 tim=1459587911008777 hv=2610238907 ad='2ab2f5b054a0' sqlid='byuwhpydta5dv'

drop table "EFMIS_ZHONGYANG"."BIN$LR983/P8HqDgUyQDqMBbSw==$0" cascade constraints purge force

END OF STMT

PARSE #46948114736296:c=0,e=114,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=1459587911008776

=====================

可以从上看到现在删除用户efmis_zhongyang要删除的是回收站对象"EFMIS_ZHONGYANG"."BIN$LR983/P8HqDgUyQDqMBbSw==$0"

登录SQL> conn efmis_zhongyang/1

SQL> select * from tab;

TNAME TABTYPE CLUSTERID

------------------------------ ------- ----------

BIN$LR983/P8HqDgUyQDqMBbSw==$0 TABLE

drop user 报错ora-00604的更多相关文章

  1. expdp报错ora 39126

    11.2.0.2,expdp报错: ORA-39126: Worker unexpected fatal error in KUPW$WORKER.GET_TABLE_DATA_OBJECTS []O ...

  2. ORA-01157报错"cannot identify/lock data file"解决

    sqlplus以管理员方式接入数据库,启动时出现报错,如下: > sqlplus "/as sysdba" SQL> startup ...... ORA-01157: ...

  3. ORA-12609报错分析

    问题:监控不断告警ORA-12609 Wed 10/14/2020 10:40 AM 12CRAC1-ALERT中出现ORA错误,请检查 171- nt OS err code: 0 172- Cli ...

  4. GTID复制报错处理:Last_Error: Error 'Can't drop database 'test'; database doesn't exist' on query

    创建GTID主从连接: mysql, master_user; 报错显示: Slave_IO_Running: Yes Slave_SQL_Running: No Last_Error: Error ...

  5. hive drop 报错

    执行 drop database xxxx cascade; 删除数据库的时候报错. 报错信息:Execution Error, return code 1 from org.apache.hadoo ...

  6. drop redo logfile current报错

    目的:在安装完毕11.2.0.4版本Oracle单实例数据库后,对日志进行格式化,删除原日志组current状态,删除报错 #对于理论学习,而带来的理解命令,因此作为记录 #查询日志状态SYS > ...

  7. Oracle 12.2 报错:ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_7458"

    alert报错 2019-01-12T10:10:11.499130+08:00Errors in file /u01/app/oracle/diag/rdbms/rac1/rac112/trace/ ...

  8. Linux 启动数据库报错:could not open parameter file init**.ora

    sqlplus /nolog.conn /as sysdba.startup命令后显示 SQL> startupORA-01078: failure in processing system p ...

  9. alert日志报错:ERROR: failed to establish dependency between database RACDB and diskgroup resource ora.DATA.dg

    一.打开数据库alert日志,发现有报错 ERROR: failed to establish dependency between database RACDB and diskgroup reso ...

随机推荐

  1. ffmpeg 编解码详细过程

    ffmpeg编解码详细过程     bobbypollo 转:ffmpeg编解码详细过程 原文地址:ffmpeg编解码详细过程(转)作者:心在飞翔原文出处: http://www.360doc.com ...

  2. JavaSE(八)集合之Set

    今天这一篇把之前没有搞懂的TreeSet中的比较搞得非常的清楚,也懂得了它的底层实现.希望博友提意见! 一.Set接口 1.1.Set集合概述 Set集合:它类似于一个罐子,程序可以依次把多个对象 “ ...

  3. mongodb php auto increment 自增

    mongodb的自增实现根oracle,postgresql是差不多,都是通过计数器来实现的. oracle自增实现: 实例说明oracle序列用法 postgresql自增实现: postgresq ...

  4. jQuery 检查某个元素在页面上是否存在实例代码

    用jQuery检查某个元素在网页上是否存在时,应该根据获取元素的长度来判断,代码如下: if($("#tt").length > 0) {   //元素存在时执行的代码 }  ...

  5. GIS-013-Cesium Terrain 数据生成

    一.Python 1.修改Python脚本文件 if __name__=='__main__': #sys.argv = ['F:\\000_Terrain\\T7-gdal2srtmtiles-de ...

  6. shell基础篇(四)算术运算

    ---内容来源于http://www.jb51.net/article/31232.htm shell中的赋值和操作默认都是字符串处理,1.错误方法举例 a) var=1+1 echo $var 输出 ...

  7. LinkedBlockingQueue(lbq)阻塞队列

    最近开发中,经常使用这个类LinkedBlockingQueue,它是BlockingQueue这个子类. 并发库中的BlockingQueue是一个比较好玩的类,顾名思义,就是阻塞队列.该类主要提供 ...

  8. Android中Bitmap和Drawable详解

    一.相关概念 1.Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable) ...

  9. APP的缓存文件放在哪里?

    只要是需要进行联网获取数据的APP,都会在本地产生缓存文件.那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢? 考虑到卸载APP必须删除缓存 在 ...

  10. C语言分支结构之if else语句

    前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条……一直到最后一条语句,这称为顺序结构. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用, ...