郭一军,网名guoyJoe,尖峰在线培训创始人、Oracle OCM、ITPUB论坛Oracle认证版版主、2013最佳精华贴、Senior DBA、Oracle OCT、 ACOUG MEMBER、CSDN 认证专家、RHCE、在线技术分享的倡导者和实践者。 http://www.jianfengedu.com http://jianfengedu.taobao.com
全部博文(72)
2014年(72)
分类: Oracle
2014-06-19 10:38:57
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/18458231
还是接着上一篇文章的实验:gdb调试之---当update时第一个持有的Latch是什么Latch锁?
http://blog.csdn.net/guoyjoe/article/details/18456937
1丶退出gdb
(gdb) q The program is running. Quit anyway (and detach it)? (y or n) y Detaching from program: /u01/app/oracle/product/11.2.0/bin/oracle, process 7376
[oracle@mydb ~]$ gdb $ORACLE_HOME/bin/oracle 7376 GNU gdb Fedora (6.8-27.el5) Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu"... (no debugging symbols found) Attaching to program: /u01/app/oracle/product/11.2.0/bin/oracle, process 7376 Reading symbols from /u01/app/oracle/product/11.2.0/lib/libodm11.so...(no debugging symbols found)...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libodm11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libcell11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libcell11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libskgxp11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libskgxp11.so Reading symbols from /lib64/librt.so.1...done. Loaded symbols for /lib64/librt.so.1 Reading symbols from /u01/app/oracle/product/11.2.0/lib/libnnz11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libnnz11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libclsra11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libclsra11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libdbcfg11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libdbcfg11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libhasgen11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libhasgen11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libskgxn2.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libskgxn2.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libocr11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libocr11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libocrb11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libocrb11.so Reading symbols from /u01/app/oracle/product/11.2.0/lib/libocrutl11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libocrutl11.so Reading symbols from /usr/lib64/libaio.so.1...done. Loaded symbols for /usr/lib64/libaio.so.1 Reading symbols from /lib64/libdl.so.2...done. Loaded symbols for /lib64/libdl.so.2 Reading symbols from /lib64/libm.so.6...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /lib64/libpthread.so.0...done. [Thread debugging using libthread_db enabled] [New Thread 0x2b0b8fef0910 (LWP 7376)] Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /lib64/libnsl.so.1...done. Loaded symbols for /lib64/libnsl.so.1 Reading symbols from /lib64/libc.so.6...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /usr/lib64/libnuma.so.1...done. Loaded symbols for /usr/lib64/libnuma.so.1 Reading symbols from /lib64/libnss_files.so.2...done. Loaded symbols for /lib64/libnss_files.so.2 Reading symbols from /u01/app/oracle/product/11.2.0/lib/libnque11.so...done. Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libnque11.so 0x0000003f0d40d290 in __read_nocancel () from /lib64/libpthread.so.0 (gdb)
gyj@OCM> commit;
(gdb) b kslwtbctx Breakpoint 1 at 0x8f9a5c2 (gdb) c Continuing. Breakpoint 1, 0x0000000008f9a5c2 in kslwtbctx () (gdb)
(gdb) info all-register rax 0x8f 143 rbx 0x1 1 rcx 0x11263 70243 rdx 0x11974 72052 rsi 0x2acf2e 2805550 rdi 0x7fff1c577028 140733668880424 rbp 0x7fff1c576ed0 0x7fff1c576ed0 rsp 0x7fff1c576ed0 0x7fff1c576ed0 r8 0x0 0 r9 0x7a59 31321 r10 0x9b0abcb8 2601172152 r11 0x0 0 r12 0x1 1 r13 0x0 0 r14 0xbb132a4 196162212 r15 0x1 1 rip 0x8f9a5c2 0x8f9a5c2eflags 0x246 [ PF ZF IF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 st0 0 (raw 0x00000000000000000000) ---Type to continue, or q to quit--- st1 0 (raw 0x00000000000000000000) st2 0 (raw 0x00000000000000000000) st3 0 (raw 0x00000000000000000000) st4 0 (raw 0x00000000000000000000) st5 0 (raw 0x00000000000000000000) st6 333296 (raw 0x4011a2be000000000000) st7 300384 (raw 0x401192ac000000000000) fctrl 0x27f 639 fstat 0x0 0 ftag 0xffff 65535 fiseg 0x0 0 fioff 0x9394e95 154750613 foseg 0x7fff 32767 fooff 0x1c573f50 475479888 fop 0x0 0 xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, v8_int16 = {0xfffe, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xfffffffe, 0xffffffff, 0xfffffffe, 0xffffffff}, v2_int64 = {0xfffffffffffffffe, 0xfffffffffffffffe}, uint128 = 0xfffffffffffffffefffffffffffffffe} ---Type to continue, or q to quit--- xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x32, 0xa3, 0xd7, 0x2, 0x0 }, v8_int16 = {0xa332, 0x2d7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x2d7a332, 0x0, 0x0, 0x0}, v2_int64 = {0x2d7a332, 0x0}, uint128 = 0x00000000000000000000000002d7a332} xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xda, 0x87, 0xd7, 0x2, 0x0 }, v8_int16 = {0x87da, 0x2d7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x2d787da, 0x0, 0x0, 0x0}, v2_int64 = {0x2d787da, 0x0}, uint128 = 0x00000000000000000000000002d787da} xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm9 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm10 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x18, 0xe, 0x73, 0x90, 0xb, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xe18, 0x9073, 0x2b0b, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x90730e18, 0x2b0b, 0x0, 0x0}, v2_int64 = {0x2b0b90730e18, 0x0}, uint128 = 0x000000000000000000002b0b90730e18} xmm13 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm14 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} ---Type to continue, or q to quit--- xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} mxcsr 0x1fa1 [ IE PE IM DM ZM OM UM PM ]
7丶利用第一个参数rdi=0x7fff1c577028,显示内存中32个字节。
(gdb) x/32 0x7fff1c577028 0x7fff1c577028: 0x00007a59 0x00000000 0x1c577110 0x00007fff 0x7fff1c577038: 0x01b5e250 0x00000000 0x00000000 0x00000000 0x7fff1c577048: 0x00000000 0x00000000 0x00000000 0x00000001 0x7fff1c577058: 0x00000000 0x00000000 0x00000000 0x00000000 0x7fff1c577068: 0x00000000 0x00000000 0x00000000 0x00000000 0x7fff1c577078: 0x00000000 0x00000000 0x00000001 0x00000000 0x7fff1c577088: 0x0a12110c 0x00000000 0x0000008f 0x00011974 0x7fff1c577098: 0x7fffffff 0x00000000 0x00011263 0x00000000 (gdb)
8丶找到等待事件的编号是0x0000008f,转化为十进制为143,即0x0000008f ===>143号
9丶找出commit的等待事件
sys@OCM> select name from v$event_name where event#=143; NAME ---------------------------------------------------------------- log file sync
10丶commit时的第一个等待事件就是log file sync。
QQ:252803295
技术交流QQ群:
DSI&Core Search Ⅰ 群:127149411(2000人技术群:未满)
DSI&Core Search Ⅱ 群:177089463(1000人技术群:未满)
DSI&Core Search Ⅲ 群:284596437(500人技术群:未满)
DSI&Core Search Ⅳ 群:192136702(500人技术群:未满)
DSI&Core Search Ⅴ 群:285030382(500人闲聊群:未满)
MAIL:dbathink@hotmail.com
BLOG: http://blog.csdn.net/guoyjoe
WEIBO:
ITPUB: http://www.itpub.net/space-uid-28460966.html
OCM:
ACONG: