OCP-1Z0-052-V8.02-27题

27. Which two statements are true regarding transactions in an Oracle database? (Choose two.)

A.Multiple transactions can use the same undo segment.

B.A transaction is assigned an undo segment when it is started.

C.More than one transaction cannot share the same extent in the undo tablespace.

D.The transactions use system undo segment to store undo data if all the segments in the undo

tablespace are used.

Answer: AB

 

答案解析:

参考:http://blog.csdn.net/rlhua/article/details/12259555

 

• 每个事务处理只分配给一个还原段。
• 一个还原段可以同时服务多个事务处理。
 
事务处理开始时就会分配还原段。在事务处理的整个过程中,更改数据时,原始(更改之前)值会被复制到还原段。通过选中V$TRANSACTION动态性能视图,可以查看哪些事务处理被分配到哪些还原段。
还原段是为了支持事务处理,由实例自动创建的专用段。像所有段一样,还原段由区组成,区又由数据块组成。还原段根据需要可自动增长和收缩,它充当所分配的事务处理的循环存储缓冲区。
事务处理会填充其还原段中的区,直至完成了事务处理或占用了所有空间为止。
如果填充完区之后还需要更多的空间,事务处理则获取段中下一个区的空间。占用了所有区之后,事务处理会自动转回到第一个区或请求为还原段分配新区。
注:并行DML 和DDL 操作实际上可导致事务处理使用多个还原段。
 
A答案:多个事务可以共享同一个undo段
B答案:事务处理开始时就会分配还原段。
C答案:多个事务可以共享同一个undo段,段包括区,即也可以共享同一个区。
D答案:在undo表空间所有的段都填满后,事务处理会自动转回到第一个区或请求为还原段分配新区。如果不能分配新区,则有可能覆盖原来的undo数据,或者报错。
原文地址:https://www.cnblogs.com/hzcya1995/p/13317111.html