ORACLE学习之路--数据库的存储结构
来源:互联网 发布:it makes 编辑:程序博客网 时间:2024/06/07 18:40
最近特别忙,连上网的时间都没有。今天把ORACLE的存储结构介绍一下。
ORACEL数据库中的数据逻辑存储在TABLESPACE中,同时物理地存储在数据文件中。要了解数据库的存储结构,就要先了解数据库中的数据是存放在哪里,以及存放数据库的逻辑空间名。
ORACLE中对数据的存储分了四层,根据存储大小以及从属关系依次为:
TABLESPACE 表空间
SEGMENT 段
EXTENTS 区
BLOCK 数据块
从上到下都是一对多的关系,下面我们一起来看看上面说的这些东西都是什么,有什么作用,如何管理。为了使大家更容易明白他们之间的关系,就从下往上开始介绍。
1、BLOCK 数据块
BLOCK是ORACLE中数据的最小存储单位,它的大小是在创建TABLESPACE的时候就定义了,一旦在TABLESPACE中定义了BLOCK的大小,那么在该TABLESPACE中创建的TABLE都会使用且只能用该尺寸来创建BLOCK。BLOCK大小的定义一定是操作系统数据块(OS BLOCK)大小的整数倍。ORACLE中BLOCK的大小有2K、4K、8K、16K、32K五种,其中8K在ORACLE中被定义为标准BLOCK SIZE,其他几种为非标准BLOCK SIZE。使用ORACLE自动管理来创建的TABLESPACE时使用的就是标准BLOCK SIZE。
标准BLOCK SIZE是在数据库创建时定义的,它对应参数文件中的参数为DB_BLOCK_SIZE。非标准BLOCK SZIE 对应的参数为DB_nK_SIZE,当n为8时,就会和DB_BLOCK_SIZE冲突,导致无效。用户在使用ORACLE创建表空间时可以使用标准BLOCK SIZE也可以使用非标准的BLOCK SZIE,但是有两个表空间是必须要使用标准BLOCK SIZE来定义:SYSTEM(系统表空间)、TEMPORARY(临时表空间)。
好不容易用画笔工具画个小图,下面这个图就是BLOCK机构的示意图:
HEADER为BLOCK的头,里面存放的是BLOCK的控制参数,FREE为空闲空间,DATA为存放在BLOCK中的数据。BLOCK中DATA的存储时从下往上涨。BLOCK常用控制参数为:INITRANS,MAXTRANS,PCTFREE,PCTUSED。
INITRANS,MAXTRANS为连接事物槽,控制并发。INITRANS为初始连接数,如果该BLOCK中存放的是DATA则默认为1,如果存放的是INDEX则默认为2,MAXTRANS 默认为255。
PCTFREE 最小为10%,这个参数不是用来显示还有多少空间没被使用,而是在BLOCK被创建时候用来定义该BLOCK中有多少空间被做为空闲空间。因为一条记录存放在一个BLOCK中,当初始化时候可能不全面,后面还要使用UPDATE来更新该记录,PCTFREE就是为了UPDATE而预留的用于已存储数据扩展用的。所以可以通过配置PCTFREE的值来使用性能调优,通常如果表中数据经常性的进行UPDATE则需要把PCTFREE配大点,反之则配小点。
PCTUSED,说来惭愧,我还不清楚是有什么用。嘿嘿!!
配置语句:
CREATE TABLE EMPLOYEE(
ID NUMBER(10) NOT NULL,
EMP_ID VARCHAR2(10),
EMP_NAME VARCHAR2(50),
EMP_DEPT_ID VARCHAR2(10)
)
TABLESPACE EMPLOYEE
PCTFREE 10
INITRANS 1
MAXTRANS 255
PCTFREE 参数后面的10表示的是10%。
今天先到这里,有事要出去。
- ORACLE学习之路--数据库的存储结构
- Oracle数据库学习11之存储结构
- Oracle数据库结构之存储结构
- Oracle数据库结构之物理存储结构
- Oracle数据库结构之物理存储结构
- oracle数据库的存储结构
- oracle数据库的存储结构
- [Oracle入门]Oracle数据库的存储结构
- Oracle数据库存储结构
- oracle数据库的物理存储结构
- Oracle数据库的逻辑存储结构
- oracle之-存储结构
- ORACLE数据库学习之逻辑结构
- cache数据库之表的存储结构
- 数据库学习笔记1 - oracle & sqlserver 数据存储结构对比
- 第二篇 Oracle数据库体系结构之存储结构
- oracle 数据库逻辑存储结构
- ORACLE数据库存储结构简介
- Oracle数据库应用程序性能优化探究
- 我的专利
- 步行1
- amule firefox3 关联
- 我心中的软件测试
- ORACLE学习之路--数据库的存储结构
- 夜曲--自动化测试版
- jTree 修改节点值
- 控制面板子项路径
- Lead your life
- [连载 3/15] Android 从入门到精通Example 之 Reading a Local File
- 非常不错的一些关于管理方面的小故事
- 电流环和速度环如何调整
- android 分支 详解