91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle undo段頭的深度分析

發布時間:2020-08-11 14:44:22 來源:ITPUB博客 閱讀:169 作者:波仔strong 欄目:關系型數據庫
產生一個事物
update set num=00 where id=1

查看事物信息,可以發現事物用的是3號段
select xid,xidusn,xidslot,xidsqn,ubablk,ubafil from v$transaction;

XID                 XIDUSN    XIDSLOT       XIDSQN     UBABLK     UBAFIL
---------------- ---------- ---------- ---------- ---------- ----------
01001E0007050000      3        30            1287       1566          3

回滾段的段頭塊
select * from v$rollname;
   USN NAME
---------- ------------------------------
     0 SYSTEM
     1 _SYSSMU1_3780397527$
     2 _SYSSMU2_2232571081$
     3 _SYSSMU3_2097677531$
     4 _SYSSMU4_1152005954$
     5 _SYSSMU5_1527469038$
     6 _SYSSMU6_2443381498$
     7 _SYSSMU7_3286610060$
     8 _SYSSMU8_2012382730$
     9 _SYSSMU9_1424341975$
    10 _SYSSMU10_3550978943$

查看3號回滾段的段頭id 和塊號
select header_block,header_file from dba_segments where segment_name='_SYSSMU3_2097677531$';
HEADER_BLOCK HEADER_FILE
------------ -----------
     160           3

轉儲回滾段頭 查看當前會話的進程編號
alter system dump undo header '_SYSSMU3_2097677531$';

select spid from v$process where addr in (select paddr from v$session where sid=(select sid from v$mystat where rownum=1));

SPID
------------------------
38380
spid//server process ID 38380

查看trace的名稱
select * from v$diag_info where name='Default Trace File';
INST_ID NAME                                 VALUE
---------- ---------------------------------------------------------------- --------------------------------------------------------------------------------
     1 Default Trace File                            /u01/app/oracle/diag/rdbms/hyyk/hyyk/trace/hyyk_ora_38380.trc


查看trace的文件,接下來一塊一塊分析
less /u01/app/oracle/diag/rdbms/hyyk/hyyk/trace/hyyk_ora_38380.trc
第一部分
********************************************************************************
Undo Segment:  _SYSSMU3_2097677531$ (3)
********************************************************************************
  Extent Control Header
  -----------------------------------------------------------------
  Extent Header:: spare1: 0      spare2: 0      #extents: 4      #blocks: 271   
                  last map  0x00000000  #maps: 0      offset: 4080  
      Highwater::  0x00c00da8  ext#: 3      blk#: 40     ext size: 128   
  #blocks in seg. hdr's freelists: 0     
  #blocks below: 0     
  mapblk  0x00000000  offset: 3     
                   Unlocked
     Map Header:: next  0x00000000  #extents: 4    obj#: 0      flag: 0x40000000

#extents: 4  表示3號UNDO段有4個區
#blocks: 271   表示3號UNDO回滾段兩個區中有271個UNDO BLOCK可用。(如下下面的sql語句 8+8+128+128=272 為什么不是272個UNDO BLOCK塊呢,因為去掉一個UNDO段頭塊)
ext#: 3      表示這個事務發生在第2個區(從0開始)
blk#: 30       表示這個事務發生在第2個區的第30個塊上。
ext size: 128     表示第2個區上有128個UNDO BLOCK可用


通過dba_extents視圖查出一共有4個區,共271個塊
select extent_id,file_id,block_id,blocks,bytes from dba_extents where segment_name='_SYSSMU3_2097677531$';
EXTENT_ID    FILE_ID    BLOCK_ID     BLOCKS     BYTES
---------- ---------- ---------- ---------- ----------
     0                3         160                      8              65536
     1                3         344                      8               65536
     2                3        1024                  128              1048576
     3                3        3456                   128              1048576

通過dba_segments視圖查出UNDO段頭塊,即3號文件的160號塊是UNDO段頭塊  如上面的語句的第一行結果  0          3         160          8              65536
select header_file,header_block from dba_segments where segment_name='_SYSSMU3_2097677531$';

HEADER_FILE HEADER_BLOCK
----------- ------------
      3         160


第二部分
Extent Map
  -----------------------------------------------------------------
   0x00c00081  length: 7     
   0x00c00088  length: 8     
   0x00c00280  length: 128   
   0x00c00600  length: 128   
3號UNDO回滾段的區地圖一共有4個區:
   第一個區對應的是3號文件161號塊、162號塊、163號塊、164號塊、165號塊、166號塊、167號塊,共7個UNDO BLOCK
   第二個區對應的是3號文件344號塊、10號塊、11號塊、12號塊、13號塊、14號塊、15號塊,16號塊,共8個UNDO BLOCK
   第三個區對應的是3號文件1024號塊...
   第四個區對應的是3號文件3456號塊...

