案例学习:ORCALE错误ORA-00604(4)

文章作者 100test 发表时间 2007:08:06 13:03:37
来源 100Test.Com百考试题网


  案例六:连接数据库用户的时候遇到ORA-00604错误

  问题描述:当我试图连接到数据库用户的时候,得到了如下的错误信息:ORA-00604:递归SQL 1级的时候出现错误。但是如果我使用数据库管理员的角色的时候,用户就能够连接。系统用户可以连接,但是scott 就不能连接。

解决方案:Oracle为你在幕后做了很多的工作。它在自己的SQL 语句的全过程中进行这项工作。Oracle发布给你的任何的SQL 语句都是“递归的SQL”语句。应该有很多的SQL 语句会引起你遇到的问题。我建议你所做的就是在INIT.ORA文件中设置SQL_TRACE=TRUE,然后重新启动数据库。然后复制ORA-604错误。这会在你的USER_DUMP_DEST目录中生成所有用户进程的大量追踪文件。在错误发生之后,立即关闭数据库,并设置SQL_TRACE=FALSE。然后再一次启动数据库。现在通过追踪文件,你就可以USER_DUMP_DEST目录中生成的追踪文件中查找ORA-604错误那一条信息。就在那里,你就发现ORA-604错误是哪一个递归SQL语句产生的,以及实际发生的错误情况。你的解决方案依赖于语句和实际的错误。

  案例七:有人Move了系统表Dependencie$表, Crash了

  今天有人问我这样之后能不能恢复, 我想基本上已经不能了. 在open时报ORA-01092号错误, 我查了一下event也没有这方面的合适的event啊, 我推荐用不完全恢复, 不过好象是没有备份, 运行在noarchivelog模式.

  从trc文件中得到的内容:

KCRA: buffers claimed = 0/0, eliminated = 0
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 1
ORA-01502: index SYS.I_DEPENDENCY1 or partition of such index is in unusable state
oerr ora 704
00704, 00000, "bootstrap process failure"
// *Cause: Failure in processing bootstrap data - see accompanying error.
// *Action: Contact your customer support representative.
SQL_TRACE打开的情况下生成的Trace:
PARSING IN CURSOR #9 len=84 dep=2 uid=0 oct=3 lid=0 tim=18446744073254091198
hv=2287793623 ad=66f6c06c
0select o.name, u.name from obj$ o, user$ u where o.obj# = :1 and o.owner# = u.user#
END OF STMT
PARSE #9:c=0,e=343,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=0,tim=18446744073254091193
EXEC #9:c=0,e=186,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,ti
morewww.examer.cn


src="/oracle/js/wxgg_oracle.js">

相关文章


案例学习:ORCALE错误ORA-00604(4)
案例学习:ORCALE错误ORA-00604(3)
ORCALSQL内置喊函数的使用方法及结果(3)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