博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库查询一条语句就需要很长的时间
阅读量:6091 次
发布时间:2019-06-20

本文共 1624 字,大约阅读时间需要 5 分钟。

2016年7月8日

    今天开发提供了一条删除表中数据的语句,delete语句。放在plsql中执行了之后发现执行了半个小时还没有结束,这个时候开发还有脚本需要执行,本想创建新的会话,来执行开发提供的语句,可是一个简单的建表语句也不能够执行了。

    我就把delete的那个会话在plsql中强制给关掉了,只是把plsql窗口关掉了,虽然管了好半天才给强制关掉。但是建表语句依旧不能够执行。执行了就是没有回应。这个时候测试人员反映点击界面很卡,登录客户端也是一直处于打转的状态。

    根据以上情况想到,可能是刚刚强制关掉plsql窗口,虽然窗口关掉了,但是进程还是没有关掉的。

    那么怎么查看进程是都存在呢。

查看这个表   

select * from v$session  

select * from v$session a

where a.USERNAME='SYS' and a.TERMINAL='SHA-P07010086' and a.status='ACTIVE';

这里是因为我执行delete是用sys用户执行的,我的电脑名称是SHA-P07010086

查看进程号

select * from v$process

select * from v$sqlarea b

where b.SQL_ID in ('dauuu7kkf7xma','gs36qsq4dju1v');

--dauuu7kkf7xma

杀掉进程

alter system kill session '133,15615' immediate;

这样操作之后,我delete的进程就杀掉了。 

之后再查数据,就好些了。测试人员重新登陆应用后,也好了。

定位性能sql

1、查找前十条性能差的sql

SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS, 

COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea 

order BY disk_reads DESC )where ROWNUM<10 ; 

2、查看IO高的session

SELECT se.sid,se.serial#,pr.SPID,

--se.username,se.status, 

--se.terminal,se.program,se.MODULE,se.sql_address,st.event,

st.p1text,si.physical_reads 

--,si.block_changes 

FROM v$session se,v$session_wait st, 

v$sess_io si,v$process pr WHERE st.sid=se.sid AND st.sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st. 

wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC;

3、通过进程号查看异常sql

SELECT a.username,

       a.machine,

       a.program,

       a.sid,

       a.serial#,

       a.status,

       c.piece,

       c.sql_text

FROM v$session a,

       v$process b,

       v$sqltext c

WHERE b.spid=5200  

   AND b.addr=a.paddr

   AND a.sql_address=c.address(+)

ORDER BY c.piece  ;

alter system kill session 'sid,serial#' ;--查看sql

本文转自aaa超超aaa 51CTO博客,原文链接:http://blog.51cto.com/10983441/1812744

转载地址:http://vhmwa.baihongyu.com/

你可能感兴趣的文章
SpringJpa分页
查看>>
Kotlin 基础-程序结构(上)
查看>>
微信小程序避坑指南
查看>>
git pull 冲突解决
查看>>
生产级幂等解决方案
查看>>
gradle初识buildscript与allprojects
查看>>
9102 年的 PHP
查看>>
五分钟带你走入MP
查看>>
一个命令完成[打包+同步七牛cdn+上传服务器]
查看>>
动态加载的一些坑
查看>>
javascript之深浅拷贝
查看>>
正则表达式
查看>>
特征值分解和奇异值分解
查看>>
js设计模式--迭代器模式
查看>>
Python操作目录,如:获取当前工作目录,获取执行命令的位置,路径拼接,路径拆分,文件重命名,删除文件,复制文件...
查看>>
javascript的深拷贝和浅拷贝
查看>>
请把你的小手放到你的头像上
查看>>
postCss 初识 (文章较长,需要耐心)
查看>>
微小企业如何更好的管理自己的进销?分享你一个saas平台
查看>>
如何用Redis实现分布式缓存
查看>>