当前位置:  数据库>oracle

数据库用户不能登录 alert日志报ORA-04031故障分析处理

    来源: 互联网  发布时间:2017-06-06

    本文导语: 现象: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 ...

现象:
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。

--------------------------------------分割线 --------------------------------------

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 救急!Linux下WAS4.0不能启动(DB2 数据库也不能启动)
  • sql数据库不能直接用instr函数
  • RpM数据库丢失不能安装软件怎么恢复阿?
  • 数据库不能更新
  • 我不小心用mysqlfront把一个mysql数据库删除了,能不能恢复(没有备份),大家一定要救我阿。
  • 数据库的汉字怎么不能显示?
  • 急!我的db2怎么不能创建数据库?
  • 中文问题:我的数据库中,中文写入没有问题,但中文却不能正常读出。(sqlserver2000)
  • 对象序列化--存储数据库的方法 序列化后 不能使用
  • 各位老大,现在嵌入式数据库都有哪些啊,我的设备配置如下,不知能不能装个数据库呢?
  • 紧急求助,我的程序连接数据库时,用localhost完全正常,而外部可以访问,但不能访问连接数据的那部分
  • 我的小应用,为什么不能访问服务器的文本文件和连接数据库呀,说什么禁止了。我该怎么办呀?
  • 为什么我买的正版《大本营Java》不能下载新的数据库文件啊??????
  • 如何实现在java界面程序中向数据库添加记录,能不能给你例子??
  • 是不是在applet里面不能访问数据库阿?能访问的话,怎么访问?要什么特别的处理吗?100分! iis7站长之家
  • 为什么我通过jdbc-odbc桥连接到access数据库的时候resultset只能向后移不能前移或作其它移动???
  • 在RedHat Advance Server下安装Oracle9i R2不能创建数据库问题
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • 我执行crontab 时为什么不能连db2数据库
  • 是不是在applet里面不能访问数据库阿?能访问的话,怎么访问?要什么特别的处理吗?100分!
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 开发java下的数据库程序,用什么数据库引擎?
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,