ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 1303|回复: 9

如何知道具体锁住了哪行? [复制链接]

注册会员

因为专注,所以专业

精华贴数
1
技术积分
2487
社区积分
5
注册时间
2004-10-5
论坛徽章:
10
授权会员
日期:2007-07-18 11:34:32ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-12-02 12:45:45生肖徽章2007版:龙
日期:2008-12-07 18:27:322009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:猪
日期:2009-02-18 12:56:472009日食纪念
日期:2009-07-22 09:30:00
发表于 2008-3-21 09:59:19 |显示全部楼层
SELECT s.SID, s.row_wait_block#, s.row_wait_row#, s.row_wait_file#
      ,s.row_wait_obj#
  FROM v$session s
WHERE s.SID IN (144, 59)

我只知道 59 在等待 144,那么,ROW_WAIT_BLOCK#  如何换算呢?

麻烦知道的告知一下。

[ 本帖最后由 goodhawk 于 2008-3-21 10:02 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
真,善,美
Oracle, Oracle ERP(Finance Module), Oracle Hyperion
blog: http://www.xiaobaicai.com
Tech:  http://www.appsboss.com

注册会员

秋风

精华贴数
1
技术积分
13604
社区积分
3805
注册时间
2004-5-8
论坛徽章:
24
生肖徽章2007版:龙
日期:2008-05-06 11:07:482012新春纪念徽章
日期:2012-01-04 11:49:54咸鸭蛋
日期:2011-10-19 10:09:12ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
发表于 2008-3-21 10:19:32 |显示全部楼层
oracle的锁没有那行的概念。

使用道具 举报

注册会员

ORA-88888

精华贴数
0
技术积分
1323
社区积分
47
注册时间
2005-6-3
论坛徽章:
4
生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:蛇
日期:2009-03-10 21:14:36生肖徽章2007版:鼠
日期:2009-03-10 21:19:05生肖徽章2007版:鼠
日期:2009-03-10 21:32:40
发表于 2008-3-21 10:24:25 |显示全部楼层
select sid,
         row_wait_obj# objn,
         row_wait_file# fn,
         row_wait_block# bn,
         row_wait_row# rn
   from v$session
   where row_wait_obj#=

select * from <OBJECT_NAME>
where rowid = dbms_rowid.rowid_create(1, <OBJN>, <FN>, <BN>, <RN>)
白云山高,珠江水长

使用道具 举报

精华贴数
8
技术积分
49197
社区积分
22305
注册时间
2001-10-15
论坛徽章:
184
蜘蛛蛋
日期:2012-02-03 17:20:24迷宫蛋
日期:2011-12-20 08:39:39茶鸡蛋
日期:2011-12-01 22:49:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41咸鸭蛋
日期:2012-01-06 16:55:17蜘蛛蛋
日期:2011-10-20 15:51:252012新春纪念徽章
日期:2012-01-04 11:49:54迷宫蛋
日期:2011-10-29 11:12:59复活蛋
日期:2011-12-14 09:37:30灰彻蛋
日期:2011-12-30 14:51:36ITPUB年度最佳版主
日期:2011-12-28 15:24:18紫蛋头
日期:2011-08-31 10:57:28
发表于 2008-3-21 10:39:35 |显示全部楼层
原帖由 foxmile 于 2008-3-21 10:19 发表
oracle的锁没有那行的概念。



怎么会没有行的概念,你 在两会话先后执行 select * from emp where empno=7369 for update
看看什么结果,再执行select * from emp where empno=7499 for update
再看看什么结果.

使用道具 举报

注册会员

一般会员

精华贴数
0
技术积分
1976
社区积分
29
注册时间
2005-4-29
论坛徽章:
8
授权会员
日期:2008-03-13 10:32:44生肖徽章2007版:鸡
日期:2008-04-03 18:55:51数据库板块每日发贴之星
日期:2008-04-21 01:01:582008北京奥运纪念徽章:拳击
日期:2008-06-14 10:29:37
发表于 2008-3-21 10:49:28 |显示全部楼层
原帖由 shooterchan 于 2008-3-21 10:24 发表
select sid,
         row_wait_obj# objn,
         row_wait_file# fn,
         row_wait_block# bn,
         row_wait_row# rn
   from v$session
   where row_wait_obj#=

select * from
where rowid = dbms_rowid.rowid_create(1, , , , )


对,就是这样换算出来rowid的,上次请教别人过一次:)对于rowid的结构可以参考OCP教材DBA I中Managing Tables那一章的内容

[ 本帖最后由 kdkd 于 2008-3-21 10:51 编辑 ]

使用道具 举报

精华贴数
8
技术积分
49197
社区积分
22305
注册时间
2001-10-15
论坛徽章:
184
蜘蛛蛋
日期:2012-02-03 17:20:24迷宫蛋
日期:2011-12-20 08:39:39茶鸡蛋
日期:2011-12-01 22:49:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41咸鸭蛋
日期:2012-01-06 16:55:17蜘蛛蛋
日期:2011-10-20 15:51:252012新春纪念徽章
日期:2012-01-04 11:49:54迷宫蛋
日期:2011-10-29 11:12:59复活蛋
日期:2011-12-14 09:37:30灰彻蛋
日期:2011-12-30 14:51:36ITPUB年度最佳版主
日期:2011-12-28 15:24:18紫蛋头
日期:2011-08-31 10:57:28
发表于 2008-3-21 10:50:38 |显示全部楼层
原帖由 goodhawk 于 2008-3-21 09:59 发表
SELECT s.SID, s.row_wait_block#, s.row_wait_row#, s.row_wait_file#
      ,s.row_wait_obj#
  FROM v$session s
