一、 存储关系

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

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

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

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




段 ~ 一个或多个区组成

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

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












(一)、 存储结构




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

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

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

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

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

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




(二)、如何存储表数据




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


表空间包含一组段

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

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


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




二、表空间和数据文件

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

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

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

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

数据库 ~ 至少一个表空间 

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




(一)、常用表空间

(1)系统表空间


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

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

(3) 临时表空间




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

(4)撤销表空间


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





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


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











(二)、表空间和数据文件的关系



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


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

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


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

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







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



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

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


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




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

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

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


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


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




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

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

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

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




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

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


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

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

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


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

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

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










数据库启动的几个阶段

sda







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

把一个库弄起来






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

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


友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信