28.In addition to all the regular Oracle features, Real Application Clusters exploits the
redundancy provided by clustering to deliver availability with n-1 node failures in
an n-node cluster. In other words, all users have access to all data as long as there is
one available node in the cluster.
(除了拥有ORACLE一般的特性外,RAC还有一些特殊的地方)
29.Data Blocks, Extents, and Segments
A segment and all its extents are stored in one tablespace.Within a tablespace, a
segment can include extents from more than one file; that is, the segment can span
datafiles. However, each extent can contain data from only one datafile.
(段及它所有的分区都存储在一个表空间中,在一个表空间中,一个段可来自多个数据文件;也就是
说段可跨越数据文件。但是,每个分区包含的数据只能来自一个数据文件)
Although you can allocate additional extents, the blocks themselves are allocated
separately. If you allocate an extent to a specific instance, the blocks are immediately
allocated to the free list. However, if the extent is not allocated to a specific instance,
then the blocks themselves are allocated only when the high water mark moves.
(虽然能指派额外分区,如果指派一个分区到一个明确的例程,那么这个分区的数据块会立即被指派到自由列表
。可是如果分区不指派到确切的例程,那么数据块仅当高水位线移动时才会被指派)
The high water mark is the boundary between used and unused space in a segment
(高水位标记是段中使用的空间与空闲空间的分界标志)
Data Block Format
1)Header (Common and Variable)
The header contains general block information, such as the block address and the
type of segment (for example, data or index).
(数据块头包括一般的数据块信息,块地址、段类型)
2)Table Directory
This portion of the data block contains information about the table having rows in
this block.
(表目录包含在该块中的有关表所有的行的一些信息)
3)Row Directory
This portion of the data block contains information about the actual rows in the
block (including addresses for each row piece in the row data area).
(行目录:包括实际的行信息)
After the space has been allocated in the row directory of a data block’s overhead,
this space is not reclaimed when the row is deleted. Therefore, a block that is
currently empty but had up to 50 rows at one time continues to’ have 100 bytes
allocated in the header for the row directory. Oracle reuses this space only when
new rows are inserted in the block.
(对于上面这段的理解biti有很好的解释:在块头有一个用来存放行的偏移量的信息的空间,注意:
这个空间,即使row被删除了也不会释放。 只有新插入的row 的偏移量信息可以重用这个空间,
这个空间不能用来被存放用户的数据)
4)Overhead
The data block header, table directory, and row directory are referred to collectively
as overhead. Some block overhead is fixed in size; the total block overhead size is
variable. On average, the fixed and variable portions of data block overhead total 84
to 107 bytes.
(The data block header, table directory, and row directory三者“结合”就是overhead,
一些数据块的overhead是固定尺寸的;总的块overhead尺寸是可变的。平均下来,
固定的和可变的数据块overhead的总大小在84字节到107字节。)
5)free space
In data blocks allocated for the data segment of a table or cluster, or for the index
segment of an index, free space can also hold transaction entries. A transaction
entry is required in a block for each INSERT, UPDATE, DELETE, and SELECT...FOR
UPDATE statement accessing one or more rows in the block. The space required for
transaction entries is operating system dependent; however, transaction entries in
most operating systems require approximately 23 bytes.
(free space也能够支持transaction entries。在数据块中每个insert,update,delete,select for update
语句访问一条或多条记录时transaction entries都有记录,分配的free space依赖于操作系统,在大多数操作系统上,
大约需要23bytes。)
阅读(3634) | 评论(0) | 转发(0) |