Chinaunix首页 | 论坛 | 博客
  • 博客访问: 443996
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

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公司已经不建议用户使用字典管理方式。

对本地管理表空间,其每一个数据文件的头部都有一个BITMAPBITMAP中的每一位都对应这个数据文件的一个或者一组数据块。当分配或者回收扩充时,ORACLE系统都要修改这些BITMAP,以反映这些数据块的状态。本地管理表空间具有更好的性能、更容易管理。

 

2. 扩充

 

ORACLE系统中,扩充的大小是基于单个的表、索引来设定的。在创建表、索引时,可以设定该数据库对象的扩充大小,可以指定其起始扩充大小以及随后进行分配的扩充大小。如果不指定扩充大小,则该数据库对象使用缺省设置。系统缺省的扩充大小为8个逻辑页。

对扩充的分配、回收管理,由表空间的空间管理特性决定。

 

3. 逻辑页

 

ORACLE系统中,不同的表空间可以使用不同的页尺寸。在创建表空间时,如果指定页尺寸,则存储在该表空间中的所有数据库对象都使用此页尺寸进行读写。如果没有指定,则使用系统缺省设置。

要使用不同的页尺寸,需要在系统中建立多个不同页尺寸的数据缓冲区,作为处理相应数据库对象中数据的内存空间。下列配置参数,用来设置不同页尺寸下的数据缓冲区:

DB_nK_CACHE_SIZE:设定具有nK页尺寸的数据缓冲区的大小。其中n可以为2481632

阅读(606) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~