甲骨文事务流程有哪些

  

甲骨文事务流程有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

事务表:
事务表存放在撤销段头部(undo段头块),每一个撤销段最多可以存放47个事务。
事务表按行存放事务记录,每行一个事务记录。
事务开始后,服务进程分配一个XID,将事务信息(XID非洲联合银行)存放在撤销的段头块。

甲骨文尽量一个事务使用一个回滚段,如果事务太多,会出现回滚段重用,多个事务使用同一个回滚段。并且Oracle会均匀的将事务分配在回滚段中。

查看当前事务信息

 select  XID, xidusn, xidslot, xidsqn, ubablk, ubafil 得到v $ transaction ;
  XID  XIDUSN  XIDSLOT  XIDSQN  UBABLK  UBAFIL
  06001 c004b040000  6, 28, 1099, 711, 
<>之前查看所有回滚段。   SYS@prod> Select  *,得到v $ rollname;   ,0系统   ,1 _SYSSMU1_3724004606美元   ,2 _SYSSMU2_2996391332美元   ,3 _SYSSMU3_1723003836美元   ,4 _SYSSMU4_1254879796美元   ,5美元_SYSSMU5_898567397   ,6 _SYSSMU6_1263032392美元   ,7 _SYSSMU7_2070203016美元   ,8 _SYSSMU8_517538920美元   ,9 _SYSSMU9_1650507775美元   10,_SYSSMU10_1197734989 $ <>之前从事务信息中可以看的出,当前事务使用的是6号撤销段。   找到6号撤销段的段头块的位置:   SYS@prod> select  header_file header_block 得到dba_segments  where  segment_name =,“美元_SYSSMU6_1263032392”;   HEADER_FILE  HEADER_BLOCK   3,,,,,,,,,,,208
 3号文件208块就为撤销段的段头块。
  可以将其转储查看事务表:
  Alter  system  dump  datafile  3, block  208年
  select  dbms_rowid.rowid_relative_fno (rowid)、dbms_rowid.rowid_block_number (rowid),块,id
  得到t1
  DBMS_ROWID.ROWID_RELATIVE_FNO (ROWID), BLOCK  ID
  ,,,,,,,,,,,,,,1,,,,,,91041,,,,,,5
  ,,,,,,,,,,,,,,1,,,,,,91041,,,,,,5
  ,,,,,,,,,,,,,,1,,,,,,91041,,,,,,5
  查看行数据所在数据块的位置进而转储查看数据块结构。

事务槽ITL:
事务槽存放在数据块的头部,事务修改一个数据块,需要在事务槽中记录事务信息。

XID既是编号又是地址。
1。使用了哪个回滚段的段头块
2。段头块使用了哪行来记录事务。
3。第几次覆盖。(第几次循环使用)。

先简单叙述一下事务的流程:

 1。开始一个事务,首先甲骨文给这个事务分配XID,并找到一个回滚段,在回滚段头块将事务信息存放在事务表中,并给这个事务分配撤销块,并将撤销块的地址也写入事务表中(非洲联合银行地址),。
  2 .事务准备修改一个数据块,在该数据块的头部的事务槽中写入事务信息(XID ,非洲联合银行(这个非洲联合银行指向相对应的撤销块))。
  3.null

甲骨文事务流程有哪些