ORA-00604及ORA-04031错误处理

博客讲述了在遇到启动程序系统报ORA-00604和ORA-04031错误时,尽管PLSQL和SQLPLUS连接正常,作者推测问题可能与shared_pool有关。文章分享了如何查询shared_pool的大小,并提出临时解决方案,即把sga_max_size设置为15%,重启后问题得到缓解。
摘要由CSDN通过智能技术生成

启动程序系统报错,plsql及sqlplus连接正常

Errors in file /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j001_42779.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 264 bytes of shared memory ("shared pool","unknown object","CCUR^dafa7582","kglob")

查看trc日志,没看出异常信息,但基本应该是shared_pool 共享池的问题

普及下shared_pool的信息:

系统全局区SGA:
1)在一个instance只有一个sga
2)sga为所有session共享,随着instance启动而分配
3)instance down ,sga被释放

1.2 SGA的基本组件:Sga共享内存,linux中:tmsfs
1)shared pool
共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。共享池由库缓存(library cache),和数据字典缓存(data dictionary cache)以及结果缓存(result cache)等组成。共享池的大小直接影响数据库的性能。关于shared pool中的几个概念
①library cache:sql和plsql的解析场所,存放sql/plsql语句代码,以及它们的执行计划。以备其他用户共享(分析语句,并分析执行计划,放至library中以备共享。后期语句相同会被重用,
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值