li
  当前位置:主页 > 性能优化 > 文章内容
li
ORA-00604 error occurred at recursive SQL level string(2)
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-03-18   阅读:18  
本文章共7530字,分5页,当前第2页,快速翻页:
 

  很多朋友可能对这个错误都很熟悉。

  哦,对了,客户说是升级过数据库,首先猜测是不是升级有问题?毕竟在论坛上类似升级不成功的问题看过很多了。

  执行$ORACLE_HOME/rdbms/admin/catpatch.sql 脚本。

  同时要注意调大java_pool_size 和shared_pool_size这两个参数的大小,要不重新来就耽误时间了,不要犯低级错误

SQL>shutdown immediate;
SQL>startup migrate;
SQL>@?/rdbms/admin/catpatch.sql

  之后查看Spool 出来的日志。 发现有编译错误,重新执行了第二次。 等待……之有这个时候我才想起才抱怨CPU不够快,内存不够大 ;)

  这次Log没错误。不料想……用户连接报告错误:

ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-04045: errors during recompilation/revalidation of LBACSYS.LBAC_EVENTS
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at line 2
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at line 2

  发现connect / as sysdba 还是可以登陆进去的。

  看来是 LBACSYS.LBAC_EVENTS的状态有点问题。联接进去,编译一下如何? 我的如意算盘是@?/rdbms/admin/utlrp.sql执行一下就没有问题了,不料根本没有用,错误依然。当时有些头晕,这系统还没有备份呢,看来有些麻烦了(心里暗地埋怨客户,一直不让备份,总说"等等再说",作为一个DBA说话总不被重视也挺悲哀的不是? ,虽然我自己偷着有个备份,不过还是上次升级时候的呢),赶紧上网Metalink查查,这里网络速度还不错 LBACSYS.LBAC_EVENTS 作为关键词,找到如下的信息:

The reason for this problem seems to be an Upgrade for Label-Security
even if it's not installed.  //Label security 没有安装,居然补丁去默认给升级?

  解决方案:

shutdown immediate;
startup migrate;
alter view lbacsys.lbac$all_table_policies compile;
alter package lbacsys.lbac_events compile body;
shutdown immediate;
startup;

  支持人员说这是个Bug.但是普通用户不可见。 不太放心,再找找,在Suse.com站点的Maillist也发现了一则类似的案例,看来还可以,心里有底了。

  按照上面的执行,重新检查,OK.

  总结一下

  其实是一个很没有技术含量的Case.首先以前升级的时候至少要测试一下Export是否可以(Export已经成为升级成功的一个标志了!) 其次,准备不够充分,早成了手忙脚乱。所幸不是关键系统,用户还可以容忍。Oracle 总说微软是个烂公司,其实他们才真的够栏。Bug多的不可胜数。

案例三:使用网络应用程序的时候出现递归SQL错误

  问题描述:当我使用网络应用程序的时候,遇到了下面的这个错误。

  ORA-00604: 递归SQL1级的时候出现错误。

  ORA-04031: 无法分配4200字节的共享内存,"RBKS_BK_INFO", "sga_heap", "library cache".

  这些错误信息是什么意思?我该如何解决它们?它们是在应用程序里面还是数据库里面?

  解决方案:您应该使用的是Oracle 8.1.7.4之前版本的Oracle.第一个错误信息告诉你Oracle针对你的行为执行的SQL 语句失败了。ORA-4031告诉你为什么它会失败。ORA-4031错误信息的意思是你没有获得足够的空闲空间。你可以增加你的SHARED_POOL_SIZE,重新启动数据库再拭一次。这个bug已经在后续的补丁包中修复了。如果你使用的不是这个版本,你可以应用一下补丁包。

IXDBA.NET技术社区

  案例四:Sql_trace进行Oracle诊断案例

  问题说明:很多时候,在我们进行数据库操作时,比如drop user,drop table等,经常会遇到这样的错误

  ORA-00604: error occurred at recursive SQL level 1 .



阅读更多内容<<上一页 · 1 · 2 · 3 · 4 · 5 · 下一页>>


  上一篇: Oracle ORA-00257故障解决办法   下一篇: 清除Oracle中无用索引,改善DML性...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·Oracle ORA-00257故障解决办法
·ORA-00903 invalid table name
·ORA-01502错误成因和解决方法
·如何解决Ora-600 4193错误
·ORA-01599: failed to acquire r...
·ORA-01460的解决方法
·ORA-29516 Aurora assertion fai...
·ORA-25153: 临时表空间为空
·oracle中ora-0100错误打开游标过...
·oracle ORA-01991错误--重建密码...
·清除Oracle中无用索引,改善DML性...
·ORA-04031错误解决方法(unable t...
·ORA-1122错误的解决办法
·ORA-07445: exception encounter...
·Oracle高级复制配置文档
·物化视图高级复制中ORA-23313错误...
·ORACLE的高级复制实现内外网数据...
·oracle高级复制需要注意的几点问...
·Oracle9i与Oracle10g之间的高级复...
·高级复制下如何强制删除复制组
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接