参考:W3Cschool: https://www.w3cschool.cn/oraclejc/oraclejc-dxgu2qqt.html
尚硅谷:https://www.bilibili.com/video/BV14W411u7wT?from=search&seid=6513586886190417465
Oracle文档:https://docs.oracle.com/cd/E11882_01/index.htm
一、概述
Oracle Database,又名 Oracle RDBMS,简称 Oracle,是目前最流行的客户/服务器(client/server)或B/S体系结构的数据库之一。
一个数据文件只能属于一个表空间;一个表空间可以由一个或多个数据文件组成
- 用户:用户是在实例下建立的。不同实例中可以建相同名字的用户。(表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。)
oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表,所以这里的区分就是用户了!
2. oracle 优势
- 完整的数据管理功能
- 完备关系的产品
- 分布式处理功能
- 用 ORACLE 能轻松的实现数据仓库的操作
3. 组成
Oracle 数据库服务器由一个数据库和至少一个数据库实例组成。
- 数据库是一组存储数据的文件,
- 数据库实例则是管理数据库文件的内存结构。
数据库和实例是紧密相连的,所以我们一般说的 Oracle 数据库,通常指的就是实例和数据库。
在这种体系结构中,Oracle 数据库服务器包括两个主要部分:文件(Oracle 数据库)和内存(Oracle 实例)。
3.1 Oracle数据库
Oracle 数据库的一个基本任务是存储数据;包括 Oracle 数据库的物理和逻辑存储结构。(两者关系)
物理存储结构:是存储数据的纯文件:
- 数据文件:数据文件包含真实数据,例如销售订单和客户等。逻辑数据库结构(如表和索引)的数据被物理存储在数据文件中。
- 控制文件:每个 Oracle 数据库都有一个包含元数据的控制文件。元数据用来描述包括数据库名称和数据文件位置的数据库物理结构。
- 联机重做日志文件:每个 Oracle 数据库都有一个联机重做日志,里面包含两个或多个联机重做日志文件。联机重做日志由重做条目组成,能够记录下所有对数据所做的更改。
除这些文件外,Oracle 数据库还包括如参数文件、网络文件、备份文件以及用于备份和恢复的归档重做日志文件等重要文件。
逻辑存储结构:Oracle 数据库使用逻辑存储结构对磁盘空间使用情况进行精细控制
- 数据块(Data blocks):Oracle 将数据存储在数据块中。数据块也被称为逻辑块,Oracle 块或页,对应于磁盘上的字节数。
- 范围(Extents):范围是用于存储特定类型信息的逻辑连续数据块的具体数量。
- 段(Segments):段是分配用于存储用户对象(例如表或索引)的一组范围。
- 表空间(Tablespaces):数据库被分成称为表空间的逻辑存储单元。 表空间是段的逻辑容器。 每个表空间至少包含一个数据文件。下图说明了表空间中的段,范围和数据块:
3.2 Oracle实例
Oracle 实例是客户端应用程序(用户)和数据库之间的接口。Oracle 实例由三个主要部分组成:
- 系统全局区 (SGA)
- 程序全局区 (PGA)
- 后台进程。
SGA 是实例启动时分配的共享内存结构,关闭时释放。 SGA 是一组包含一个数据库实例的数据和控制信息的共享内存结构。不同于所有进程都可用的 SGA,PGA 是会话开始时为每个会话分配的私有内存区,当会话结束时释放。
主要的Oracle数据库的后台进程: