[20130904]等待事件wait for a undo record模拟.txt

简介: [20130904]等待事件wait for a undo record模拟.txt模拟等待事件wait for a undo record。1.测试环境:SCOTT@test> @verBANNER------------------------...
[20130904]等待事件wait for a undo record模拟.txt

模拟等待事件wait for a undo record。

1.测试环境:
SCOTT@test> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

create table t as select rownum id ,lpad('a',400,'a') name from dual connect by levelinsert into t select * from t;
....
commit ;

最后记录大小640000,占用304M.

2.修改记录:
--回话1:
SCOTT@test> select spid from v$process where addr in (select paddr from v$session where sid in (select sid from v$mystat where rownum=1));
SPID
------
12223

update t set name=lpad('b',400,'b') ;


--等待结束后,打开另外的shell,kill掉spid=12223.另外我的测试如果执行正常rollback,不会出现wait for a undo record的等待事件。

kill -9 12223

select  * from V$FAST_START_TRANSACTIONS;
USN  SLT    SEQ STATE       UNDOBLOCKSDONE UNDOBLOCKSTOTAL   PID    CPUTIME  PARENTUSN  PARENTSLT  PARENTSEQ XID              PXID             RCVSERVERS
--- ---- ------ ----------- -------------- --------------- ----- ---------- ---------- ---------- ---------- ---------------- ---------------- ----------
  7   27  12113 RECOVERING           15655           43019    34         25          0          0          0 07001B00512F0000 0000000000000000          1

select  * from V$FAST_START_TRANSACTIONS;
USN  SLT    SEQ STATE       UNDOBLOCKSDONE UNDOBLOCKSTOTAL   PID    CPUTIME  PARENTUSN  PARENTSLT  PARENTSEQ XID              PXID             RCVSERVERS
--- ---- ------ ----------- -------------- --------------- ----- ---------- ---------- ---------- ---------- ---------------- ---------------- ----------
  7   27  12113 RECOVERING           25106           43019    34         50          0          0          0 07001B00512F0000 0000000000000000          8

--CPUTIME逐步在增加。

SCOTT@test> select event,sid,serial#,program from v$session where wait_class'Idle';
EVENT                                           SID    SERIAL# PROGRAM
---------------------------------------- ---------- ---------- --------------------------
log file switch (checkpoint incomplete)          15          5 oracle@xxxxx (P002)
log file switch (checkpoint incomplete)          16         11 oracle@xxxxx (P006)
wait for stopper event to be increased           66          1 oracle@xxxxx (SMON)
log file switch (checkpoint incomplete)          72        335 oracle@xxxxx (P007)
log file switch (checkpoint incomplete)          73         67 oracle@xxxxx (P003)
db file async I/O submit                        127          1 oracle@xxxxx (DBW0)
log file switch (checkpoint incomplete)         135        139 oracle@xxxxx (P004)
wait for a undo record                          136         83 oracle@xxxxx (P000)
SQL*Net message to client                       199        697 sqlplus@xxxxx (TNS V1-V3)
log file switch (checkpoint incomplete)         200        641 oracle@xxxxx (P001)
buffer busy waits                               202         37 oracle@xxxxx (P005)

11 rows selected.

SCOTT@test> select event,sid,serial#,program from v$session where wait_class'Idle';
EVENT                                           SID    SERIAL# PROGRAM
---------------------------------------- ---------- ---------- --------------------------
wait for stopper event to be increased           66          1 oracle@xxxxx (SMON)
db file async I/O submit                        127          1 oracle@xxxxx (DBW0)
wait for a undo record                          136         83 oracle@xxxxx (P000)
log file parallel write                         189          1 oracle@xxxxx (LGWR)
SQL*Net message to client                       199        697 sqlplus@xxxxx (TNS V1-V3)

--可以发现出现wait for a undo record等待事件。

SQL> select  * from V$FAST_START_TRANSACTIONS;
USN  SLT    SEQ STATE     UNDOBLOCKSDONE UNDOBLOCKSTOTAL   PID    CPUTIME  PARENTUSN  PARENTSLT  PARENTSEQ XID              PXID RCVSERVERS
--- ---- ------ --------- -------------- --------------- ----- ---------- ---------- ---------- ---------- ---------------- ---- ----------
  7   27  12113 RECOVERED          43019           43019              149                                  07001B00512F0000               8


--从xid反推看看。
select distinct sql_id from V$ACTIVE_SESSION_HISTORY where xid=hextoraw('07001B00512F0000');
SQL_ID
-------------
b9y957hayvgkm

select sql_id,sql_text from v$sql where sql_id='b9y957hayvgkm' ;
SQL_ID        SQL_TEXT
------------- ------------------------------------------------------------
b9y957hayvgkm update t set name=lpad('b',400,'b')

--正好对上!
目录
相关文章
|
12月前
|
缓存 Oracle 关系型数据库
Oracle中控制commit的三个参数 commit_write, commit_logging和 commit_wait
Oracle中控制commit的动作有三个参数 commit_write, commit_logging和 commit_wait,按重要性分别说明如下
142 0
|
12月前
|
Oracle 前端开发 关系型数据库
log file sync 和 log file parallel write等待事件的区别和联系
log file parallel write 和log file sync这两个等待事件关系密切,很多人对这两个等待事件有一些误解,我们先来看看Oracle官方文档的解释:
|
Oracle 关系型数据库
impdp导入卡住,等待事件wait for unread message on broadcast channel
impdp导入卡住,等待事件wait for unread message on broadcast channel
1971 0
|
存储 缓存 数据处理
完全揭秘log file sync等待事件
什么是log file sync等待事件呢?在一个提交(commit)十分频繁的数据库中,一般会出现log file sync等待事件,当这个等待事件出现在top5中,这个时侯我们需要针对log file sync等待事件进行优化,一定要尽快分析并解决问题,否则当log file sync等待时间从几毫秒直接到20几毫秒可能导致系统性能急剧下降,甚至会导致短暂的挂起。
完全揭秘log file sync等待事件
|
SQL Oracle NoSQL
gdb调试之--read by other session 等待事件的重现
发生read by other session 等待事件,肯定是两个会话同时物理读同一个数据块,假设有两个会话,会话1发生物理读,会话2正要去物理读发现会话1正在物读理产生,此时会话2发生等待,此等待就是read by other session 等待事件。
|
NoSQL 关系型数据库 MySQL
如何查找到底是谁执行了FTWL导致Waiting for global read lock
在MySQL · 特性分析 · 到底是谁执行了FTWL中 文章中,分析了为何出现大量Waiting for global read lock的连接。但是实际操作起来很多gdb版本不支持pset操作,而且连接过多,导致不可能手动打印每一个THD的state,所以笔者写了一个gdb的脚本供大家使用: 首先,先保存下面脚本到/tmp/getlockconn MySQL8.
2545 0
|
SQL NoSQL Oracle
[20180305]手工模拟buffer busy wait.txt
[20180305]手工模拟buffer busy wait.txt --//一般出现buffer busy wait原因,主要是对热块,大量dml操作. --//一种提法:oracle读不会阻塞写,写不会阻塞读,实际上写一定程度会阻塞读,只不过时间很短罢了.
1108 0
|
测试技术
[20171123]Skip Locked and ITL slot 2.txt
[20171123]Skip Locked and ITL slot 2.txt --//昨天看链接提到Skip Locked and ITL slot相关问题,链接 http://jonathanlewis.
1073 0