极好的工具sql monitor,专抓烂SQL的能手!!!

最近几天被厂商的数据库弄得头大,他们应用一小时能跑2TB的读数据出来

百度了一把搜索到了sql monitor这个工具出来,学习了一下

改成了脚本,执行以后会在/home/oracle目录下面生成badsql.txt文件,用more命令就可以看了

vi badsql.sh

添加下如内容

#!/bin/bash
su - oracle<<EOF
sqlplus / as sysdba
spool badsql.txt
col status fro a15
col username for a10
col module for a20
col PROGRAM for a20
set linesize 1000
set pagesize 300
select status,username,module,program,sql_id,PHYSICAL_READ_BYTES/1024/1024 READ_IO_MB,sql_text from v\$sql_monitor  order by PHYSICAL_READ_BYTES desc;
spool off;
exit;
EOF

保存退出

打开badsql.txt文件

取出里面的sql_id,代入到下面的命令,就能出现详细的报告了

su - oracle

more badsql.txt

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
DONE (ALL ROWS)     EOMSGZ     JDBC Thin Client     JDBC Thin Client     3371xmyjfzmxw 3936.85938                                                                     
                                                                                                                                                                      
                                                                                                                                                                      
                                                                                                                                                                      
                                                                                                                                                                      
                                                                                                                                                                    
select commonfaul0_.id as id322_, commonfaul0_.mainId as mainId322_, commonfaul0_.title as title322_, commonfaul0_.mainApplySheetId as mainAppl4_322_, commonfaul0_.mai
nAlarmLevel as mainAlar5_322_, commonfaul0_.mainIfUrgentFault as mainIfUr6_322_, commonfaul0_.mainFaultResponseLevel as mainFaul7_322_, commonfaul0_.mainAlarmNum as ma
inAlar8_322_, commonfaul0_.mainAlarmState as mainAlar9_322_, commonfaul0_.mainAlarmDesc as mainAla10_322_, commonfaul0_.mainAlarmSolveDate as mainAla11_322_, commonfau
l0_.mainEquipmentFactory as mainEqu12_322_, commonfaul0_.mainEquipmentName as mainEqu13_322_, commonfaul0_.mainEquipmentModel as mainEqu14_322_, commonfaul0_.mainFault
GenerantTime as mainFau15_322_, commonfaul0_.mainIfAffectOperation as mainIfA16_322_, commonfaul0_.mainFaultDiscoverableMode as mainFau17_322_, commonfaul0_.mainAlarmI
d as mainAla18_322_, commonfaul0_.mainAlarmSource as mainAla19_322_, commonfaul0_.mainAlarmLogicSort as mainAla20_322_, commonfaul0_.mainAlarmLogicSortSub as mainAla
21_322_, commonfaul0_.mainFaultSpecialty as mainFau22_322_, commonfaul0_.mainEquipmentType as mainEqu23_322_, commonfaul0_.mainNetName as mainNet24_322_, commonfaul0_.
mainFaultGenerantProvince as mainFau25_322_, commonfaul0_.mainFaultGenerantCity as mainFau26_322_, commonfaul0_.mainNetSortOne as mainNet27_322_, commonfaul0_.mainNetS
ortTwo as mainNet28_322_, commonfaul0_.mainNetSortThree as mainNet29_322_, commonfaul0_.replyFaultAvoidTime as replyFa30_322_, commonfaul0_.replyOperRenewTime as reply
Op31_322_, commonfaul0_.replyAffectTimeLength as replyAf32_322_, commonfaul0_.replyDealStep as replyDe33_322_, commonfaul0_.replyFaultDealResult as replyFa34_322_, com
monfaul0_.replyFaultReasonSort as replyFa35_322_, commonfaul0_.replyFaultReasonSubsection as replyFa36_322_, commonfaul0_.replyIfGreatFault as replyIf37_322_, commonfa
ul0_.replyIfExcuteNetChange as replyIf38_322_, commonfaul0_.replyIfFinallySolveProject as replyIf39_322_, commonfaul0_.mainSheetType as mainShe40_322_, commonfaul0_.

SQL> col comm format a200
SQL> set linesize 3000
SQL> set pages 0
SQL> select dbms_sqltune.report_sql_monitor(sql_id=>‘3371xmyjfzmxw‘,report_level=>‘ALL‘,type=>‘TEXT‘) comm from dual;

Global Information
------------------------------
 Status              :  DONE (ALL ROWS)
 Instance ID         :  1
 Session             :  EOMSGZ (1545:18373)
 SQL ID              :  3371xmyjfzmxw
 SQL Execution ID    :  16777216
 Execution Started   :  07/22/2016 15:42:36
 First Refresh Time  :  07/22/2016 15:42:40
 Last Refresh Time   :  07/22/2016 15:42:45
 Duration            :  9s
 Module/Action       :  JDBC Thin Client/-
 Service             :  gzeomsdb
 Program             :  JDBC Thin Client
 Fetch Calls         :  1

Global Stats
====================================================================================================
| Elapsed |   Cpu   |    IO    | Application | Cluster  |  Other   | Fetch | Buffer | Read | Read  |
| Time(s) | Time(s) | Waits(s) |  Waits(s)   | Waits(s) | Waits(s) | Calls |  Gets  | Reqs | Bytes |
====================================================================================================
|    8.81 |    3.69 |     4.44 |        0.00 |     0.00 |     0.68 |     1 |   504K | 3974 |   4GB |
====================================================================================================

