oracle逻辑结构分析 |
oracle的逻辑结构包括表空间(tablespace),段(segment),区(extent),数据块(data block) oracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段 。段由区组成,区是磁盘分配的最小单位 。段的增大是通过增加区的个数来实现的 。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位 。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块大小的整数倍 。 表空间 表空间是Oracle数据库最大的逻辑结构,一个Oracle数据库在逻辑上由多个表空间组成,一个表空间只隶属于一个数据库 。Oracle中有一个称为SYSTEM的表空间,这个表空间是在创建或安装数据库时自动创建的 。主要用于存储系统的数据字典,过程,函数,触发器等;也可以存储用户的表,索引等 。一个表空间可以有多数据文件,但是一个数据文件只能属于一个表空间 。 一个表空间就是一片磁盘区域,他由一个或者多个磁盘文件组成,一个表空间可以容纳许多表、索引或者簇等 。每个表空间有一个预制的磁盘区域称为初始区间(initial extent)用完这个区间后再用下一个,直到用完表空间,这时候需要对表空间进行扩展,增加数据文件或者扩大已经存在的数据文件 段 Oracle中的段可以分成4种类型:数据段、索引段、回滚段、临时段 。 区 区是磁盘空间分配的最小单位 。磁盘按区划分,每次至少分配一个区 。区存储于段中,它由连续的数据块组成 。区的分配过程中,每次至分配5个区 。如果所剩的空闲空间不够5个区,就会出现错误:ORA-01653 。可以通过字典dba_tablespaces查询表空间中区的信息 。可以通过字典user_tables查询段中区的信息 。可以通过字典user_extents查询区的分配状况 。我们可以通过以下SQL语句分别查询表空间、段、区中区的分配信息 SQL>select * from dba_tablespaces; SQL>select table_name, tablespace_name, min_extents, max_extents from user_tables; SQL>select * from user_extents; 数据块 数据块是数据中中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O 的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的oracle版本DB_BLOCK_SIZE的默认值是不同的 。 总结 以上就是本文关于oracle逻辑结构分析地全部内容,希望对大家有所帮助 。感兴趣的朋友可以参阅:Oracle RMAN自动备份控制文件方法介绍 、 oracle中length、lengthb、substr、substrb函数用法介绍 、 oracle 数据库启动阶段分析等 。有什么问题请留言,小编会及时回复大家的 。感谢朋友们对脚本之家网站的支持 。 |