[20230601]V$SESSION.row_wait_obj#字段.txt --//如果出现行锁,V$SESSION.row_wait_obj#记录的是object_id,而不是data_object_id. --//通过一个例子验证,加强自己的记忆。 1.环境: SCOTT@test01p> @ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 SCOTT@test01p> create table dept1 as select * from dept ; Table created. SCOTT@test01p> @ o2 dept1 owner object_name object_type SUBOBJECT_NAME status OID D_OID CREATED LAST_DDL_TIME ----- ----------- ----------- -------------- --------- ---------- ---------- ------------------- ------------------- SCOTT DEPT1 TABLE VALID 30033 30033 2023-06-01 21:52:21 2023-06-01 21:50:26 --//正常建立的表object_id=data_object_id,如果truncate或者move后,data_object_id会发生变化。 SCOTT@test01p> alter table dept1 move online; Table altered. SCOTT@test01p> @ o2 dept1 owner object_name object_type SUBOBJECT_NAME status OID D_OID CREATED LAST_DDL_TIME ----- ----------- ----------- -------------- --------- ---------- ---------- ------------------- ------------------- SCOTT DEPT1 TABLE VALID 30033 30034 2023-06-01 21:52:21 2023-06-01 21:55:16 2.测试: --//session 1: SCOTT@test01p> @ spid SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50 ---- ---------- --------- --------- ---- ---- ---------- -------------------------------------------------- 252 65058 6304:1124 DEDICATED 6048 27 7 alter system kill session '252,65058' immediate; SCOTT@test01p> select * from dept1 where deptno=20 for update; DEPTNO DNAME LOC ---------- -------------------- ------------- 20 RESEARCH DALLAS --//session 2: SCOTT@test01p> @ spid SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50 ---- ---------- --------- --------- ---- --- ---------- -------------------------------------------------- 105 48994 1564:5860 DEDICATED 8860 41 42 alter system kill session '105,48994' immediate; SCOTT@test01p> select * from dept1 where deptno=20 for update; --//挂起!! 3.使用ashtop观察: SYS@test> @wcx &1min -- Display ASH Wait Chain Signatures script v0.7 by Tanel Poder ( http://blog.tanelpoder.com ) %This SECONDS AAS WAIT_CHAIN FIRST_SEEN LAST_SEEN ------ ---------- ---------- -------------------------------------------------------------------------------------------------------- ------------------- ------------------- 44% 38 .6 -> 252,65058,@1=>105,48994,@1=>enq: TX - row lock contention -> [idle blocker 1,252,65058 (sqlplus.exe)] 2023-06-01 21:59:37 2023-06-01 22:00:14 10% 9 .2 -> ,,@=>180,51168,@1=>db file sequential read 2023-06-01 22:00:04 2023-06-01 22:00:13 8% 7 .1 -> ,,@=>257,9548,@1=> 2023-06-01 22:00:06 2023-06-01 22:00:14 ... 19 rows selected. SYS@test> @ashtop SESSION_ID,SESSION_SERIAL#,CURRENT_OBJ#,CURRENT_FILE#,CURRENT_BLOCK#,CURRENT_ROW# "event='enq: TX - row lock contention'" &1min Total Distinct Distinct Seconds AAS %This SESSION_ID SESSION_SERIAL# CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK# CURRENT_ROW# FIRST_SEEN LAST_SEEN Execs Seen Tstamps --------- ------- ------- ---------- --------------- ------------ ------------- -------------- ------------ ------------------- ------------------- ---------- -------- 60 1.0 100% | 105 48994 30033 11 315 1 2023-06-01 22:13:38 2023-06-01 22:14:37 1 60 --//当前记录的CURRENT_OBJ=30033,对应object_id.我这里查询v$active_session_history,实际上对应V$SESSION.row_wait_obj#. SCOTT@test01p> select data_object_id from dba_objects where object_id=30033; DATA_OBJECT_ID -------------- 30034 SCOTT@test01p> select dbms_rowid.rowid_create(1,30034,11,315,1) from dual ; DBMS_ROWID.ROWID_C ------------------ AAAHVSAALAAAAE7AAB SCOTT@test01p> @ashtop "SESSION_ID,SESSION_SERIAL#,dbms_rowid.rowid_create(1,(select data_object_id from dba_objects where object_id=CURRENT_OBJ#),CURRENT_FILE#,CURRENT_BLOCK#,CURRENT_ROW#) " "event='enq: TX - row lock contention'" &1min SESSION_ID,SESSION_SERIAL#,dbms_rowid.rowid_create(1,(select data_object_id from dba_objects where object_id=CURRENT_OBJ#),CURRENT_FILE#,CURRENT_BLOCK#,CURRENT_ROW#) * ERROR at line 78: ORA-22818: subquery expressions not allowed here SCOTT@test01p> @ashtop "SESSION_ID,SESSION_SERIAL#,dbms_rowid.rowid_create(1,30034,CURRENT_FILE#,CURRENT_BLOCK#,CURRENT_ROW#) " "event='enq: TX - row lock contention'" &1min Total Distinct Distinct Seconds AAS %This SESSION_ID SESSION_SERIAL# DBMS_ROWID.ROWID_C FIRST_SEEN LAST_SEEN Execs Seen Tstamps --------- ------- ------- ---------- --------------- ------------------ ------------------- ------------------- ---------- -------- 60 1.0 100% | 182 5689 AAAHVSAALAAAAE7AAB 2023-06-02 21:23:28 2023-06-02 21:24:27 1 60 --//另外CURRENT_FILE#记录的绝对文件号,许多情况下等于相对文件号.
[20230601]V$SESSION.row_wait_obj#字段.txt
来源:这里教程网
时间:2026-03-03 18:50:22
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 视频压缩存储可以对银行有哪些帮助?
视频压缩存储可以对银行有哪些帮助?
26-03-03 - 视频轻量化可以对各行业带来哪些好处
视频轻量化可以对各行业带来哪些好处
26-03-03 - AI大模型:玩家们的新擂台
AI大模型:玩家们的新擂台
26-03-03 - 谋划高质量增长,拼多多打破电商平台传统路径依赖
谋划高质量增长,拼多多打破电商平台传统路径依赖
26-03-03 - 知乎新财报,商业化难题有解了?
知乎新财报,商业化难题有解了?
26-03-03 - OPPO造芯折戟,V荣米开启“芯”征程
OPPO造芯折戟,V荣米开启“芯”征程
26-03-03 - 说明书Tektronix MSO44信号示波器200MHz
说明书Tektronix MSO44信号示波器200MHz
26-03-03 - 文心领航走进大模型时代,从Q1财报看百度价值重估机遇
文心领航走进大模型时代,从Q1财报看百度价值重估机遇
26-03-03 - 说明书Tektronix泰克MSO32示波器
说明书Tektronix泰克MSO32示波器
26-03-03 - 从逸仙电商Q1财报,看见“三步走”的力量
从逸仙电商Q1财报,看见“三步走”的力量
26-03-03