WHERE s.SID IN (144, 59)

我只知道 59 在等待 144,那么,ROW_WAIT_BLOCK#  如何换算呢?

麻烦知道的告知一下。



在SESSION - A 执行

SCOTT@retail>select * from emp1 where empno=7654 for update;

     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30

Elapsed: 00:00:00.09

在SESSION -B 执行
SCOTT@retail>select * from emp1 where empno=7654 for update;
此时SESSION-B被堵塞.

回到SESSION-A查询,知道被堵的SESION -B 的SID=967
SCOTT@retail>select sid,taddr,machine,last_call_et,event,p1,p1raw,p2,p2raw,p3,p3raw
  2  from gv$session where status = 'ACTIVE' and username is not null order by last_call_et;

  SID TADDR            MACHINE              LAST_CALL_ET EVENT                                  P1 P1RAW                    
----- ---------------- -------------------- ------------ ------------------------------ ---------- ---------------- --------
  979 070000019B4D4768 DOMAIN\CIT-ZHANG-HF             0 SQL*Net message to client      1413697536 0000000054435000         
  975                  DOMAIN\S56                      6 db file scattered read                 27 000000000000001B     1115
  967 070000019B4D5008 DOMAIN\CIT-ZHANG-HF             8 enq: TX - row lock contention  1415053318 0000000054580006    35389
  986                  DOMAIN\S56                     12 db file sequential read                10 000000000000000A      206
  875                  DOMAIN\S56                     14 db file sequential read                 5 0000000000000005       60
1058 070000019AB8C908 IBM3                           23 wait for unread message on bro 5.0440E+17 070000019ECFF998 5.0440E+
                                                         adcast channel

  893                  DOMAIN\S56                    165 db file sequential read               169 00000000000000A9     4221

7 rows selected.

Elapsed: 00:00:00.28

967被堵的ROW
SCOTT@retail>select ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW#   from v$session where sid=967;

ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW#
------------- -------------- --------------- -------------
       169938             84              52             4

Elapsed: 00:00:00.09


根据FNO,BLOCK_ID,ROW_NUMBER 找出ROW.

SCOTT@retail>select * from emp1 where dbms_rowid.rowid_block_number(rowid)=52 and dbms_rowid.rowid_relative_fno(rowid)=84 and
  2  dbms_rowid.rowid_row_number(rowid)=4;

     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30

Elapsed: 00:00:00.26
SCOTT@retail>

使用道具 举报

注册会员

资深会员

精华贴数
0
技术积分
5826
社区积分
7
注册时间
2005-9-20
论坛徽章:
22
会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010广州亚运会纪念徽章:网球
日期:2010-12-15 10:26:25ITPUB季度 技术新星
日期:2011-01-17 11:30:462011新春纪念徽章
日期:2011-02-18 11:43:342010广州亚运会纪念徽章:排球
日期:2011-03-03 12:19:332010广州亚运会纪念徽章:篮球
日期:2011-03-10 14:25:06ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152010年世界杯参赛球队:法国
日期:2010-07-19 17:29:222010年世界杯参赛球队:巴拉圭
日期:2010-07-16 16:17:32
发表于 2008-3-21 10:53:52 |显示全部楼层
row_wait_obj# objn,
         row_wait_file# fn,
         row_wait_block# bn,
         row_wait_row# rn
就是一个rowid,
select * from table_name where rowid=(select dbms_rowid.rowid_create(1, ROW_WAIT_OBJ#, ROW_WAIT_FILE#, ROW_WAIT_BLOCK#, ROW_WAIT_ROW# ) from  v$session where sid =sid);

看了白鳝的书,决定整理笔记,希望能有所提高
联系方式:
qq:2330114
邮箱:nowhill@sina.com
msn:nowhill@sina.com

欢迎访问我的技术博客
http://blog.sina.com.cn/u/1319156717

使用道具 举报

注册会员

资深会员

精华贴数
0
技术积分
5826
社区积分
7
注册时间
2005-9-20
论坛徽章:
22
会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010广州亚运会纪念徽章:网球
日期:2010-12-15 10:26:25ITPUB季度 技术新星
日期:2011-01-17 11:30:462011新春纪念徽章
日期:2011-02-18 11:43:342010广州亚运会纪念徽章:排球
日期:2011-03-03 12:19:332010广州亚运会纪念徽章:篮球
日期:2011-03-10 14:25:06ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152010年世界杯参赛球队:法国
日期:2010-07-19 17:29:222010年世界杯参赛球队:巴拉圭
日期:2010-07-16 16:17:32
发表于 2008-3-21 10:54:57 |显示全部楼层
大家动作真快啊 ^_^

看了白鳝的书,决定整理笔记,希望能有所提高
联系方式:
qq:2330114
邮箱:nowhill@sina.com
msn:nowhill@sina.com

欢迎访问我的技术博客
http://blog.sina.com.cn/u/1319156717

使用道具 举报

注册会员

one people.a road!

精华贴数
0
技术积分
8252
社区积分
26351
注册时间
2007-11-13
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
发表于 2008-3-21 11:41:59 |显示全部楼层
收藏备用

使用道具 举报

注册会员

老会员

精华贴数
0
技术积分
1410
社区积分
24
注册时间
2002-1-15
论坛徽章:
5
2008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:兔
日期:2009-01-24 14:48:21
发表于 2008-3-21 13:42:29 |显示全部楼层
好东西,学习!
我问故我在.

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部