第三部分
Retention Table
  -----------------------------------------------------------
Extent Number:0  Commit Time: 1524377480
Extent Number:1  Commit Time: 1524377480
Extent Number:2  Commit Time: 1524384037
Extent Number:3  Commit Time: 1524384037
區的提交時間戳,是從1970年1月1號零晨開始的(以秒為單位記錄)

第四部分
  TRN CTL:: seq: 0x0197 chd: 0x0000 ctl: 0x0013 inc: 0x00000000 nfb: 0x0000
            mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)
            uba: 0x00c00da8.0197.2f scn: 0x0000.00201605

seq: 0x0197  表示此事務修改前的值所在的UNDOBLOCK塊被覆蓋了407次,與下面的uba:  uba: 0x00c00da8.0197.2f中的0197對應。
chd:0x0000  表示發生一個新的事務,此時會在下面的TRNTBL::(事務表)的index=0x0000槽中放入新事務信息,即事務表的鏈頭或叫入口。
ctl: 0x0013  表示事務表的鏈尾(實際上大家可以去TRN TBL::看index= 0x0013(0x013),它對應的SCN=0x0000.00201b8b是本事務表中最大的SCN,即此事務槽最后才會被覆蓋)

nfb: 0x0000  表示UNDO塊在空閑池的空閑塊數,0x0000表示池中沒有空閑UNDO塊了,即FREE BLOCKPOOL::沒空閑的塊了。

flg: 0x0001  表示該塊的用途,1=KTUUNDO HEADER(2=KTU UNDO BLOCK等等)

uba: 0x00c00da8.0197.2f  表示新事務的第一條UNDO記錄(由三部分組成undo塊的地址、UNDO塊被重用的次數、在UNDO塊的第幾條記錄)
    undo塊的地址:        0x00c00da8  即3號文件的160號塊
    UNDO塊被重用的次數:  0197       即UNDO塊被覆蓋了407次
    在UNDO塊的第幾條記錄  2f         即在UNDO塊的第36條
0x0000.00201605 表示3號UNDO段頭塊中最小的提交的SCN。實際上這個SCN就是事務表中最小的SCN所對應的事務槽上的SCN

第5部分
FREE BLOCK POOL::
    uba: 0x00000000.0197.2e ext: 0x3  spc: 0xc46   
    uba: 0x00000000.0197.02 ext: 0x3  spc: 0x1f06  
    uba: 0x00000000.0197.0b ext: 0x3  spc: 0x15c0  
    uba: 0x00000000.0091.38 ext: 0x10 spc: 0x546   
    uba: 0x00000000.0000.00 ext: 0x0  spc: 0x0    
UNDO塊的空閑池,當事務做了提交會把此事務所在的UNDO塊加入空閑池中。
uba:  由三部分組成undo塊的地址、UNDO塊被重用的次數、在UNDO塊的第幾條記錄,當undo塊的地址為0說明UNDO塊不是空閑的,即0x00000000
ext:   UNDO塊是在哪個區(extent)

spc:    UNDO塊中多少空閑空間,單位字節


