现象:
1、在数据库主机sqlplus / as sysdba都进不去。
2、alert日志中报错如下:
Errors in file /Oracle/admin/dbrac/bdump/dbrac2_q000_1329.trc:
ORA-22303: type "SYS"."AQ$_HISTORY" not found
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","select user#,type# from user...","sql area","tmp")
原因如下:
1、由于不能在share pool中分配内存导致不能登录
2、导致share pool不能分配内存的原因是数据库大量使用常量SQL(未使用绑定变量SQL)硬解析导致。
此时数据库sqlplus / as sysdba都进不去,怎么办?
解决办法:
1、基于快速恢复数据库原则,首先将pmon进程予以kill,重新拉起数据库
2、目前为减少该故障发生的概率,方法如下:
在自动计划中加入自动刷数据库share pool计划,每天晚上1点刷一次,该操作对业务影响可以忽略,刷share pool的SQL如下:
alter system flush shared_pool;
3、为了彻底解决该问题,需应用方将常量SQL(未使用绑定变量SQL)全部修改成使用绑定变量SQL。
- 大小: 53.3 KB
分享到:
相关推荐
当任何试图分配一个大的连续的共享池中的内存失败,Oracle首先会...默认的共享池的大小基本能够满足大部分的环境,但是如果遇到ORA-04031错误的时候可能就需要增大。 当遇到这个错误的时候,往往会出现如下的消息显示
Oracle数据库发生ORA-04031错误原因浅析及处理.pdf
Oracle 常见错误 ORA-04031(PDF) 如何解决ORA-04031 错误 文章内容 1.和共享池(shared pool)相关的实例参数 2.诊断ORA-04031 错误 3.解决ORA-04031 错误 • 已知的Oracle BUG ...4.对ORA-04031 的高级分析
解决ora-04031共享内存问题解决ora-04031共享内存问题解决ora-04031共享内存问题解决ora-04031共享内存问题
Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
Oracle_ORA-12518故障_处理,希望在此与大家分享,能够在实际的工作中提高解决问题的能力
Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法
oracle数据库优化之后,报错报错“ora-00838”的处理方法
客户端进行连接的时候,系统不定期出现ora-12520,ora-12516的连接问题, 问题解决方案建议: 1、增加process和session的连接数。 2、检查连接的应用,是不是有没有释放的连接。 3、将修改参数local_listener中的vip为...
oracle数据库ora-01152和ora-01110的解决办法
oracle启动失败,ORA-00702报错,windows,linux系统下解决办法
BLOG_【故障处理】Oracle_lhr_ORA-01565 告警日志报“ORA-01565 Unable To open Spfile”.pdf
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查。使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查 使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
【故障处理】ORA-12162 TNSnet service name is incorrectly specified.pdf
ERwin连接oracle报ORA-01041内部错误,hostdef扩展名不存在解决办法,实验可解决问题。
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
kettle连接oracle12C--报错ORA-28040 没有匹配的验证协议