WEB开发网
开发学院数据库Oracle 案例学习Oracle错误:ORA-00604 阅读

案例学习Oracle错误:ORA-00604

 2007-05-10 12:19:56 来源:WEB开发网   
核心提示: 案例四:Sql_trace进行Oracle诊断案例问题说明:很多时候,在我们进行数据库操作时,案例学习Oracle错误:ORA-00604(5),比如drop user,drop table等,经常会遇到这样的错误ORA-00604: error occurred at recursive

案例四: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.问题定位

上一页  1 2 3 4 5 6 7 8  下一页

Tags:案例 学习 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接