2008年(239)
分类: Oracle
2008-06-17 23:54:15
ORACLE数据库的物理和逻辑结构,和我们前面讲到的数据库结构相同。
1. 表空间
在ORACLE系统中,根据空间的分配和回收管理方式,可以创建两种表空间:
(1)字典管理表空间(directory managed table space)
(2)本地管理表空间(locally managed table space)
字典管理表空间依赖数据字典表来跟踪空间的使用情况,扩充的分配和回收都要修改数据字典表。在Oracle8i之前,所有表空间的空间管理都采用字典管理方式。表空间的字典管理方式,增加了系统对数据字典表的访问竞争。因此在Oracle8i之后,ORACLE公司已经不建议用户使用字典管理方式。
对本地管理表空间,其每一个数据文件的头部都有一个BITMAP,BITMAP中的每一位都对应这个数据文件的一个或者一组数据块。当分配或者回收扩充时,ORACLE系统都要修改这些BITMAP,以反映这些数据块的状态。本地管理表空间具有更好的性能、更容易管理。
2. 扩充
在ORACLE系统中,扩充的大小是基于单个的表、索引来设定的。在创建表、索引时,可以设定该数据库对象的扩充大小,可以指定其起始扩充大小以及随后进行分配的扩充大小。如果不指定扩充大小,则该数据库对象使用缺省设置。系统缺省的扩充大小为8个逻辑页。
对扩充的分配、回收管理,由表空间的空间管理特性决定。
3. 逻辑页
在ORACLE系统中,不同的表空间可以使用不同的页尺寸。在创建表空间时,如果指定页尺寸,则存储在该表空间中的所有数据库对象都使用此页尺寸进行读写。如果没有指定,则使用系统缺省设置。
要使用不同的页尺寸,需要在系统中建立多个不同页尺寸的数据缓冲区,作为处理相应数据库对象中数据的内存空间。下列配置参数,用来设置不同页尺寸下的数据缓冲区:
DB_nK_CACHE_SIZE:设定具有nK页尺寸的数据缓冲区的大小。其中n可以为2、4、8、16、32。