Getting ORA-00604 ORA-01422 When Trying To Drop A Table [ID 453528.1] | |||||
修改时间 15-AUG-2007 类型 PROBLEM 状态 MODERATED |
In this Document
Symptoms
Cause
Solution
References
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review. |
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.3This problem can occur on any platform.
Symptoms
Getting the following errors when trying to drop any table:
SQL> drop table admon.temp3;
drop table admon.temp3
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01422: exact fetch returns more than requested number of rows
1422 Trace shows the following:
ksedmp: internal or fatal error
ORA-01422: exact fetch returns more than requested number of rows
Current SQL statement for this session:
select dummy from dual where ora_dict_obj_type = 'TABLE'
----- Call Stack Trace -----
ksedst ksedmp ksddoa ksdpec ksfpec kgesev ksesec0 rpidru rpiswu2 kprball kktevwhen
kkttrex kktexeevt0 kktfrddltrg opiexe opiosq0 kpooprx kpoal8 opiodr ttcpip opitsk
opiino opiodr opidrv Cannot Cannot Cannot sou2o opimai_real main <0x32fd51c3fb>
---- End of Call Stack Trace ----
Setting _system_trig_enabled=FALSE resolves the problem.
Cause
Dual table has two rows in it, while the normal should be only one row.
To Check that:
SQL> select * from dual;
D
-
X
SQL> create table my_dual as select * from dual;
Table created.
SQL> select * from my_dual;
D
-
X
X
Solution
To implement the solution, please execute the following steps:
1. Run this command to delete the extra row in the dual table:
SQL> delete from dual where dummy = 'X' and rownum=1;
2. Try to drop any table after that.
References
产品
|