ORACLE数据库模型概述

千丽吖_9926

千丽吖_9926

2016-12-15

2889人浏览

原创

一个oracle数据库是数据的集合,被处理成一个单位。每个oracle数据库有一个物理结构和一个逻辑结构。 
数据库物理结构是由构成数据库的操作系统文件所决定的。数据库的文件为数据库信息提供真正的物理存储。每一个oracle数据库是由三种类型的文件组成,即数据文件、日志文件和控制文件。 
逻辑数据库结构是用户所涉及的数据库结构,一个oracle数据库的逻辑结构由下列因素决定: 
(1)  一个或多个表空间 
(2)  数据库模式对象 
逻辑存储结构例如表空间用于支配一个数据库的物理空间如何使用,模式对象及它们之间的联系组成了一个数据库的关系设计。 
一.数据库物理结构 
oracle数据库由三种类型的物理文件组成,即数据文件、日志文件和控制文件.
1.  数据文件 
每一个oracle数据库有一个或多个物理的数据文件(data file) 。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构的数据也是物理地存储在数据库的数据文件中。数据文件有下列特征: 
(1)  一个数据文件仅与一个数据库相联系 
(2)  一旦建立数据文件不能改变大小 
(3)  一个表空间由一个或多个数据文件组成 
数据文件中的数据在需要时可以读取并存储在 oracle 内存储区中。例如:用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由oracle后台进程dbwr决定如何将其写入到相应的数据文件。 
2.  日志文件 
每一个数据库有由两个或多个日志文件(redo log file)构成的日志文件组,每一个日志文件用于收集数据库日志。 
日志的主要功能是记录对数据库所做的修改,所以对数据库作的全部修改均被记录在日志中。日志文件主要是保护数据库以防止故障,为了防止日志文件本身的故障,oracle允许镜象日志(mirrored redo log) 以便可在不同磁盘上维护多个相同的日志副本。 
日志文件中的信息仅在系统故障或介质故障恢复数据库时使用。 
3.  控制文件 
每一个 oracle 数据库至少有一个控制文件(control file),它记录数据库的物理结构,包含的主要信息是: 
(1)  数据库名 
(2)  数据库数据文件和日志文件的名字和位置 
(3)  数据库建立日期 
每一次oracle数据库的实例启动时,它的控制文件用于标识数据库和日志文件,当着手数据库操作时它们必须被打开。当数据库的物理组成更改时,oracle自动更改该数据库的控制文件。 
2.3.2 数据库逻辑结构 
数据库的逻辑结构包含表空间(table space)、段(segment)、区(extent)、数据块(block),
1.  表空间 
一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间。一个表空间可将相关的逻辑结构组合在一起。dba可利用表空间作下列工作: 
(1) 控制数据库数据的磁盘分配 
(2) 将确定的空间份额分配给数据库用户 
(3) 通过使单个表空间在线或离线,控制数据的可用性 
(4) 执行部分数据库备份或恢复操作 
(5) 为提高性能,跨越设备分配数据存储 
数据库、表空间和数据文件之间的关系如图2.3-2所示。
每个数据库可逻辑划分为一个或多个表空间。每一个表空间是由一个或多个数据文件组成,该表空间物理地存储表空间中全部逻辑结构的数据。dba可以建立新的表空间,可为表空间增加数据文件或可删除数据文件,设置或更改缺省的段存储位置。 
每一个oracle 数据库包含有一个名为system 的表空间,该表空间在数据库建立时自动建立。在该表空间中总包含有整个数据库的数据字典表。最小的数据库可只需要system表空间。该表空间必须总是在线。表和存储的pl/sql程序单元(过程、函数、包和触发器)的全部存储数据是存储在system表空间中。 
通过增加表空间的数据文件来扩大表空间,表空间的大小为组成该表空间的数据文件大小的和。 
dba可以使oracle数据库中除system表空间外的任何其他表空间在在线或离线(离线的该表空间不能有活动的回滚段)。表空间通常是在线,以致它所包含的数据对数据库用户是可用的。当表空间为离线时,其数据不可使用。在下列情况下,dba可以使其离线: 
(1)  使部分数据不可用,而剩余的部分允许正常存取 
(2)  执行离线的表空间备份 
(3)  为了修改或维护一应用,使它和它的一组表临时不可用 
包含有正在活动的回滚段的表空间不能被离线,仅当回滚段不正在使用时,该表空间才可离线。 
在数据字典中记录表空间的状态,在线还是离线。如果在数据库关闭时一表空间为离线,那么在下次数据库装配和重新打开后,它仍然保持离线。 
当出现某些错误时,一个表空间可自动地由在线改变为离线。通过使用多个表空间,将不同类型的数据分开,更方便dba来管理数据库。 
oracle数据库中一表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间相联系。 
oracle通过段、区和数据块等逻辑数据结构可更细地控制磁盘空间的使用。 
2.  段 
段(segment)包含表空间中一种指定类型的逻辑存储结构,是由一组区组成。在oracle数据库中有几种类型的段:数据段、索引段、回滚段和临时段。 
数据段:对于每一个非聚集的表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中。 
索引段:每一个索引有一索引段,存储索引数据。 
回滚段:是由 dba 建立,用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务。 
临时段:当一个 sql 语句需要临时工作区时,由 oracle 建立。当语句执行完毕,临时段的区退回给系统。 
oracle对所有段的空间分配,以区为单位。 
3.  区 
一个区(extent)是数据库存储空间分配的一个逻辑单位,它由连续的oracle数据块所组成。每一个段是由一个或多个区组成。当一段中的所有空间已完全使用时,oracle为该段分配一个新的区。 
为了维护的目的,在数据库的每一段含有段标题块说明段的特征以及该段中的区目录。 
4.  数据块 
数据块(data block)是 oracle 管理数据文件中存储空间的单位,为数据库使用的i/o的最小单位,其大小可不同于操作系统的标准i/o块大小。

以上就是ORACLE数据库模型概述的内容, 更多相关文章请关注PHP中文网(www.php.cn)!


QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

20

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

20

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

20

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

120

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

100

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

300

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程