Oracle数据库是Oracle公司开发和销售的一种对象关系数据库管理系统。 Oracle数据库通常被称为Oracle RDBMS或简称为Oracle。
Oracle数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件,而数据库实例是一组管理数据库文件的内存结构。 另外,数据库由后台进程组成。
一个数据库和一个实例是紧密相连的,因此术语 - Oracle数据库 通常用来指代实例和数据库。
下图说明了Oracle数据库服务器体系结构:
在这种体系结构中,Oracle数据库服务器包括两个主要部分:文件(Oracle数据库)和内存(Oracle实例)。
Oracle数据库的一个基本任务是存储数据。以下部分简要地介绍Oracle数据库的物理和逻辑存储结构。
1.1. 物理存储结构
物理存储结构是存储数据的纯文件。当执行一个CREATE DATABASE
语句来创建一个新的数据库时,将创建下列文件:
除这些文件外,Oracle数据库还包括其他重要文件,如参数文件,网络文件,备份文件以及用于备份和恢复的归档重做日志文件。
1.2. 逻辑存储结构
Oracle数据库使用逻辑存储结构对磁盘空间使用情况进行精细控制。以下是Oracle数据库中的逻辑存储结构:
下图说明了表空间中的段,范围和数据块:
下图显示了逻辑和物理存储结构之间的关系:
Oracle实例是客户端应用程序(用户)和数据库之间的接口。Oracle实例由三个主要部分组成:系统全局区(SGA),程序全局区(PGA)和后台进程。如下图所示 -
SGA是实例启动时分配的共享内存结构,关闭时释放。 SGA是一组包含一个数据库实例的数据和控制信息的共享内存结构。
不同于所有进程都可用的SGA,PGA是会话开始时为每个会话分配的私有内存区,当会话结束时释放。
主要的Oracle数据库的后台进程
以下是Oracle实例的主要后台进程:
DBW0
,DBW1
,DBW2
等等。redo
日志文件中用于恢复目的。 而这些变化是由LGWR进程编写和记录的。 LGWR进程首先将更改写入内存,然后将磁盘写入重做日志,然后将其用于恢复。ARC0
,ARC1
和ARC3
,允许存档程序写入多个目标,如D:
驱动器,E:
驱动器或其他存储。