Oracle体系结构是由内存结构、进程结构、存储结构组成。
一、内存结构
内存结构由SGA(系统全局区、共享全局区)、PGA(程序全局区)组成。
1.SGA:
Oracle为一个实例分配的共享内存缓冲区,保存着Oracle数据库与所有用户的共享信息。包括:数据缓冲区、字典缓冲区、重做日志缓冲区、共享SQL池、JAVA池、多缓冲池。
2.PGA:
单个Oracle进程使用的内存区域,只有服务进程本身才能访问自己的PGA区。
——————————————————————————————
二、进程结构
进程结构由用户进程和Oracle进程组成。
用户进程:运行应用程序和Oracle工具。
Oracle进程:包括后台进程、服务进程。
1.后台进程:为数据库用户异步完成各种任务。后台的主要进程有,
DBWn 数据库写进程
LGWR 日志写进程
CKPT 检查点写进程
SMON 系统监控进程
PMON 进程监控进程
ARCH 归档进程
RECO 恢复进程
LCKn 封锁进程
——————————————————————————————
三、存储结构
存储结构由逻辑存储、物理存储组成。
1.逻辑存储结构
主要描述Oracle数据库的内部存储结构,即描述在Oracle数据库中如何组织、管理数据。因此,逻辑存储结构是与操作系统平台无关的,是由Oracle数据库创建和管理的。
存储单元大小顺序:
数据库→表空间→表→段→区间→数据块。
表空间:1)表空间由表组成。2)创建表时,需要定义保存表的表空间。
表:由段组成。
段:由区间组成。包括:数据段、索引段、临时段、回滚段。
区间:由数据块组成。
数据块:是最小的数据存储单位。数据块既是逻辑单位也是物理单位。
schema(方案):建立用户时会生成一个与用户同名的schema,方案对象直接处理数据库数据的逻辑结构,如:表、视图、索引、簇。
数据库、方案、表空间、数据文件的关系:
1)表空间和方案的关系:同一方案中的对象可以存储在不同的表空间中,反之亦然。
2)数据库可以划分为多个表空间,表空间的总和就是数据库的存储容量。每个库至少有一个系统表空间。
3)每个表空间由一个或多个数据文件组成。表空间中数据文件的大小之和就是表空间的存储容量。
2.物理存储结构
主要描述Oracle数据库的外部存储结构,即描述在操作系统中如何组织、管理数据。因此,物理存储结构是与操作系统平台有关的。
数据库→表空间→数据文件。
数据库都有三种类型的文件组成,即:数据文件、日志文件、控制文件。
数据文件:
用于在物理上存储表空间中所有逻辑结构的数据。
1)一个数据文件仅与一个数据库联系。
2)一个或多个数据文件组成一个表空间。
3)当数据库容量越界时,数据文件能够自动扩展。
控制文件:
每个Oracle数据库有一个控制文件,记录数据库的物理结构。包含数据库名、数据库数据文件和日志文件的名字、位置和数据库建立日期等信息。
日志文件:
记录对数据所作的修改,所以对数据库作的全部修改记录在日志中。 每个数据库有两个或多个日志文件组成。
——————————————————————————————
四、例程(instance、实例)
1.Oracle例程由SGA 、后台进程组成。
2.有初始化参数文件就可以启动实例,与是否存在数据库无关。
3.一个例程只能连接和使用一个数据库。
4.例程是用户和数据库之间的中间层。当用户使用数据库时,实际上是连接到该数据库的例程,通过例程来连接、使用数据库。如果把Oracle数据库比作一部汽车,例程相当于汽车的发动机,启动oracle数据库前提应先启动例程。
注:
在Oracle8i/9i中,数据库与例程是一对多关系,一个数据库对应多个例程。ORACLE_SID(环境变量)决定启动哪个例程。
——————————————————————————————
五、Oracle的启动过程
1.nomount
——读参数文件
——分配内存
——启动后台进程。
——初始化部分v$视图
2.mount数据库
——读、校验控制文件,将控制文件的内容读入到内存。
——将例程与数据库发生了联系。
3.open数据库
——读、检验数据文件
——普通用户可以访问数据库
一、内存结构
内存结构由SGA(系统全局区、共享全局区)、PGA(程序全局区)组成。
1.SGA:
Oracle为一个实例分配的共享内存缓冲区,保存着Oracle数据库与所有用户的共享信息。包括:数据缓冲区、字典缓冲区、重做日志缓冲区、共享SQL池、JAVA池、多缓冲池。
2.PGA:
单个Oracle进程使用的内存区域,只有服务进程本身才能访问自己的PGA区。
——————————————————————————————
二、进程结构
进程结构由用户进程和Oracle进程组成。
用户进程:运行应用程序和Oracle工具。
Oracle进程:包括后台进程、服务进程。
1.后台进程:为数据库用户异步完成各种任务。后台的主要进程有,
DBWn 数据库写进程
LGWR 日志写进程
CKPT 检查点写进程
SMON 系统监控进程
PMON 进程监控进程
ARCH 归档进程
RECO 恢复进程
LCKn 封锁进程
——————————————————————————————
三、存储结构
存储结构由逻辑存储、物理存储组成。
1.逻辑存储结构
主要描述Oracle数据库的内部存储结构,即描述在Oracle数据库中如何组织、管理数据。因此,逻辑存储结构是与操作系统平台无关的,是由Oracle数据库创建和管理的。
存储单元大小顺序:
数据库→表空间→表→段→区间→数据块。
表空间:1)表空间由表组成。2)创建表时,需要定义保存表的表空间。
表:由段组成。
段:由区间组成。包括:数据段、索引段、临时段、回滚段。
区间:由数据块组成。
数据块:是最小的数据存储单位。数据块既是逻辑单位也是物理单位。
schema(方案):建立用户时会生成一个与用户同名的schema,方案对象直接处理数据库数据的逻辑结构,如:表、视图、索引、簇。
数据库、方案、表空间、数据文件的关系:
1)表空间和方案的关系:同一方案中的对象可以存储在不同的表空间中,反之亦然。
2)数据库可以划分为多个表空间,表空间的总和就是数据库的存储容量。每个库至少有一个系统表空间。
3)每个表空间由一个或多个数据文件组成。表空间中数据文件的大小之和就是表空间的存储容量。
2.物理存储结构
主要描述Oracle数据库的外部存储结构,即描述在操作系统中如何组织、管理数据。因此,物理存储结构是与操作系统平台有关的。
数据库→表空间→数据文件。
数据库都有三种类型的文件组成,即:数据文件、日志文件、控制文件。
数据文件:
用于在物理上存储表空间中所有逻辑结构的数据。
1)一个数据文件仅与一个数据库联系。
2)一个或多个数据文件组成一个表空间。
3)当数据库容量越界时,数据文件能够自动扩展。
控制文件:
每个Oracle数据库有一个控制文件,记录数据库的物理结构。包含数据库名、数据库数据文件和日志文件的名字、位置和数据库建立日期等信息。
日志文件:
记录对数据所作的修改,所以对数据库作的全部修改记录在日志中。 每个数据库有两个或多个日志文件组成。
——————————————————————————————
四、例程(instance、实例)
1.Oracle例程由SGA 、后台进程组成。
2.有初始化参数文件就可以启动实例,与是否存在数据库无关。
3.一个例程只能连接和使用一个数据库。
4.例程是用户和数据库之间的中间层。当用户使用数据库时,实际上是连接到该数据库的例程,通过例程来连接、使用数据库。如果把Oracle数据库比作一部汽车,例程相当于汽车的发动机,启动oracle数据库前提应先启动例程。
注:
在Oracle8i/9i中,数据库与例程是一对多关系,一个数据库对应多个例程。ORACLE_SID(环境变量)决定启动哪个例程。
——————————————————————————————
五、Oracle的启动过程
1.nomount
——读参数文件
——分配内存
——启动后台进程。
——初始化部分v$视图
2.mount数据库
——读、校验控制文件,将控制文件的内容读入到内存。
——将例程与数据库发生了联系。
3.open数据库
——读、检验数据文件
——普通用户可以访问数据库