awr中一条top sql,查询all_objects

原创 2015年07月07日 13:43:41

每天看看库上的awr报告,发现有条sql三个小时内执行了190多万次:

SELECT NULL AS table_cat,
         o.owner AS table_schem,
         o.object_name AS table_name,
         o.object_type AS table_type,
         NULL AS remarks
         FROM all_objects o
         WHERE o.owner LIKE :1 ESCAPE '/'
         AND o.object_name LIKE :2 ESCAPE '/'
         AND o.object_type IN ('xxx', 'TABLE')
         ORDER BY table_type, table_schem, table_name

一开始以为是用户程序执行的,仔细一看,发现像是oracle内部sql,百度了些资料,确实有其它道友遇到类似情况,但没有给出详细说明。

看到一篇盖国强的文章,语句和这条相似:

SELECT   NULL AS table_cat, c.owner AS table_schem, c.table_name,
         c.column_name, c.POSITION AS key_seq, c.constraint_name AS pk_name
    FROM all_cons_columns c, all_constraints k
   WHERE k.constraint_type = 'P'
     AND k.table_name = :1
     AND k.owner LIKE :2 ESCAPE '/'
     AND k.constraint_name = c.constraint_name
     AND k.table_name = c.table_name
     AND k.owner = c.owner
ORDER BY column_name


给出的解释是:当JAVA程序中通过DatabaseMetaData#getPrimaryKeys()调用,将会执行这个SQL,如果不及时关闭,则还可能产生严重的内存占用。

看了些其它的资料,也是说的java在调用某些函数的使用应用到该语句,所以呢,最好还是让开发排查一下。


但事情往往推到开发那,就需要耗费大量口舌了。。。

---------------------------------------------------------------------------------------

后续补充2015-08-03

在metalink上面找到这样一篇文章(Doc ID 1492529.1)

导致出现大量执行上述sql的原因是:

This is caused by C3PO, a 3rd party connection pooling library used in the Liferay product.

These queries represent a "ping" to the database to test connection availability, and will do so with a lightweight query that returns no results.


解决方法:

修改portal-ext.properties文件中的参数jdbc.default.idleConnectionTestPeriod的值为一个较大的值,默认是60


版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle误删表恢复

1、oracle 删除某个用户下面的所有的表,执行下面的语句可以获得所有删除表的语句,拷贝出来执行之后就OK了。 select 'drop table '||table_name||';' from ...

为一条SQL语句生成AWR报告!

[oracle@linux ~]$ sqlplus / as sysdba @?/rdbms/admin/awrsqrpt.sql SQL*Plus: Release 11.2.0.1.0 Prod...

LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods

我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 。 Union A...

常用的文章系统,如何用一条sql语句提取出每个分类的第一条并按OrderCol字段排序。分类大概几十个,一共只要取top 10 这样

--按某一字段分组取最大(小)值所在行的数据 (爱新觉罗.毓华 2007-10-23于浙江杭州) /* 数据如下: name val memo a    2   a2(a的第二个值) a ...
  • zzxian
  • zzxian
  • 2012年12月23日 10:53
  • 3871

巧用DISPLAY_AWR函数与dba_hist_sqlstat结合查询SQL语句在指定节点指定时间范围内的历史执行计划

巧用DISPLAY_AWR函数与dba_hist_sqlstat结合查询SQL语句在指定节点指定时间范围内的历史执行计划 (查询SQL语句在指定节点指定时间段的执行计划)...

ORACLE 性能优化-查询数据库慢SQL(其实还是awr和ash报告更方便~)

查询数据库繁忙原因 V$SQLAREA; v$session;   1. 查看数据库逻辑读写前10sql     set linesize 300;     set pagesize...

自己动手重新实现LINQ to Objects: 10 - Any和All

本文翻译自Jon Skeet的系列博文“Edulinq”。 本篇原文地址: http://msmvps.com/blogs/jon_skeet/archive/2010/12/28/rei...

16. 3. 11. 剪切渐变合成及鼠标移动Translate and rotate all objects

import java.awt.AlphaComposite; import java.awt.BasicStroke; import java.awt.BorderLayout; import...

Does GATHER_STATS_JOB gather all objects’ stats every time?

周五在一家客户的调优会议中讨论了一个由于统计信息陈旧导致SQL执行计划偏差的问题,这是一个10g的库并且禁用了自动收集统计信息的定时作业GATHER_STATS_JOB;当问及应用程序开发商为何要禁用...
  • halou90
  • halou90
  • 2015年11月03日 11:17
  • 253

How to identify all the Corrupted Objects in the Database reported by RMAN

Step 1: Identify the corrupt blocks Populate the v$database_block_corruption view with  information...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:awr中一条top sql,查询all_objects
举报原因:
原因补充:

(最多只允许输入30个字)