数据库逻辑结构

一、 存储关系

oracle数据库 ~ 一个或多个表空间组成 ~ 逻辑上

表空间 ~ 一个或多个数据文件 ~ 物理上

为每种不同的数据对象 ~ 分配不同的段 ~ 保存数据

emp表 ~ 所有数据 ~ 存放在emp段中


段 ~ 一个或多个区组成

区 ~ 连续存储的数据块组成

块 ~ 数据库i/o 最小的单位




(一)、 存储结构

数据库逻辑结构_第1张图片

数据库 -》》 被称为表空间的逻辑存储单元

每一个表空间 ~ 多个oracle 逻辑数据块

指定逻辑块大小 ~ db_block_size 参数 ~ 2-32 kb 默认8kb

特定数目的相邻逻辑块 -》》 组成一个区

特定逻辑结构分配一个组区 -》》 构成一个段

oracle逻辑块 ~ 逻辑i/o的最小单位


(二)、如何存储表数据

数据库逻辑结构_第2张图片

创建表 ~ 创建段 -》保存表数据

表空间包含一组段

逻辑上 ~ 表包含 ~列组成的行。 
行 ~ 最终 ~以行片段的形式存储在数据库块中。

行片段
因为不可以在一个位置 ~ 存储一整行

例 ~ 插入行太长而不适合单个块时
~ 或者更新导致现有行大小 ~超出行的当前空间


二、表空间和数据文件

oracle数据库 ~ 若干个表空间构成。

存储 ~ 任何数据库对象 ~ 存储到某个表空间

表空间 ~ 若干个磁盘文件 ~即一个或多个磁盘文件构成

表空间 ~ 操作系统中的文件夹 ~ 数据库逻辑结构与物理文件之前的一个映射

数据库 ~ 至少一个表空间 

表空间大小 ~ 等于所属于它的数据文件大小的总和


(一)、常用表空间

(1)系统表空间

oracke数据库必须具备 ~ 表空间名称、表空间所含数据文件等 数据库管理信息
系统表空间 ~ 包括数据字典、存储过程、触发器、系统回滚段

(2)sysaux 表空间
随数据库创建而创建、~system的辅助表空间 ~ 数据库的默认表空间

(3) 临时表空间

存储oracle数据库 ~ 运行期间产生的临时数据。
可建立多个临时表空间
除临时表数据 ~ 其他表空间属于永久性表空间

(4)撤销表空间

保存oracle数据库撤销信息, ~ 保存用户回滚段的表空间 ~ 回滚表空间 ~undo~


多个表空间好处:
不同类型不同表空间 ~ 灵活的管理数据库

还原段、临时段、应用程序数据段、应用程序索引段 ~ 不同表空间
备份 ~将数据分开存储
动态数据、静态数据 ~不同表空间 ~利于备份、回复
分配用户表空间配额,避免某个用户占用表空间太多的存储空间


数据库逻辑结构_第3张图片



(二)、表空间和数据文件的关系
数据库逻辑结构_第4张图片

oracle数据库 ~ 一个或多个表空间 ~逻辑存储单位
表空间 ~ 存储数据库的所有数据的一个整体 ~ 只能属于一个数据库

数据库大小 ~ =数据库中所有表空间大小总和

物理上 ~ 每个表空间 ~ 一个或多个数据文件组成
一个数据文件 ~只能属于一个表空间

表空间大小 ~ 所以数据文件大小总和

最简单的数据库 ~ 一个表空间 ~ 一个数据文件

数据库逻辑结构_第5张图片


(三)、 数据字典管理和本地管理方式

表空间 ~ 区 ~ 是最小的空间分配单位,~ 对表空间的管理 ~以区为单位

管理方式:
表空间 ~ 本地管理表空间 、 字典管理表空间


 本地管理表空间
表空间内通过位图 ~ 管理区、 

每个数据文件 ~ 一个位图 ~ 了解数据文件内 ~ 块的空闲或使用状态

位图中, 每个位 ~ 对应一个块、一组块

特点 ~ 分配、释放某个区~ 可被重新使用时,~oracle服务器更改位图值,~以显示块的新状态

本地管理方式 ~ 表空间 ~存储管理信息保存在 ~ 表空间的数据文件的头部

字典管理 ~ 存储管理信息保存在 ~表空间外部的数据字典中


字典管理的表空间 ~ 由数据字典 ~管理区

数据字典 ~ 信息存储在system表空间中 ~
分配或回收区时 ~oracle服务器 ~ 更新数据字典中对应的表

字典管理的表空间 ~ 内段 ~自定义的存储设置 ~每个段可以有不同的存储子句

比本地管理表空间 ~ 更灵活 ~ 效率低


本地管理表空间 ~ 位图对区的管理 ~ 相对于字典管理的优点:

本地管理 ~ 避免循环空间的管理操作。 
字典管理表空间 ~ 分配或释放区 --》 导致访问回滚段、数据字典基表

本地管理表空间上 ~ 分配和释放区 --》只需对其数据文件 ~ 修改对应的位图值

本地管理的表空间 ~ 在数据字典表 ~不记录空闲空间 ~减少了对数据字典的争用。

区的本地管理 ~ 自动跟踪并 合并临近的空闲空间 ~无须合并空闲区

字典管理表空间 ~ 需要手工合并空间碎片

本地管理的 ~ 区大小 ~由系统自动确定

更改区的位图 ~ 不会生成undo信息 ~ 因为不更新数据字典中的表




数据库启动的几个阶段

sda



存储结构 -> 实例 -> 数据文件

把一个库弄起来


-----------------------------------------------

创建表空间
https://blog.csdn.net/u012596785/article/details/79947618


你可能感兴趣的:(Oracle,ORACLE体系结构)