ORACLE 11G体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物理结构与逻辑结构
数据库 表空间
数据文件
段
区
数据块
操作系统块
相关视图
V$SGA
V$SGAINFO
V$SGA_DYNAMIC_COMPONENTS V$SGA_DYNAMIC_FREE_MEMORY
V$PARAMETER
V$INSTANCE
– – – –
数据高速缓存 共享池 大池 JAVA池
每种内存结构的实际大小: – V$SGA_DYNAMIC_COMPONENTS
程序全局区
非共享
只有服务器进程可以写 包含以下信息: – 排序区 – 会话信息 – 游标状态 – 堆栈空间
Server process
PGA
数据高速缓存
数据块
数据库文件包括:数据文件、控制文件和重做
日志文件
数据库中还有参数文件、警告文件、跟踪文件、
口令文件等
数据库的逻辑结构
逻辑结构是数据库在概念上的组织方式,一个
数据库由若干个表空间组成
表空间对应于磁盘上的一个或多个数据文件 在一个表空间中包含多段 每个段由多个区组成 一个区有多个连续的数据块组成 一个数据块由多个操作系统块组成
Oracle数据库服务器
数据库服务器的组成:
— 实例 — 包含一组内存结构和后台进程 — 用来访问数据库中的数据 — 数据库 — 对应一组文件,用来存储数据
Oracle体系结构
实例 用户进程 共享池 库缓存 服务器 进程
PGA
SGA
数据高速 缓存 重做日志 缓冲区
其它
数据字典缓存
SMON DBW0 PMON CKPT
数据库
数据库写入器 (DBW0)
DBW0 进行写操作的时机:
脏缓冲区达到一定数量时
空闲的缓冲区很少时 超时(比如每隔3秒)
发出检查点
在实例中可以启动多个DBW进程,相关 参数:DB_WRITER_PROCESSES
日志写入器 (LGWR)
实例 SGA 数据高速 缓存 重做日志 缓冲区 LGWR 共享池
第1课
Oracle体系结构
Oracle11g软件结构
Oracle11g服务器的结构
– – – – –
Net: Oracle自身的网络通讯协议 SQL*PLUS EXP :导出、导入实用程序 Loader :数据装入实用程序 Precompilers :预编译器。
Oracle11g客户端的常用工具
检查点,减少实例恢复时间,把上一检查点以 来的修改写入数据文件,并更新数据文件头部和控制文 件
Oracle的体系结构
用户进程 服务器进程
实例 SGA
共享池
PGA
警告文件 跟踪文件 参数文件 口令文件 数据 文件 控制 文件 数据库 重做 日志
文件
SGA的来自百度文库动管理
SGA的的大小通过参数SGA_TARGET指定 以下内存结构的大小可自动调整:
1
Server process Data buffer cache
SGA Redo log buffer
Shared pool
4 3
LGWR
2
User process
Data files Control files Redo log files
Database
数据库的物理结构
物理结构是数据库实际的存储方式,如文件或
SMON: 系统监视进程
自动执行实例的恢复 – 根据重做日志,将未写入数据库的 修改写入数据库 – 打开数据库,使用户可以访问 – 回滚未提交的事务
合并空闲空间
回收临时段
PMON: 进程监视器
清除执行失败的进程: 回滚事务 释放锁 释放其它资源
归档
数据库归档模式: – NOARCHIVELOG 模式 – ARCHIVELOG 模式 ARC0 进程 – 自动将联机重做日志进行归档 – 保留对数据库所做的任何修改的记录 归档进程的数量: – 参数LOG_ARCHIVE_MAX_PROCESSES
执行: 标识被选择的行 获取: 将数据返回给用户进程
处理DML语句
SGA 用户进程 数据 重做日志 共享池
高速缓存
UPDATE emp ...
缓冲区
4
服务器进程
1
2
3
1
数据 文件
控制 文件
重做 日志 文件
数据库
回滚段
旧数据
新数据 表 回滚段
修改事务
COMMIT 的处理过程
Instance
LGWR
参数文件 口令文件
数据 文件
控制文件
重做 日志 文件 归档日志 文件
数据库
Oracle 实例
一个Oracle数据库服务器,通常被认为是 数据库实例,是Oracle用来对数据库进行 访问的服务器进程和内存区域的集合。 实例由一组后台进程和内存区域构成。 SGA:系统全局区,包括数据高速缓冲 区、重做日志区和共享池,是所有用户 进程共享的内存区域
– SGA_MAX_SIZE – SGA_TARGET
后台进程
SMON 系统监控,实例恢复,取消事务,合并自由盘区
PMON 管理用户进程,清除失败用户资源 DBWn 将脏缓冲区的内容写入数据文件
LGWR 把重做日志缓冲区的内容写入联机日志文件
ARCH 对日志文件进行归档
CKPT
– Enterprise Manager:Oracle数据库日常管理工作 – Net Manager:可以创建新服务、数据库引擎和客户 实用程序的连接。 – SQL*PLUS
Oracle11g服务器软件的结构
SVRMGR SQL*PLUS Loader EXP IMP Oracle服 务器
NET到 客户机
数据 文件
控制文件 重做日 志文件
数据库
日志写入器 (LGWR)
LGWR 进行写的时机: 执行了 commit命令 重做日志缓冲区的1/3已满 每3秒的间隔 在 DBW0 写之前
检查点进程(CKPT)
负责发出检查点,同步数据文件、控制文
件和重做日志文件 CKPT执行的时机: 切换日志(手工或自动) 正常关闭实例 手工发出检查点 一定的时间或空间间隔
Precompiler
Oracle11g的新特征
Flash Recovery Area更名为Fast Recovery
Area 支持30个standby数据库 支持IPv6 ASM作为一个独立的产品,可以先于Oracle 数据库安装 增加了Restart组件,用于在故障之后自动启 动Oracle数据库的所有服务
共享池
库高速缓存
数据字典 高速缓存
库高速缓存包含SQL命令文本、分析代码以及
执行计划 数据字典高速缓存包含表、列以及其它对象的 定义和权限 SHARED_POOL_SIZE参数
数据库写入器 (DBW0)
实例 SGA 数据高速 缓存 DBW0 重做日志 缓冲区 共享池
数据 文件
控制文件 重做日 志文件
数据高速缓冲区
存储最近访问的数据块 参数DB_BLOCK_SIZE 参数DB_CACHE_SIZE 参数 DB_nK_CACHE_SIZE
重做日志缓冲区
重做日志缓冲区
它的大小由参数 LOG_BUFFER 决定 记录实例所做的修改
被按顺序使用
是一个可循环使用的缓冲区
库高速缓存和数据字典高速缓存
Application server User Browser
SGA(系统全局区)
数据高速缓冲区:用于存放最近访问的数据 重做日志区:记录对数据库所做的修改 共享池:存放数据字典信息,以及最近执行的
SQL语句 JAVA池 大池 流池 SGA的大小通过以下初始化参数控制:
处理SQL命令
Oracle通过以下进程连接到实例: – 用户进程 – server进程 处理SQL命令所用到的服务器部件取决
于:
– 查询返回的行 – DML 语句日志的修改 – 为保证事务恢复的提交操作
一些服务器部件不参与SQL的处理
处理查询语句
分析: – 搜索相同的查询语句 – 检查格式、对象名字以及权限 – 在分析过程中锁定对象 – 创建并存储执行计划
Oracle 实例的组成
共享池 库缓存
实例 SGA
数据高速 数据字典缓存 缓存
重做日志 缓冲区
SMON
DBW0
PMON
CKPT
LGWR
Others
服务器结构
实例
用户进程 数据库
连接到数据库实例
User Server Oracle server
User
Server
Client
Server Server