- 浏览: 74882 次
文章分类
转自http://blog.itpub.net/23155850/viewspace-683737/
1、查看值得怀疑的SQL
2、查看消耗内存多的sql
3、查看逻辑读多的SQL
4、查看执行次数多的SQL
5、查看读硬盘多的SQL
6、查看排序多的SQL
7、分析的次数太多,执行的次数太少,要用绑变量的方法来写sql
8、游标的观察
9、查看当前用户&username执行的SQL
1、查看值得怀疑的SQL
select substr(to_char(s.pct, '99.00'), 2) || '%' load, s.executions executes, p.sql_text from (select address, disk_reads, executions, pct, rank() over(order by disk_reads desc) ranking from (select address, disk_reads, executions, 100 * ratio_to_report(disk_reads) over() pct from sys.v_$sql where command_type != 47) where disk_reads > 50 * executions) s, sys.v_$sqltext p where s.ranking <= 5 and p.address = s.address order by 1, s.address, p.piece;
2、查看消耗内存多的sql
select b.username ,a. buffer_gets ,a.executions, a.disk_reads/decode(a.executions,0,1,a.executions),a.sql_text SQL from v$sqlarea a,dba_users b where a.parsing_user_id = b.user_id and a.disk_reads >10000 order by disk_reads desc;
3、查看逻辑读多的SQL
select * from (select buffer_gets, sql_text from v$sqlarea where buffer_gets > 500000 order by buffer_gets desc) where rownum <= 30;
4、查看执行次数多的SQL
select sql_text, executions from (select sql_text, executions from v$sqlarea order by executions desc) where rownum < 81;
5、查看读硬盘多的SQL
select sql_text, disk_reads from (select sql_text, disk_reads from v$sqlarea order by disk_reads desc) where rownum < 21;
6、查看排序多的SQL
select sql_text, sorts from (select sql_text, sorts from v$sqlarea order by sorts desc) where rownum < 21;
7、分析的次数太多,执行的次数太少,要用绑变量的方法来写sql
set pagesize 600; set linesize 120; select substr(sql_text, 1, 80) "sql", count(*), sum(executions) "totexecs" from v$sqlarea where executions < 5 group by substr(sql_text, 1, 80) having count(*) > 30 order by 2;
8、游标的观察
set pages 300; select sum(a.value), b.name from v$sesstat a, v$statname b where a.statistic# = b.statistic# and b.name = 'opened cursors current' group by b.name; select count(0) from v$open_cursor; select user_name, sql_text, count(0) from v$open_cursor group by user_name, sql_text having count(0) > 30;
9、查看当前用户&username执行的SQL
select sql_text from v$sqltext_with_newlines where (hash_value, address) in (select sql_hash_value, sql_address from v$session where username = '&username') order by address, piece;
发表评论
-
oracle之分析函数
2020-03-11 14:07 0row_number() over(partition by ... -
oracle之日期函数
2016-12-20 10:55 9041、sysdate:返回当前日期 2、add_months(d ... -
oracle之数据字典
2016-07-18 18:55 0Oracle字典视图包括 ... -
oracle之回滚和undo表空间
2016-07-12 16:19 0Oracle undo表空间爆满的解决 1. 启 ... -
oracle之dblink
2016-07-12 14:34 0有时候需要从另一 ... -
oracle之监听配置文件
2016-07-11 13:57 0listener.ora文件为配置在oracle服务器 ... -
oracle之异常学习
2016-07-05 18:22 803ORACLE异常包括预定义异常,非预定义异常,自定义异常。 1 ... -
oracle的regexp_like函数使用正则表达式
2016-07-08 10:17 8894一、正则表达式入门 1. ... -
oracle中on、where、having的区别
2016-05-27 11:49 0http://www.cnblogs.com/java-cla ... -
面试准备
2016-05-14 22:57 0web安全测试: http://blog.sina.com.c ... -
常用sql
2016-04-28 15:52 01、删除表中重复数据 方式一:rowid select * f ... -
oracle之高水位线
2016-03-24 18:25 0insert /*+append*/ into table1 ... -
oracle11g自动分区
2016-03-23 21:07 878最近工作中需要给数据库创建分区,简单学习了一下,做下笔 ... -
oracle中rowid与rownum学习
2016-03-21 16:00 0rowid与rownum 都被称为伪列,但它们的存在方 ... -
SST
2016-01-21 16:57 0会员系统通过MQ获取CDH月结账号数据代码 1、插入 插 ... -
oracle导入导出
2015-11-13 18:37 0Oracle数据导入导出imp/exp就相当于oracle数据 ... -
oracle索引学习
2015-11-12 16:45 0一、索引基础 1、索引 ... -
oracle中to_char函数转换后多出空格的问题
2015-11-06 14:50 1421今天编写往数据库中插入200万数据的存储过程,遇到to ... -
好的网站
2015-09-11 13:54 0plsql开发笔记和小结 http://www.blogjav ... -
merge用法总结
2015-08-04 19:32 01、merge语法 merge [hit] into [ ...
相关推荐
在数据库中硬解析是万恶之源,为大家提供一个查找并且定位oracle硬解析问题SQL语句脚本
从别处看到的Oracle常用性能监控SQL语句,不错。共享。
java oracle 死锁 解锁 进程 SQL
NULL 博文链接:https://hr-java-ssh.iteye.com/blog/2291265
基于SQL实现Oracle数据库表中差异数据项的排查比对.pdf
很详细很基础的讲了oracle中游标的使用,每一种有游标具体的用法,包含有案例的pl/sql的代码。
针对SQL注入隐蔽性极强的特点,本书重点讲解了SQL注入的排查方法和可以借助的工具,总结了常见的利用SQL漏洞的方法。另外,本书还专门从代码层和系统层的角度介绍了避免SQL注入的各种策略和需要考虑的问题。 本书...
针对SQL注入隐蔽性极强的特点,本书重点讲解了SQL注入的排查方法和可以借助的工具,总结了常见的利用SQL漏洞的方法。另外,本书还专门从代码层和系统层的角度介绍了避免SQL注入的各种策略和需要考虑的问题。 本书...
5.5 PL/SQL中的异常处理 134 5.6 程序中的控制结构 138 5.6.1 程序控制 138 5.6.2 IF逻辑结构 139 5.6.3 CASE语句 141 5.6.4 Loop循环 142 5.6.5 WHILE循环 143 5.6.6 FOR循环 143 5.7 如何创建存储过程...
5.5 PL/SQL中的异常处理 5.6 程序中的控制结构 5.6.1 程序控制 5.6.2 IF逻辑结构 5.6.3 CASE语句 5.6.4 Loop循环 5.6.5 WHILE循环 5.6.6 FOR循环 5.7 如何创建存储过程以及创建存储过程的原因 5.8 函数的创建和使用...
今天小编就为大家分享一篇关于Oracle查询sql错误信息的控制和定位,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
可能造成CPU使用率高的情况有:大量排序、大量SQL解析、全表扫描、Oracle Bug等。因此希望找到占用CPU较高的进程ID(UNIX或LINUX)或线程ID(Windows)来找到对应的SQL语句,以分析问题的原因。 三、处理步骤 ...
记一次生产环境排查服务器性能优化的问题,需要获取oracle的AWR报告,进行分析服务器sql的执行时间
本文就介绍了这一过程,经由过程慢慢排查我们就能找到该故障的原因了。 下面记录下查找这个题目的步调。 1. 找到账号被锁按时候 哄骗sqlplus或者sqldeveloper,查询账号被锁定的时候,相干语句如下: –批改当前会话...
ORACLE DB故障解决技巧,常规思路,如何诊断,各种错误排查等
此文档,分别从linux 内核层(cpu,memory,iowait),oracle 服务层(sga/uga/pga/share_pools_size),oracle SQL应用层,进行巡检,问题分析,调优处理进行实际排查
在最近的几次sqlserver问题的排查中,总结了sqlserver几种典型的等待类型,类似于oracle中的等待事件,如果看到这样的等待类型时候能够迅速定位问题的根源,下面通过一则案例来把这些典型的等待处理方法整理出来: ...
关于这个问题,测试了很多方案,终于成功,现提供如下排查...然后,将SQL *Plus目录换成已安装的oracle目录下的C:\app\luohaiyuan\product\11.2.0\dbhome_1\BIN,如图: 2、如果此方式仍不能解决,需进行如下操作,
tomcat错误日志断断续续报ORA-00903: invalid table name,并无具体SQL与表名,需要排查哪段代码写入了无效表名, 可以通过ORACLE提供的errorstack追踪报错SQL。 由于生产数据无法取出,以下皆为测试环境测试还原...