- 浏览: 334775 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (198)
- HIBERNATE (8)
- JAVA (13)
- 数据库 (24)
- SPRING (1)
- LINUX (0)
- 需求管理 (3)
- 职业提升 (6)
- 团队建设 (1)
- 日常用到语句 (1)
- FLEX (6)
- 用户体验 (3)
- 设计模式 (6)
- weblogic (2)
- PowerDesigner (3)
- HTML (7)
- ANT (7)
- 工具. (1)
- bat (5)
- 存储过程 (1)
- strus2 (1)
- DWR (2)
- jfreechart (4)
- 上线测试优化 (17)
- JVM (9)
- 工具使用 (2)
- 算法 (3)
- 私事 (0)
- 数据库-Oracle session (1)
- 软件开发 (5)
- 产品 (2)
- 项目管理 (4)
- oracle语句 (1)
- IntelliJ IDEA (4)
- GRAILS (10)
- Groovy (1)
- JS (1)
- DUBBO (1)
- JAVA EXCEL (3)
- netty websocket (1)
- kafka (1)
- 秘钥体系 (2)
- golang (6)
- gradle (1)
- spring cloud (0)
最新评论
-
wujt:
...
Grails_数据库逆向工程插件 db-reverse-engineer -
yy8093:
我也遇到这个问题,不过并不觉得是个好的方法。。。。不过最后也确 ...
关于dubbo服务产生异常之:Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting s -
wujt:
# ----- Execute The Requested C ...
jconsole基础配置(原创) -
gaowei52306:
你好,请问remotedir="/home/dmwe ...
Ant FTP -
抢街饭:
ant生成日志 在命令行也能看见 怎么去做啊
ant生成日志
ORACLE阻塞
案例一:
34.//SYS窗口
35.
36.SQL> select c.terminal||' ('''||a.sid||','||c.serial#||''') is blocking '||b.sid
37.||','||d.serial# block_msg, a.block
38. 2 from v$lock a,v$lock b,v$session c,v$session d
39. 3 where a.id1=b.id1
40. 4 and a.id2=b.id2
41. 5 and a.block>0
42. 6 and a.sid <>b.sid
43. 7 and a.sid=c.sid
44. 8 and b.sid=d.SID
45. 9 ;
46.
47.BLOCK_MSG BLOCK
48.---------------------------------------- ----------
49.HWANG ('138,305') is blocking 153,15 1
50.
51.SQL> select sid,serial#,username from v$session where username is not null;
52.
53. SID SERIAL# USERNAME
54.---------- ---------- ------------------------------
55. 136 179 SYS
56. 138 305 SCOTT
57. 153 15 SCOTT
58.
59.//这个时候可以杀掉那个BLOCKER
60.
61.SQL> alter system kill session'138,305';
62.
63.System altered.
64.
65.//SCOTT窗口1
66.
67.SQL> select * from t2;
68.select * from t2
69.*
70.ERROR at line 1:
71.ORA-00028: your session has been killed
用到的语句:
select c.terminal || ' (''' || a.sid || ',' || c.serial# ||
''') is blocking ' || b.sid || ',' || d.serial# block_msg,
a.block
from v$lock a, v$lock b, v$session c, v$session d
where a.id1 = b.id1
and a.id2 = b.id2
and a.block > 0
and a.sid <> b.sid
and a.sid = c.sid
and b.sid = d.SID;
select sid,serial#,username from v$session where username is not null;
案例2:
oracle锁阻塞的会话
CREATE OR REPLACE VIEW SYS.V_LOCK AS
SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess,
id1, id2, lmode, request, type
FROM V$LOCK
WHERE (id1, id2, type) IN
(SELECT id1, id2, type FROM V$LOCK WHERE request>0)
ORDER BY id1, request;
案例3:
查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL
Select '节点 ' || a.INST_ID || ' session ' || a.sid || ',' || a_s.SERIAL# ||
' 阻塞了 节点 ' || b.INST_ID || ' session ' || b.SID || ',' || b_s.SERIAL# blockinfo,
a.INST_ID,
a_s.SID,
a_s.SCHEMANAME,
a_s.MODULE,
a_s.STATUS,
a.type lock_type,
a.id1,
a.id2,
decode(a.lmode,0,'none',1,null,2,'row-S (SS)',3,'row-X (SX)',4,'share (S)',5,'S/Row-X (SSX)',6,'exclusive (X)') lock_mode,
'后为被阻塞信息' ,
b.INST_ID blocked_inst_id,
b_s.SID blocked_sid,
b.TYPE blocked_lock_type,
decode(b.request,0,'none',1,null,2,'row-S (SS)',3,'row-X (SX)',4,'share (S)',5,'S/Row-X (SSX)',6,'exclusive (X)') blocked_lock_request,
b_s.SCHEMANAME blocked_SCHEMANAME,
b_s.MODULE blocked_module,
b_s.STATUS blocked_status,
b_s.SQL_ID blocked_sql_id,
obj.owner blocked_owner,
obj.object_name blocked_object_name,
obj.OBJECT_TYPE blocked_OBJECT_TYPE,
case
when b_s.ROW_WAIT_OBJ# <> -1 then
dbms_rowid.rowid_create(1,
obj.DATA_OBJECT_ID,
b_s.ROW_WAIT_FILE#,
b_s.ROW_WAIT_BLOCK#,
b_s.ROW_WAIT_ROW#)
else
'-1'
end blocked_rowid, --被阻塞数据的rowid
decode(obj.object_type,
'TABLE',
'select * from ' || obj.owner || '.' || obj.object_name ||
' where rowid=''' ||
dbms_rowid.rowid_create(1,
obj.DATA_OBJECT_ID,
b_s.ROW_WAIT_FILE#,
b_s.ROW_WAIT_BLOCK#,
b_s.ROW_WAIT_ROW#) || '''',
NULL) blocked_data_querysql
from gv$lock a,
gv$lock b,
gv$session a_s,
gv$session b_s,
dba_objects obj
where a.id1 = b.id1
and a.id2 = b.id2
and a.BLOCK > 0 --阻塞了其他人
and b.request > 0
and ((a.INST_ID = b.INST_ID and a.sid <> b.sid) or
(a.INST_ID <> b.INST_ID))
and a.sid = a_s.sid
and a.INST_ID = a_s.INST_ID
and b.sid = b_s.sid
and b.INST_ID = b_s.INST_ID
and b_s.ROW_WAIT_OBJ# = obj.object_id(+)
order by a.inst_id,a.sid
案例一:
34.//SYS窗口
35.
36.SQL> select c.terminal||' ('''||a.sid||','||c.serial#||''') is blocking '||b.sid
37.||','||d.serial# block_msg, a.block
38. 2 from v$lock a,v$lock b,v$session c,v$session d
39. 3 where a.id1=b.id1
40. 4 and a.id2=b.id2
41. 5 and a.block>0
42. 6 and a.sid <>b.sid
43. 7 and a.sid=c.sid
44. 8 and b.sid=d.SID
45. 9 ;
46.
47.BLOCK_MSG BLOCK
48.---------------------------------------- ----------
49.HWANG ('138,305') is blocking 153,15 1
50.
51.SQL> select sid,serial#,username from v$session where username is not null;
52.
53. SID SERIAL# USERNAME
54.---------- ---------- ------------------------------
55. 136 179 SYS
56. 138 305 SCOTT
57. 153 15 SCOTT
58.
59.//这个时候可以杀掉那个BLOCKER
60.
61.SQL> alter system kill session'138,305';
62.
63.System altered.
64.
65.//SCOTT窗口1
66.
67.SQL> select * from t2;
68.select * from t2
69.*
70.ERROR at line 1:
71.ORA-00028: your session has been killed
用到的语句:
select c.terminal || ' (''' || a.sid || ',' || c.serial# ||
''') is blocking ' || b.sid || ',' || d.serial# block_msg,
a.block
from v$lock a, v$lock b, v$session c, v$session d
where a.id1 = b.id1
and a.id2 = b.id2
and a.block > 0
and a.sid <> b.sid
and a.sid = c.sid
and b.sid = d.SID;
select sid,serial#,username from v$session where username is not null;
案例2:
oracle锁阻塞的会话
CREATE OR REPLACE VIEW SYS.V_LOCK AS
SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess,
id1, id2, lmode, request, type
FROM V$LOCK
WHERE (id1, id2, type) IN
(SELECT id1, id2, type FROM V$LOCK WHERE request>0)
ORDER BY id1, request;
案例3:
查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL
Select '节点 ' || a.INST_ID || ' session ' || a.sid || ',' || a_s.SERIAL# ||
' 阻塞了 节点 ' || b.INST_ID || ' session ' || b.SID || ',' || b_s.SERIAL# blockinfo,
a.INST_ID,
a_s.SID,
a_s.SCHEMANAME,
a_s.MODULE,
a_s.STATUS,
a.type lock_type,
a.id1,
a.id2,
decode(a.lmode,0,'none',1,null,2,'row-S (SS)',3,'row-X (SX)',4,'share (S)',5,'S/Row-X (SSX)',6,'exclusive (X)') lock_mode,
'后为被阻塞信息' ,
b.INST_ID blocked_inst_id,
b_s.SID blocked_sid,
b.TYPE blocked_lock_type,
decode(b.request,0,'none',1,null,2,'row-S (SS)',3,'row-X (SX)',4,'share (S)',5,'S/Row-X (SSX)',6,'exclusive (X)') blocked_lock_request,
b_s.SCHEMANAME blocked_SCHEMANAME,
b_s.MODULE blocked_module,
b_s.STATUS blocked_status,
b_s.SQL_ID blocked_sql_id,
obj.owner blocked_owner,
obj.object_name blocked_object_name,
obj.OBJECT_TYPE blocked_OBJECT_TYPE,
case
when b_s.ROW_WAIT_OBJ# <> -1 then
dbms_rowid.rowid_create(1,
obj.DATA_OBJECT_ID,
b_s.ROW_WAIT_FILE#,
b_s.ROW_WAIT_BLOCK#,
b_s.ROW_WAIT_ROW#)
else
'-1'
end blocked_rowid, --被阻塞数据的rowid
decode(obj.object_type,
'TABLE',
'select * from ' || obj.owner || '.' || obj.object_name ||
' where rowid=''' ||
dbms_rowid.rowid_create(1,
obj.DATA_OBJECT_ID,
b_s.ROW_WAIT_FILE#,
b_s.ROW_WAIT_BLOCK#,
b_s.ROW_WAIT_ROW#) || '''',
NULL) blocked_data_querysql
from gv$lock a,
gv$lock b,
gv$session a_s,
gv$session b_s,
dba_objects obj
where a.id1 = b.id1
and a.id2 = b.id2
and a.BLOCK > 0 --阻塞了其他人
and b.request > 0
and ((a.INST_ID = b.INST_ID and a.sid <> b.sid) or
(a.INST_ID <> b.INST_ID))
and a.sid = a_s.sid
and a.INST_ID = a_s.INST_ID
and b.sid = b_s.sid
and b.INST_ID = b_s.INST_ID
and b_s.ROW_WAIT_OBJ# = obj.object_id(+)
order by a.inst_id,a.sid
发表评论
-
在oracle10g中如何恢复drop掉的表
2014-11-19 15:17 771在oracle10g中如何恢复drop掉的表 在oracl ... -
左关联右关联全关联
2014-11-10 17:06 3856左关联右关联全关联 参考:http://www.cn ... -
win8系统倒入数据imp-00058错误
2014-09-21 17:52 669win8系统倒入数据imp-00058错误 ... -
oracle中如何判断字符串是否全为数字,以及从任意字符串中提取数字
2013-12-18 13:09 1475本文介绍了判断字符串是否全为数字的4种办法,另外还介绍了一个t ... -
查询闪存
2013-12-17 09:36 744(1)查询目标表30分钟前的数据 select * from ... -
ORA-00031: session marked for kill 处理Oracle中杀不掉的锁
2013-08-16 13:35 700ORA-00031: session marked for k ... -
Oracle创建表空间、创建用户以及授权
2013-07-30 11:30 683Oracle创建表空间、创建用户以及授权 创建临时表空间 创 ... -
Oracle中诊断阻塞session的方法 blocking error
2014-10-22 11:36 681Oracle中诊断阻塞session的方法 blocking ... -
查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL
2013-01-19 13:58 0查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL 数 ... -
查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL
2013-01-19 13:57 2602查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL 数 ... -
数据库阻塞和死锁的区别(转载)
2013-01-19 13:30 1336数据库阻塞和死锁的区别(转载) 数据库阻塞和死锁在程序开发过程 ... -
oracle 死锁和锁等待的区别(转载)
2013-01-19 13:27 1294oracle 死锁和锁等待的区别(转载) 所谓的锁等待:就是 ... -
关于“ORA-00060:等待资源时检测到死锁”问题的分析(转载)
2013-01-19 13:26 1317关于“ORA-00060:等待资源时检测到死锁”问题的分析(转 ... -
查询Oracle正在执行和执行过的SQL语句
2013-01-18 22:55 0查询Oracle正在执行和执行过的SQL语句 ---正在执 ... -
如何检测被锁住的Oracle存储过程(转帖)
2013-01-18 17:39 840如何检测被锁住的Oracle存储过程(转帖) 1.查看是哪 ... -
Oracle死锁的处理
2013-01-18 17:29 714Oracle死锁的处理 Oracle死锁问题应该如何解决呢?可 ... -
oracle 查询所有表的记录数 SQL
2013-01-18 15:06 1253oracle 查询所有表的记录数 SQL create o ... -
oracle enterprise manager console 出现 ora-12154:TNS:无法处理的服务名
2011-11-27 20:23 1165登录oracle enterprise manager con ... -
启动服务报错ORA-12505
2011-10-25 18:23 1436今天在工作中配置plsqldev时,报错误是找不到服务名 同 ... -
ORACLE-数据库导出(exp)/ 导入(imp)
2011-06-09 09:42 1462exp 将数据库内的各对象以二进制方式下载成dmp 文件, ...
相关推荐
Oracle锁和阻塞原理解析.pdf 了解锁和阻塞是 oracle troubleshooting 必备的技能;在说锁和阻塞之前,我们先了解下 并发(concurrency)和并行(parallel)。并发意思是在数据库中有超过两个以上用户对同样的数 据做修改...
主要介绍了Oracle阻塞(blockingblocked),需要的朋友可以参考下
主要介绍了Oracle 阻塞(blocking blocked)介绍和实例演示,如何定位当前系统有哪些阻塞,到底谁是阻塞者,谁是被阻塞者,本文对此给出了描述并做了相关演示,需要的朋友可以参考下
oracle数据库下,查找所有节点的锁和锁阻塞进程,并标志Hold和Wait
ORACLE经典语句汇总 -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 ...--看锁阻塞的方法 --ORACLE获得系统信息
脚本查询当前数据库阻塞,阻塞会话事物,进程,锁类型等
Oracle数据库监听,为数据库的运行状态,向外连接提供了时时通讯方法,就犹如房屋中介一般,为租客与房东提供相互所需要的信息!
检查当前oracle数据库中的阻塞情况。
有关阻塞的概念以及单实例环境下的阻塞请参考:Oracle 阻塞(blocking blocked) 1、演示环境 scott@DEVDB> select * from v$version where rownum<2; BANNER -------------------------------------------------...
数据库阻塞监控工具(SQLSERVER和ORACLE)
oracle 内存分析 转载 www.hellodba.com
利用DTRACE定位Oracle高并发堵塞案例.pdf
第2章 锁和阻塞 20 2.1 关于锁 20 2.2 锁和阻塞 22 2.3 引起阻塞的其他情况 30 2.3.1 select for update 30 2.3.2 外键和索引 36 第3章 latch和等待 44 3.1 共享池中的latch争用 45 .3.2 数据缓冲池latch争用 54 ...
查找阻塞进程sql的方法,查找阻塞进程sql的方法,减少死锁
只有那些长时间没有提交或回滚的事物,阻塞了其他业务正常操作,才是需要去定位处理的。 1. 单实例环境 实验环境:Oracle 10.2.0.5 单实例 会话1、模拟业务操作: SQL> select sid from v$mystat where...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
2 、rebuild 会阻塞 dml 操作 ,rebuild online 不会阻塞 dml 操作 ; 3 、rebuild online 时系统会产生一个 SYS_JOURNAL_xxx 的 IOT 类型的系统临时日志表 , 所有 rebuild online 时索引的变化都记录在这个表...