动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

深入学习Oracle数据库的逻辑结构

06-02 16:55 706浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Oracle数据库由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。

首先我们要知道逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。因此,Oracle数据库逻辑结构体系分为以下4个方面:

1.段(Segment)

是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。

2.区(Extent)

是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依次分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。

1)在数据表进行数据插入时,会自动扩展数据表的空间,使用的便是该逻辑单元。
2)数据表建立时,便已经分配好了若干个数据块组成了初始数据扩展(initial extent),以便数据表新数据的存储。
3)当段(数据表)分配的空间不够存储新数据时,ORACLE将自动为其分配一个新增数据扩展新增的数据扩展区(EXTENT)大小始终大于等于前一个数据扩展区(EXTENT)的大小。
4)数据表初始化的分配的空间大小及最多能够容纳的数据扩展数量可以在新建数据表时通过STORAGE子句进行设置,若不设置,则默认使用所属表空间的参数设置。
5)EXTENT 管理方式有本地管理(local)与数据字典管理(dictionary)两种,后者将被淘汰,默认为本地管理。
6)新增的数据扩展区的大小既可以固定,也可以由我们自主选择,取决于新建TABLESPACE时,使用了什么指令,UNIFORM 指令(固定大小)、AUTOALLOCATE指令(由系统管理)。uniform size 10M

3.数据块(Block)

是数据库进行IO操作的最小单位,它与操作系统的块不是一个概念。 数据库BLOCK的大小一般要设置为操作系统OS块容量的整数倍,这样可以减少IO操作 (若操作系统块大小为1k,若数据库块大小为1.3k,则实际需要2个操作系统块数据才能存储(2k),这导致还有0.7k的空间被浪费了,故设置成OS块的整数倍,能够减少数据空间的浪费)

BLOCK主要有如下部分组成:

1)数据块头:记录了该数据块的概要信息,块地址、所属段的类型。。。

2)表目录区:只要该数据块中包含数据,该区域便会包含数据所在表的信息

3)行目录区:存放你插入的行的地址信息

4)可用空间区:存放该数据块中空余空间的信息,由建表时表属性pctfree控制

5)行数据区:数据实际存放的区域

4.TABLESPACE(表空间)

数据库的组成单元。

ORACLE数据库中表空间的分类:

① 系统表空间:主要用于存储管理掐表空间的工具信息及其他表空间的相关信息。

② 临时表空间:主要用于在数据库数据读取时缓存数据。

③ 回滚表空间:主要用于处理非请求数据返回数据库的情况。

④ 数据表空间:主要用于存储相关用户数据。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵696
程序员代码小兵696

118篇文章贡献392976字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消