SQL Plan Monitoring Details (Plan Hash Value=3739816812)
=============================================================================================================================================================
| Id |      Operation      |         Name         |  Rows   | Cost |   Time    | Start  | Execs |   Rows   | Read | Read  | Activity |   Activity Detail    |
|    |                     |                      | (Estim) |      | Active(s) | Active |       | (Actual) | Reqs | Bytes |   (%)    |     (# samples)      |
=============================================================================================================================================================
|  0 | SELECT STATEMENT    |                      |         |      |           |        |     1 |          |      |       |          |                      |
|  1 |   TABLE ACCESS FULL | COMMONFAULTPACK_MAIN |      64 | 137K |         9 |     +2 |     1 |        0 | 2789 |   3GB |   100.00 | Cpu (3)              |
|    |                     |                      |         |      |           |        |       |          |      |       |          | direct path read (6) |
=============================================================================================================================================================

时间: 2024-07-30 06:51:56

极好的工具sql monitor,专抓烂SQL的能手!!!的相关文章

sql monitor生成不了报告&amp; FFS hint不生效两个问题思考

事情的发生就是这么偶然,一步步的深入才能汲取到更深入的知识~~ -------------------START-------------------------------------------   来了一个query running longer than 4hours的邮件,来看看里面有哪些sql: SID    SERIAL#    INST_ID SQL_ID        Run_in_sec OS_user     MACHINE       SQL_TEXT         

navicat for sql server中文版|SQL Server管理及开发工具(Navicat for SQL Server)下载 v11.2.13

Navicat for SQL Server 是一套专为 Microsoft SQL Server设计的强大数据库管理及开发工具.Navicat for SQL Serve可以用于SQL Server 2000.2005.2008R2及SQL Azure,并支持大部份最新功能,包括触发器.函数及其他.Navicat 的功能足以符合专业开发人员的所有需求,但是对 SQL Server 的新手来说又相当容易学习.有了 Navicat 极完备的图形用户介面(GUI),让你可以简便地以安全且简单的方法创

DB SQL Monitor 阻塞及等待事件监控工具

DB SQL Monitor v1.5 by zhaoguan wang 说明 ------------------------------------------------------------------------------------       从SQL阻塞和等待事件的角度,了解数据库运行情况,供DBA和开发人员分析优化做参考 要求 --------------------------------------------------------------------------

数据字典生成工具之旅(8):SQL查询表的约束默认值等信息

上一篇代码生成工具里面已经用到了读取表结构的SQL,这篇将更加详细的介绍SQL SERVER常用的几张系统表和视图! 阅读目录 系统表视图介绍 实际应用 本章总结 工具源代码下载 学习使用 回到顶部 系统表视图介绍 1.sys.tables(用户表) SELECT name,object_id FROM sys.tables 上面SQL是用来查询数据库里面所有用户创建的表,name为表名,object_id为表的对象id.其中object_id的值也可以用系统函数OBJECT_ID()来取 SE

EBS_DBA_优化:掌握SQL Monitor这些特性,SQL优化将如有神助! (转)

SQL分析的苦与痛 对于线上的SQL语句,很多DBA都总会有一些疑问,看着执行计划cost还不错,但是实际执行的时候效果却有天壤之别,这是为什么呢? 对于一个庞大的SQL语句,看着得到的执行计划却不知道瓶颈在哪里,SQL语句太复杂,执行计划看起来更复杂,要读明白它掌握要领也不是一件容易的事情. 偶尔会有一些朋友问我,怎么去读一个执行计划,这个无论说得怎么细,似乎都不得要领,毕竟纯文字描述和图形的效果还是有很大的差别. 如果你在11g的版本中,SQL Monitor就是一个大大的福利,上面的问题可

Navicat for SQL Server Mac 版 SQL 创建工具

Navicat for SQL Server 是一个全面的图形化方式管理数据库,可进行创建.编辑和删除全部数据库对象,例如表.视图.函数.索引和触发器,或运行 SQL查询和脚本,Navicat for SQL Server 是齐全的图形化管理器,建立图形关联式数据库.从 ODBC 导入数据.同步不同 SQL Server 之间的数据.批处理作业计划.设定用户和访问权限.本Navicat教程将详解 Navicat for SQL Server Mac 版 SQL 创建工具. SQL 创建工具或编辑

SQLSERVER 免费对比数据库结构和数据的工具支持:SQL Server 2012, SQL Server 2008 and SQL Server 2005

New xSQL Schema Compare - version 5 Compare the schemas of two SQL Server databases, review differences, generate synchronization script and execute it - xSQL Schema Compare makes database change management easy. xSQL Schema Compare supports SQL Serv

[SQL优化工具]Quest.Central.For.Databases——SQL Tuning for SQL Server

随着企业数据库的急剧膨胀和日益复杂,DBA为保证数据库性能所付出的努力与日俱增,手工或使用多种无法集成的管理工具,都会给日常管理和维护带来不必要的困难. Quest Central for Databases 是一种集成化.图形化.跨平台的数据库管理解决方案,可以管理异构环境下的 Oracle.DB2 和 SQL server 数据库.Quest Central for Databases 消除了企业IT人员管理多种数据库时面临的技术障碍,提高了IT人员工作效率,改善了数据库性能和数据库应用的可

SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第1部分)

为了缩小读取操作所涉及范围,本文首先着眼于简单的SELECT查询,然后引入执行更新操作有关的附加过程.最后你会读到,优化性能时SQLServer使用还原工具的相关术语和流程. 关系和存储引擎 如图所示,SQL Server被分为2个主要引擎:关系引擎和存储引擎.关系引擎有时也被称为查询处理器,因为它的主要功能是查询优化和执行.它包含检查查询语法和准备查询树的命令解析器:查询优化器毫无疑问是任何数据库系统中皇冠上的宝石:查询执行器对执行(查询计划)负责. 存储引擎对所有数据输入.输出管理负责.它包