oracle中查询v$session报ORA-04031错误解决办法

客户的数据库在出账期间有工具登录Oracle数据库偶尔性报ORA-04031,经过分析是因为该工具需要查询v$session,经过分析确定是Bug 12808696 – Shared pool memory leak of “hng: All sessi” memory (Doc ID 12808696.8),重现错误如下
节点1进行查询报ORA-4031

 代码如下 复制代码
SQL> select count(*) from v$session;
 
COUNT(*)
----------
1536
 
SQL> select count(*) from gv$session;
 
COUNT(*)
----------
2089
 
SQL> select /*+ full(t) */ count(*) from gv$session t;
 
COUNT(*)
----------
2053
 
SQL> select * from gv$session;
select * from gv$session
*
ERROR at line 1:
ORA-12801: error signaled in parallel query server PZ93, instance
ocs_db_2:zjocs2 (2)
ORA-04031: unable to allocate 308448 bytes of shared memory ("shared
pool","unknown object","sga heap(1,0)","hng: All sessions data for API.")

节点2进行查询报ORA-04031

 代码如下 复制代码
SQL> select * from gv$session;
select * from gv$session
*
ERROR at line 1:
ORA-12801: error signaled in parallel query server PZ95, instance
ocs_db_2:zjocs2 (2)
ORA-04031: unable to allocate 308448 bytes of shared memory ("shared
pool","unknown object","sga heap(6,0)","hng: All sessions data for API.")
 
SQL> select * from v$session;
select * from v$session
*
ERROR at line 2:
ORA-04031: unable to allocate 308448 bytes of shared memory ("shared
pool","unknown object","sga heap(7,0)","hng: All sessions data for API.")

通过上述分析:确认是节点2的v$session遭遇到Bug 12808696,导致在该节点中中查询v$session和Gv$session报ORA-04031,而在节点1中查询v$session正常,查询Gv$session报ORA-04031.

bug在11.1.0.6中修复,所有的10g版本中未修复,只能通过临时重启来暂时避免,注意该bug通过flash shared_pool无法解决
如果您有权限可以进步一查询SR 3-7670890781: 查询v$session的BLOCKING_SESSION字段时,出现ora-04031错误

时间: 2024-09-14 12:29:41

oracle中查询v$session报ORA-04031错误解决办法的相关文章

oracle 12c数据泵导入报错KUP-11014错误解决办法

将10.2.0.5的一个大表导入到12.1.0.2的时候, 导出参数是: [oracle10g@testdb tmp]$ cat expdp.par userid='/ as sysdba' DIRECTORY=DUMPDIR dumpfile=mytable_%U.dmp tables=schema.mytable logfile=mytable.log job_name=mytable parallel=8 filesize=100M 导入参数是: userid='/ as sysdba'

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

java中netbeans org.tigris.subversion.javahl.ClientException错误解决办法

org.tigris.subversion.javahl.ClientException: The path 'D:\xampp\htdocs\test' appears to be part of a Subversion 1.7 or greater working copy.  Please upgrade your Subversion client to use this working copy. 解决办法 在 NetBeans 7.0\etc\netbeans.conf 文件中增加

oracle迁移数据库后启动报错ora-600[25025]解决办法

迁移脚本的日志中报错RMAN-06571: datafile 78 does not have recoverable copy,经查看发现78号文件曾经被offline drop掉.于是重建控制文件,在控制文件中把78号文件去掉,重建控制后,数据库能够mount,mount后数据文件是一致,但是open 时会报错ora-600,异常宕掉. SYS@mydbtst> alter database open; alter database open * ERROR at line 1: ORA-0

Java中tomcat memecached session 共享同步问题的解决办法_java

事件缘由:一个主项目"图说美物",另外一个子功能是品牌商的入驻功能,是跟主项目分开的项目,为了共享登录的用户信息,而实现session共享,俩个tomcat,一个tomcat6,一个tomcat7 web项目windows系统下实现session的共享 第一个步: 在俩个tomcat的context.xml这个文件中配置如下代码: <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManage

svn上传报Authorization failed错误解决办法

svn上传文件时没有弹出用户登录界面,而是直接报Authorization failed错误.出现该问题基本都是三个配置文件的问题,下面把这个文件列出来 svnserve.conf配置文件中的 [general] anon-access = read auth-access = write password-db = passwd authz-db = authz 注意:这几个配置项都需要在[general]配置项下. passwd配置文件 [users] admin=123 authz配置文件

关联-关于oracle中查询sql的优化

问题描述 关于oracle中查询sql的优化 在数据库中的某个表中有几百万条数据,现在要用这张表关联别的表去查询,查询速度很慢,如何优化才能使查询速度快一些. 解决方案 先优化SQL,然后再优化业务逻辑.最后优化数据库数据存储.起码得把SQL贴出来看看吧,几百万的数据不算多呀. 解决方案二: oracle的权值查询 解决方案三: 用一个相关联的ID,直接查那个表,这样就简单了!

c# 从oracle中查询数据,设置时间参数问题,在线等

问题描述 c# 从oracle中查询数据,设置时间参数问题,在线等 各位大神,小弟刚接触c#时间不长,写了个程序,从界面上datatimepicker中取出时间,然后在c#代码的sql语句中设置时间参数,无论怎么设置要不就查不到数据,要不就是时间格式设置的不对,下面是代码 public DataTable QueryUsedMaterial(string classgroup, string beginTime, string endTime) { string sql_QueryMateria

在oracle中查询xml表列内容显示不全,为什么???

问题描述 在oracle中查询xml表列内容显示不全,为什么??? 建立了一个包含xml列的表,也成功插入了xml项,但是用查询语句显示不全xml的内容,不知道为啥?? CREATE TABLE employees( eid int primary key, einfo xmltype ); insert into employees values(1,XMLType(bfilename('XMLDIR', 'einfoTest.xml'),nls_charset_id('GB2312') ))