淘宝商品的id在哪里看(淘宝宝贝的id在哪查看) | 大商梦-尊龙凯时官网

实验如下:

三个会话,分别为s141 s18 及单独会话系统状态的窗口。实验对象为tx_eg。两个会话更新表的第三行(num=3),我们通过相关视图进行,能否找出对应的行?

sid141执行如下

luqx@oradb>select distinct(sid) from v$mystat;
sid
----------
141
luqx@oradb>select * from tx_eg;
num txt sex
---------- ---------- ----------
1 garbage female
2 second male
3 third male
4 garbage male
5 fifth male
luqx@oradb>update tx_eg set txt='thirdsd' where num=3;
1 row updated.

sid18执行如下

luqx@oradb>select distinct(sid) from v$mystat;
sid
----------
18
luqx@oradb>update tx_eg set txt='thirdsd' where num=3;

单独窗口执行状态查看 查看当前锁的状态目前持有锁的会话为141(lmode=6)

sys@oradb> select sid,type,id1,id2,lmode,request,ctime,block from v$lock where block >0;
sid ty id1 id2 lmode request ctime block
---------- -- ---------- ---------- ---------- ---------- ---------- ----------
141 tx 196638 1774 6 0 110 1

2、查看141阻塞的会话及对应的block信息

select sid,row_wait_obj#, row_wait_file#, row_wait_block#, row_wait_row# from v$session where blocking_session=&blocking_session;
sid row_wait_obj# row_wait_file# row_wait_block# row_wait_row#
---------- ------------- -------------- --------------- -------------
18 91604 6 435 2
details of blocked session
sid of blocked session: 18
object_id: 91604    对象名称
file #: 6    所再数据文件编号
block #: 435  	
row_wait_row#---被锁定行的rownum,但是准确的说是对应的于rowid的rownum,并非是单纯的rownum。下面再详细的说。
row_wait_obj#---row_wait_row#对应的rowid所在的表的object id。
row_wait_file#-- row_wait_row#对应的rowid所在的数据文件id
row_wait_block#--row_wait_row#对应的rowid所在的block的id

3、进一步确认行内容

查看对象信息通过object_id

column owner format a20
column object_name format a40
select owner,object_name from dba_objects where object_id=&object_id ;
淘宝商品的id在哪里看(淘宝宝贝的id在哪查看)

通过wait_file#查看对象存在的文件信息

select rfile#, file# , name from v$datafile where file# = &file_number;
淘宝商品的id在哪里看(淘宝宝贝的id在哪查看)

通过关联查询查看sid141的会话对应的行rowid

 column  object_name format a30
 select do.object_name ,
       s.row_wait_obj#  ,
       s.row_wait_file# ,
       s.row_wait_block#,
       s.row_wait_row#  ,
       dbms_rowid.rowid_create ( 1, data_object_id, rfile#, row_wait_block#, row_wait_row# )
from   v$session s,
       dba_objects do,
       v$datafile v
where  s.blocking_session = &blocking_session                            
and    s.row_wait_obj# = do.object_id
and    s.row_wait_file# = v.file#;    输入141会话的sid
红色为对应的rowid
淘宝商品的id在哪里看(淘宝宝贝的id在哪查看)

通过rowid查看row信息,num=3

sys@oradb>select * from luqx.tx_eg where rowid='aaawxuaagaaaagzaac';
num txt sex
---------- ---------- ----------
3 third male
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.dasum.com/44010.html
网站地图