数据块的内容和参数

来源:互联网 发布:淘宝如何进行实名认证 编辑:程序博客网 时间:2024/05/19 20:00

Oracle数据块由三部分组成:
分别是:块头部分,数据区和空闲区。上面是数据块的块头,下面是数据部分,而中间是空闲区。头部从上往下增长。数据部分从下往上增长。当两部分接触时数据块就满了。

*数据区:数据区装的是数据行,该区位于数据块的底部。当插入数据行时该部分从下往上增长。

*数据块头:存有数据块的地址,表目录,行目录和事务槽。事务槽是在事务修改数据块中的数据行时使用的。头部从上往下增长。

*空闲区:位于数据块的中部。数据块中的空闲区最初时是连续的。但是删除或修改操作可能使数据块中的空闲区碎片化。在需要时Oracle服务器会进行合并空闲区的操作。

 为了更有效的管理和控制Oracle数据块的各个部分,Oracle引入了4个参数。

这4个数据块空间控制参数既可以用来控制数据段中的空间使用,也可以控制索引段中的空间。它们又被分为控制并行的参数和控制数据空间使用的参数两大类。

*控制并行操作的参数:这类参数包括initrans和maxtrans.
initrans:定义了创建数据块或索引块时事务槽的初始值。它被用来保证最低水平的并行操作。对数据段它的默认值为1,而对索引段它的默认值为2.如果该参数设置为8,那么Oracle服务器就能在任何时候保证在一个数据块中可以最多有8个并行的事务。

maxtrans:定义了创建数据块或索引块时事务槽的最大值。如果并行的事务很多,所需的事务槽的个数可能超过initrans所设定的初始值。Oracle会在块头中分配更多的事务槽。其数量的上限就是maxtrans所定的值。maxtrans的默认值为255.

提示:并行操作与数据块的空间利用率是相互矛盾的。如果将initrans和maxtrans设置的过大,这样虽然秉性操作改进了而且系统的效率也由所提高,但是由于数据块头的加大而使数据块中所存储的数据减少。因此,建议不要改变他们的默认值。

控制数据空间使用的参数:pctfree和pctused

Oracle管理数据块的方法:手动管理和自动的段空间管理。

 

整理自 何明《Oracle DBA基础培训教程》

原创粉丝点击