2014-07-26 BaoXinjian
一、 Oracle体系结构基本概念
1. Oracle总体结构分为三个部分
- 第一部分:系统全局区(SGA)
- 第二部分:程序全局区和后台进程
- 第三部分:Oracle的文件
2. 从功能角度接那些划分
- 存储结构
- 包括: 控制文件、数据文件和日志文件
- 作用: 由这些文件就构成了Oracle的物理存储结构。
- 内存结构
- 包括: 系统全局区(SGA) 和 程序全局区(PGA)
- 作用: 使用内存最多的是SGA,也是影响数据库系统性能最大的一个参数。
- 进程结构
- 包括: 前台进程 和 后台进程
- 前台作用: 前台进程服务进程和用户进程,是根据实际需要而运行的,并在需要结束后立刻结束。
- 后台作用: 后台进程是指Oracle数据库启动后自动启动的几个操作系统进程。
二、Oracle存储结构 - 物理结构和逻辑结构概念和关联
1. 物理结构
- 主要描述oracle数据库的外部存储结构, 即操作系统中如何组织、管理数据
- 与操作系统相关
2. 逻辑结构
- 主要描述oracle数据库的内部存储结构,即从技术概念商描述oracle数据库中如恶化组织、管理数据
- 与操作系统无关
3. 物理和逻辑结构的关联
逻辑结构的表空间对应着物理结构的数据文件,也就是创建表空间的时候要给它指定数据文件,但是一个表空间可以对应多个数据文件。
表空间的大小也就是他包含的数据文件大小的总和。
数据文件呢同时又对应着操作系统中的数据块,数据文件也是以数据块的形式,存在于操作系统中。
三、 Oracle存储结构 - 物理结构详解
1. 数据库文件6个类型
- 主要文件
- 数据文件
- 日志文件
- 控制文件
- 其他文件
- 参数文件
- 临时文件
- 预分配文件
2. 数据文件
2.1 数据文件的特点
每一个数据文件,只与一个数据库相关联。不能同时对应两个数据库。
一个表空间可以包含一个或多个数据文件,也就是说表空间的大小也就是他包含的数据文件大小的总和。
一个数据文件只能属于一个表空间
2.2 数据文件的基本概念
表空间有用户默认的表空间和零时表空间
用户默认的表空间可以是由一个或者多个数据文件组成。
临时表空间就我们用tmpfile选项指定的一个临时文件。
用于存放排序操作产生的临时数据。
当执行排序操作时如果临时数据超过排序区了尺寸,那么服务器进程会将临时数据放到临时表空间中。
但是不管是用户默认的表空间还是临时表空间,数据最终存储在数据文件中。
3. 日志文件
3.1 类型
重做日志文件(Redo Log)
归档日记文件(Archive Log)
3.2 日志文件的基本概念
用于记录数据库变化,是用户的事务处理日志。
当进行历程恢复和介质恢复的时候,我们需要使用重做日志,如果没有重做日志,用户能够执行的唯一恢复手段就是从最后的完整备份中复原。
数据库至少要包含两个重做日志组,并且这些重做日志组是循环使用的。
假定数据库中有三个日志组
在初始阶段日志文件写入进程,会将事务变化写入日志组一,当日志组一写满后,Oracle会自动进行日志切换,比且循环使用这三个日志组。当所有的日志写满后,如果需要归档,就会生成归档日志(是非活动重做日志的备份)
通过使用归档日志可以保留所有的重做历史记录。当数据库出现介质损坏时使用数据文件副本和重做历史记录可以完全恢复数据库。
4. 控制文件
4.1 控制文件的基本概念
Oracle也会在常规的操作期间更新控制文件,以便准备下一次使用。
当用户建立控制文件的时候,建议用户建立多个副本,如果可能的话将这些副本放到不同的物理驱动器上(不同的磁盘下)。假如当设备崩溃的时候,用户就有完好的控制文件来启动和恢复数据库,如果没有恢复就会很复杂。
四、 Oracle存储结构 - 逻辑结构详解
1. 表空间
1.1 表空间的概念
- 最大的逻辑存储结构,它对应一个或者多个数据文件,
- 表空间的大小事它所队形的数据文件大小的综合
1.2 表空间的特性
- 控制数据库数据磁盘分配
- 限制用户在表空间可以使用的磁盘空间大小
- 表空间有online / offline / readonly / readwrite
- 完成部分数据的备份和恢复
- 表空间通过数据文件来扩大,表空间的大小等于构成的该表并肩所有数据文件的大小之和
1.3 自动创建的表空间
- Example 实例表空间
- Sysaux 辅助系统表空间
- System 系统表空间
- Temp 临时表空间
- Undo 重做表空间
- User 用户表空间
2. 段
1.1 概念
- 段时表空间中一个指定类型的逻辑存储结构,他是有一个或多个区构成,段将占用并增长存储空间
1.2 段的四种类型
- 数据(表)段 (Data Segment) 存储表中的所有数据
- 索引段 (Index Segment) 存储表上最佳查询的所有索引数据
- 临时段(Temporary Segment) 存储表排序操作期间建立的临时表的数据
- 回滚段(Rollback Segment) 存储修改之前的位置和值,是Oracle的撤销机制
3. 分区
3.1 概念
盘区是由连续的数据块集合构成,盘区构成段,段构成表空间,表空间构成数据库
4. 块
4.1 概念
- 块时数据库使用的I/O最小单位,称为逻辑块和oracle块
- 一个数据块对应一个或多个物理块
- 块的大小由db_block_size确定,块的大小是操作系统块大小的整数倍,
4.2 数据块的结构包括块头和存储两个部分
- 块头
- 数据块标题: 存储数据类型以及块的物理位置
- 表目录:
- 行目录
- 存储区
- 空闲区
- 行数据区
5. 数据库-表空间-段-区-块结构
五、 Oracle基本架构图
1. 数据流及系统各模块关系
2. 基本构成图
********************作者: 鲍新建********************
DBA_Oracle基本体系架构(概念)(每个Oracle开发员和维护员都必须熟知的一些关于Oracle底层结构的概念),布布扣,bubuko.com