1.查找当前表级锁的SQL如下:

select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess

where ao.object_id = lo.object_id and lo.session_id = sess.sid;

简化如下:

select sess.sid, sess.serial# from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;

2.杀掉锁表进程:杀完锁表会话logout

alter system kill session '267,6031';  (填写上一个sql查询出的sid,serial#)

3.RAC环境中锁查找:

SELECT inst_id,DECODE(request,0,'Holder: ','Waiter: ')||sid sess,

id1, id2, lmode, request, type,block,ctime

FROM GV$LOCK

WHERE (id1, id2, type) IN

(SELECT id1, id2, type FROM GV$LOCK WHERE request>0)

ORDER BY id1, request;

4.监控当前数据库谁在运行什么SQL语句

col osuser for a20;

col username for a20;

col sql_text for a20;

select osuser, username, sql_text

from  v$session a, v$sqltext b

where  a.sql_address =b.address order by address, piece;

5.找使用CPU多的用户session

col prog for a10;

col terminal for a10;

select a.sid,spid,status,substr(a.program,1,40) prog, a.terminal,osuser,value/60/100 value

from  v$session a,v$process b,v$sesstat c

where  c.statistic#=12 and

c.sid=a.sid and

a.paddr=b.addr

order by value desc;

6.查看死锁信息

SELECT (SELECT username

FROM v$session

WHERE SID = a.SID) blocker, a.SID, 'is blocking',

(SELECT username

FROM v$session

WHERE SID = b.SID) blockee, b.SID

FROM v$lock a, v$lock b

WHERE a.BLOCK = 1 AND b.request > 0 AND a.id1 = b.id1 AND a.id2 = b.id2;

7.具有最高等待的对象

SELECT   o.OWNER,o.object_name, o.object_type, a.event,

SUM (a.wait_time + a.time_waited) total_wait_time

FROM v$active_session_history a, dba_objects o

WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE

AND a.current_obj# = o.object_id

GROUP BY o.OWNER,o.object_name, o.object_type, a.event

ORDER BY total_wait_time DESC;

SELECT   a.session_id, s.osuser, s.machine, s.program, o.owner, o.object_name,

o.object_type, a.event,

SUM (a.wait_time + a.time_waited) total_wait_time

FROM v$active_session_history a, dba_objects o, v$session s

WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE

AND a.current_obj# = o.object_id

AND a.session_id = s.SID

GROUP BY o.owner,

o.object_name,

o.object_type,

a.event,

a.session_id,

s.program,

s.machine,

s.osuser

ORDER BY total_wait_time DESC;

8.查询当前连接会话数

select s.value,s.sid,a.username

from

v$sesstat S,v$statname N,v$session A

where

n.statistic#=s.statistic# and

name='session pga memory'

and s.sid=a.sid

order by s.value;

9.等待最多的用户

SELECT   s.SID, s.username, SUM (a.wait_time + a.time_waited) total_wait_time

FROM v$active_session_history a, v$session s

WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE

GROUP BY s.SID, s.username

ORDER BY total_wait_time DESC;

10.等待最多的SQL

SELECT   a.program, a.session_id, a.user_id, d.username, s.sql_text,

SUM (a.wait_time + a.time_waited) total_wait_time

FROM v$active_session_history a, v$sqlarea s, dba_users d

WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE

AND a.sql_id = s.sql_id

AND a.user_id = d.user_id

GROUP BY a.program, a.session_id, a.user_id, s.sql_text, d.username;

11.查看消耗资源最多的SQL

SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls

FROM V$SQLAREA

WHERE buffer_gets > 10000000 OR disk_reads > 1000000

ORDER BY buffer_gets + 100 * disk_reads DESC;

12.查看某条SQL语句的资源消耗

SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls

FROM V$SQLAREA

WHERE hash_Value = 228801498 AND address = hextoraw('CBD8E4B0');

13.查询会话执行的实际SQL

SELECT   a.SID, a.username, s.sql_text

FROM v$session a, v$sqltext s

WHERE a.sql_address = s.address

AND a.sql_hash_value = s.hash_value

AND a.status = 'ACTIVE'

ORDER BY a.username, a.SID, s.piece;

14.显示正在等待锁的所有会话

SELECT * FROM DBA_WAITERS;

原文链接:http://www.cnblogs.com/askjacklin/archive/2012/06/04/2534571.html

oracle 等待sql,oracle sql 锁,锁等待相关sql相关推荐

  1. 数据库学习day_01:SQL的发展和数据库操作相关sql语句

    1.数据库 学习数据库主要学习的就是如何对数据进行增删改查操作. 增加(插入数据) 删除数据 修改数据 查询数据 为什么使用数据库软件? 之前在webserver时通过IO技术已经操作过数据,其实这部 ...

  2. oracle行锁 查询等待,Oracle 的for update行锁语法

    SELECT...FOR UPDATE 语句的语法如下: SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED]; 其中: ...

  3. ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL、DBA必备)

    ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL.DBA必备) 文章目录 ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL.DBA必备) 前 ...

  4. oracle顺序读等待,Oracle Study之--Oracle等待事件(4)

    Oracle Study之--Oracle等待事件(4) Db file scattered read这个等待事件在实际生产库中经常可以看到,这是一个用户操作引起的等待事件,当用户发出每次I/O需要读 ...

  5. sql server行级锁,排它锁,共享锁的使用

    锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新  A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 ...

  6. SQL Server中的锁类型及用法(转载)

    一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新  A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读  ...

  7. oracle degree 造成阻塞_数据库锁/阻塞分析的一种常用方法

    对于一些中小用户来说,日常遇到的最多的问题不外乎表空间与锁的分析.数据库表空间使用率/空间使用率分析似乎很简单,是一条SQL就能搞定的事情,实际上并不简单,这个话题容以后找时间阐述.今天就重点分析下另 ...

  8. oracle死锁trace,Oracle 学习之性能优化(十)锁

    锁(lock)是用于防止在访问相同的资源(包括用户对象.系统对象.内存.Oralce数据字典中的共享数据结构,最常见的是数据库表Table对象)时 ,事务之间的有害性 交互(存.取)的一种机制. 不同 ...

  9. oracle的空闲等待事件,Oracle 常见的33个等待事件详解

    一. 等待事件的相关知识: 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件. 1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时 ...

  10. 下载丨6月数据库技术通讯:不规范SQL引发大量TX锁

    为了及时共享行业案例,通知共性问题,达成共享和提前预防,我们整理和编辑了<云和恩墨技术通讯>,通过对过去一段时间的知识回顾,故障归纳,以期提供有价值的信息供大家参考.同时,我们也希望能够将 ...

最新文章

  1. 影响线型缩聚物分子量的因素_【CRPS】通过硼烷引发剂实现氧气引发的超高分子量聚合物的可控合成...
  2. 一道面试题:用shell写一个从1加到100的程序
  3. 跨平台视频通信项目-OpenTok
  4. csr8670 修改key_CSR8670 DFU user guide
  5. 看后端程序员调试CORS的姿势
  6. 打开Jupyter Notebook 时报错:EnvironmentLocationNotFound: Not a conda environment:
  7. mysql中IFNULL,IF,CASE的区别
  8. 免费python自学攻略-420小时学习代码之后:如何教你免费自学Python
  9. windows cmd命令行添加mysql环境变量
  10. 智能控制基础(6):自动控制原理第五版第二章答案(部分)
  11. Windows下的hiberfil.sys文件及其作用
  12. 手机抓包之fiddler工具使用记录
  13. (泰勒展开式/欧拉公式)证明:e^x推导及e^(iπ) = -1展开过程
  14. [jzoj 4722] [NOIP2016提高A组模拟8.21] 跳楼机 解题报告 (spfa+同余)
  15. 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序(约瑟夫环问题)
  16. Endnote Reference styles参考文献引用模版制作——附毕设大论文引用模版
  17. c程序语言是什么意思,C语言,程序是什么意思?
  18. 你想进大厂吗?这份所有大厂都绕不过的MySQL宝典值得你一看
  19. 优雅的Adonis.js
  20. 【AtCoder】Japanese Student Championship 2019 Qualification题解

热门文章

  1. Visual Studio 远程调试正在运行的进程
  2. 边缘设备上的实时AI人员检测:以实时模式检测视频中的人员
  3. Node.js 14 发布,改进了诊断功能
  4. MongoDB C#:如何将包含DateTime的JSON反序列化为正确的BsonDocument DateTime值
  5. android studio 帧动画,如何在android studio中的两帧动画之间添加延迟?
  6. php log 行号 debug_backtrace,PHP debug_backtrace() 函数生成 backtrace(回溯跟踪)
  7. vue 设置每个页面的title
  8. mysql事件创建_mysql 创建事件
  9. C语言十五位正整数相加,二个超长正整数的相加
  10. linux脚本中空格怎么显示,linux vim 显示空格