oracle刪除使用者時出錯,報ORA-00604和ORA-04043錯誤

coolhe發表於2015-02-11
--1、刪除使用者時出錯,報ORA-00604和ORA-04043錯誤。
SQL> drop user t_czjb cascade;
drop user t_czjb cascade
ORA-00604: error occurred at recursive SQL level 1
ORA-04043: object SYS_YOID0000254895$ does not exist
 
--2、分析原因,可能是在刪除這個物件時SYS_YOID0000254895$,不存在引起的。
--3、這個object是個什麼呢?後臺跟蹤一下sql看看。
SQL> alter session set sql_trace=true;
Session altered
 
SQL> drop user t_czjb cascade;
drop user t_czjb cascade
ORA-00604: error occurred at recursive SQL level 1
ORA-04043: object SYS_YOID0000254893$ does not exist
 
SQL> alter session set sql_trace=false;
 
--4、oracle安裝機器
/u01/oracle/admin/orcl/udump
[root@sbyf-h3-db udump]# ls
orcl_ora_12097.trc
[root@sbyf-h3-db udump]# 
 
--5、用tkporf工具格式化
E:\>tkprof orcl_ora_12097.trc aaa.txt
TKPROF: Release 11.2.0.1.0 - Development on 星期一 10月 15 10:11:39 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
 
--6、搜尋SYS_YOID0000254893$這個物件
********************************************************************************
SQL ID: 
Plan Hash: 3992211768
drop type "T_CZJB"."SYS_YOID0000254893$" FORCE 
 
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          0          0           0
 
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: SYS   (recursive depth: 2)
********************************************************************************
 
--7、原來是個type,隨便建一個同名的type。
SQL> CREATE OR REPLACE TYPE SYS_YOID0000254895$ AS OBJECT
  2  (
  3     id INTEGER,
  4     rq DATE,
  5     mc VARCHAR2(60)
  6  )
  7  ;
  8  /
Type created
 
--8、重新刪除user,成功。
SQL> drop user t_czjb cascade;
User dropped
SQL> 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3090/viewspace-1433032/,如需轉載,請註明出處,否則將追究法律責任。

相關文章