ORACLE
基本概念
1. 数据库:一个数据集合,ORACLE 数据库将数据存储在文件中,在其内部,数据库结
构提供了数据对文件的逻辑映射,允许不同类型的数据分开存放。
2. 表空间:是数据库的逻辑划分,每个数据库至少有一个表空间(SYSTEM 表空间)。
3. 数据文件:每个表空间由同一磁盘上的一个或多个文件组成。
4. 实例(服务器):是存储和控制数据库的软件机制,它同系统全局区 SGA 和后台进程
组成。(ORACLE 数据库启动时,实际是启动 ORACLE 实例,一个数据库可以被多个
实例访问,决定实例的大小及组成的参数存储在 INIT.ORA 文件中,实例启动时需要读
这个文件)。
5. 表空间:在 ORACLE 数据文件内部,数据库结构提供了数据对数据文件的逻辑映射,
允许不同类型的数据分开存放,这些逻辑划分称为表空间。
ORACLE 系统结构
任何硬件平台或操作系统下的 ORACLE 体系结构包括三个方面:
1. 物理结构:数据文件,日志文件,控制文件,参数文件;
2. 系统全局区(SGA):共享池,数据缓冲区,日志缓冲区,字典缓冲区;
3. 进程:用户进程,服务器进程,后台进程。
ORACLE 物理结构
1. 数据文件:物理存储 ORACLE 数据库数据的文件,每一个 ORACLE 数据库有一个
或多个物理的数据文件。一个数据库的所有数据文件包含了全部数据库数据,逻
辑数据库结构的数据物理地存储在数据库的数据文件中。
2. 日志文件:每一个数据库有两个或多个日志文件的组,每一个日志文件组用于收
集数据库日志,其主要功能是记录对数据的修改,作用是保护数据库以防止故障。
3. 控制文件:每一个O RACLE 数据库有一个控制文件,记录数据库的物理结构,包
含数据库名、数据库数据文件和日志文件的名字和位置、数据库建立日期。
4. 参数文件:一个文本文件,可直接使用文本编辑器对其内容进行修改,只在建立
数据库和启动实例时被访问。参数文件作用:设置 SGA 的大小、设置数据库的全
部缺省值、设置数据库的范围、在数据库建立时定义数据库的物理属性、指定控
制文件名和路径、通过调整内存结构,优化数据库性能。
ORACLE 系统全局区
SGA 是 ORACLE 系统为实例子分配的一组共享缓冲存储区,用于存放数据库数据和
控制信息,以实现对数据库 数据的管理和操作。SGA 分为以下几个部分:
1. 共享池:由共享 SQL 区和数据字典区组成,参数 shared_pool_size 确定共享池大小,
共享 SQL 区包括 SQL 或 PL/SQL 语句的文本、SQL 或 PL/SQL 语句语法分析形式、
SQL 或 PL/SQL 语句的执行方案。
2. 数 据 块 缓 冲 区 : 用 于 存 储 从 数 据 文 件 中 读 出 的 数 据 , 其 大 小 由
DB_BLOCK_SIZE ( 确 定 数 据 块 的 大 小 , 一 般 为 2K 或
4K)、 DB_BLOCK_BUFFERS(确定数据块的数目)两参数决定。
3. 日志缓冲区:以记录项的形式备份数据库缓冲区中被修改的缓冲块,日志缓冲区
大小由参数 LOG_BUFEER 确定。
4. 字典缓冲区:用于存放数据字典信息行。
进程
进程是操作系统中的一种机制,它可执行一系列的操作步骤。ORACLE 实例有两种类型:
单进程实例和多进程实例。单进程 ORACLE(单用户 ORACLE)是一种数据库系统,一个