第六部分  
TRN TBL::
  index  state cflags  wrap#    uel             scn                      dba            parent-xid                    nub                 stmt_num      cmt
  -------------------------------------------------------------------------------------------------------------------------------------------------
   0x00    9    0x00  0x05ba  0x0008  0x0000.00201611  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399079
   0x01    9    0x00  0x05ba  0x000a  0x0000.00201b14  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399864
   0x02    9    0x00  0x05b8  0x0001  0x0000.00201af3  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399845
   0x03    9    0x00  0x05b9  0x0018  0x0000.002016dc  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399201
   0x04    9    0x00  0x05bb  0x0009  0x0000.002018a8  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399442
   0x05    9    0x00  0x05ba  0x001e  0x0000.00201832  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399382
   0x06    9    0x00  0x05bc  0x0016  0x0000.00201879  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399409
   0x07    9    0x00  0x05ba  0x001c  0x0000.00201964  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399570
   0x08    9    0x00  0x05ba  0x0011  0x0000.0020161f  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399079
   0x09    9    0x00  0x05bb  0x000b  0x0000.002018e0  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399479
   0x0a    9    0x00  0x05bb  0x0013  0x0000.00201b39  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399875
   0x0b    9    0x00  0x05ba  0x001b  0x0000.00201914  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399510
   0x0c    9    0x00  0x05ba  0x001f  0x0000.0020177e  0x00c00da6  0x0000.000.00000000  0x00000001   0x00000000  1524399305
   0x0d    9    0x00  0x05bb  0x0006  0x0000.00201864  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399387
   0x0e    9    0x00  0x05ba  0x0003  0x0000.002016b7  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399173
   0x0f   10    0x80  0x05bc  0x0003  0x0000.00201b98  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  0
   0x10    9    0x00  0x05bc  0x0017  0x0000.00201731  0x00c00da6  0x0000.000.00000000  0x00000001   0x00000000  1524399262
   0x11    9    0x00  0x05b9  0x0021  0x0000.00201623  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399079
   0x12    9    0x00  0x05bb  0x0015  0x0000.00201a68  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399753
   0x13    9    0x00  0x05bb  0xffff  0x0000.00201b8b  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399936
   0x14    9    0x00  0x05b9  0x000e  0x0000.0020169c  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399143
   0x15    9    0x00  0x05ba  0x0002  0x0000.00201a9d  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399783
   0x16    9    0x00  0x05bb  0x0004  0x0000.0020188f  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399419
   0x17    9    0x00  0x05ba  0x000c  0x0000.00201750  0x00c00da6  0x0000.000.00000000  0x00000001   0x00000000  1524399266
   0x18    9    0x00  0x05b9  0x0010  0x0000.0020170e  0x00c00da6  0x0000.000.00000000  0x00000001   0x00000000  1524399235
   0x19    9    0x00  0x05ba  0x0012  0x0000.00201a39  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399722
   0x1a    9    0x00  0x05b9  0x0005  0x0000.0020182b  0x00c00da8  0x0000.000.00000000  0x00000002   0x00000000  1524399382
   0x1b    9    0x00  0x05ba  0x0007  0x0000.00201936  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399540
   0x1c    9    0x00  0x05ba  0x001d  0x0000.0020198a  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399600
   0x1d    9    0x00  0x05ba  0x0019  0x0000.00201a01  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399683
   0x1e    9    0x00  0x05bb  0x000d  0x0000.00201849  0x00c00da8  0x0000.000.00000000  0x00000001   0x00000000  1524399382
   0x1f    9    0x00  0x05bb  0x0020  0x0000.002017b2  0x00c00da6  0x0000.000.00000000  0x00000001   0x00000000  1524399327
   0x20    9    0x00  0x05ba  0x001a  0x0000.002017f8  0x00c00da6  0x0000.000.00000000  0x00000001   0x00000000  1524399378
   0x21    9    0x00  0x05b9  0x0014  0x0000.0020162f  0x00c00da5  0x0000.000.00000000  0x00000001   0x00000000  1524399081

TRN TBL::(事務表)是UNDO段頭塊最重要的。我們一一來解釋每個字段的意思:
index 表示事務表中槽號,只是一個序列而已,從0x00開始到0x21結束,11g的版本有34個槽。
state 表示事務狀態:9代表事務不活動,10代表事務正在活動,從這里我們看出16進制第0x17號槽上的事務正在活動。大家有沒有發現,我們在發生事務前,Oracle會找事務控制列表中的chd=0x0017,說白了就是重從index=0x17的槽,存放當前最新的事務:
  注:下面的事務控制,是我在發生事務前(即做update gyj_test set name='GGGGG' where id=1;前所DUMP的事務控制)
   TRN CTL:: seq: 0x000d chd: 0x0017 ctl: 0x000b inc: 0x00000000 nfb:0x0001
           mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)
           uba: 0x0280000a.000d.2b scn: 0x0000.0028a26a
cflags 表示正在使用穿上事務槽的事務的狀態:0x00表示非活動事務、0x80表示活動事務、0x10表示死事務、0x90表示被回滾的死事務
     平時我們看到的最多就是0x00表示非活動事務、0x80表示活動事務,后面的很少發生。
wrap# 表示事務表上的事務槽被重用的次數,它是XID的一部分。0x001d表示此時事務槽被重用了29次。
uel   表示當前活動事務所在事務槽的下一個事務槽的指針(即如果又發生一個新的事務,此時就會用到UEL指向的事務槽上的index)。
oracle undo段頭的深度分析

scn   表示務事啟動、提交、回滾的SCN.
dba   表示uba:第一部分的undo塊地址,這個DBA是(rollback)回滾的起始點,也就是說是記錄事務修改的最后一條記錄所在UNDO塊的地址。
nub   表示當前事務所用到的UNDO塊的個數。
cmt   表示最接近當前的提交時間戳,是從1970年1月1號零晨開始的(以秒為單位記錄)。0表示事務正在活動。







向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永定县| 闽清县| 化州市| 陇南市| 巴中市| 章丘市| 大厂| 津南区| 贡觉县| 桦南县| 增城市| 兰州市| 台山市| 南丹县| 城口县| 墨脱县| 龙胜| 舒兰市| 彭水| 独山县| 奉节县| 平原县| 法库县| 天镇县| 云南省| 东乡县| 迁安市| 澎湖县| 临夏县| 永修县| 临洮县| 岳西县| 鲁甸县| 辉南县| 荣成市| 尼勒克县| 肥城市| 盐源县| 榆社县| 大渡口区| 洪洞县|