Oracle体系结构组件汇总
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 服务器:
• 是一个数据库管理系统,它为 信息管理提供了开放、综合和 集成的方法 • 包括 Oracle 例程和 Oracle 数据库
Oracle 服务器
1-6
Oracle 例程
Oracle 例程: • 是一种访问 Oracle 数据库的方式 • 始终打开一个,并且只打开一个数据库 • 由内存结构和后台进程结构组成
得了执行SQL语句所需的全部资源和信息。
提取数据:Oracle服务器进程选择所需的数据行,并在
需要时将其排序,最后将结果返回给用户(进程)。
1-19
共享池
• 用于存储:
– 最近执行的 SQL 语句
– 最近使用的数据定义
• 它包括以下两个与性能相关的关键内存结构:
– 库高速缓存 – 数据字典高速缓存
运行时,不占显示,而且它的优先级比前台进程低。可以只有一个 前台进程,但可以有多个后台进程。
缓冲区(buffer):一段用来临时存储数据的内存区。 主机(host):计算机系统的另一个称呼。 服务器(server):一台在网络中向其他计算机系统提供一项
或多项服务的主机。
客户机(client):一台使用由服务器(server)提供服务的计
数据库用户
1-8
Oracle 数据库
Oracle 数据库: • 是一个被统一处理的数据集合 • 包括三类文件
Oracle 数据库 参数文件 口令文件 数据 文件 控制 文件 重做 日志 文件 归档的 日志文件
1-10
物理结构
物理结构包括以下三种文件类型:
• 控制文件 • 数据文件
• 重做日志文件
算机系统。
1-3
基本组件概览
用户进程 共享池 库高速缓存 服务器进程 PGA 数据字典 高速缓存
例程 SGA
数据库缓冲区 高速缓存 Java 池 重做日志 缓冲区 大型共享池
PMON SMON DBWR LGWR
CKPT
其它
参数文件
数据文件
控制文件
重做日志 文件
归档 日志文件
口令文件
数据库
1-4
Oracle 服务器
编译(parse)
执行(execute) 提取数据(fetch)
1-17
Oracle 执行SQL查询语句的步骤
编译:在进行编译时,服务器进程会将SQL语句的正文放入共享池
(shared pool)的库高速缓存(library cache)中并将完成以下处理: 首先在共享池中搜索是否有相同的SQL语句(正文),如果没有就进行 后续的处理。 检查该SQL语句的语法是否正确。
– 共享池 – 数据库缓冲区高速缓存
– 重做日志缓冲区
– 其它结构(例如锁定和栓锁管理以及统计数据)
• 在 SGA 中还可配置其它两种内存结构:
– 大型共享池
– Jwk.baidu.comva 池
1-13
系统全局区
• SGA 是动态的
• 大小由 SGA_MAX_SIZE 参数指定 • 由 SGA 组件以粒组为单位进行分配和跟踪
标头 数据文件 (包括数据 字典)
控制文件
联机重做 日志文件
1-11
内存结构
Oracle 的内存结构由两个内存区组成,分别是:
• 系统全局区 (SGA) :在例程启动时分配,是 Oracle 例程的基本组件
• 程序全局区 (PGA) :在服务器进程启动时分配
1-12
系统全局区
• SGA 包括以下几种内存结构:
1-23
数据库缓冲区高速缓存
• 由独立的子高速缓存组成:
– DB_CACHE_SIZE – DB_KEEP_CACHE_SIZE – DB_RECYCLE_CACHE_SIZE
例程 SGA 内存结构
库高速缓存 数据库缓冲区 高速缓存 Java 池 重做日志 缓冲区
共享池
数据字典 高速缓存
大型共享池
后台进程结构
PMON SMON DBWR LGWR CKPT 其它
1-7
建立连接和创建会话
连接到 Oracle 例程包括:
• 建立用户连接 • 创建会话
建立的连接 用户进程 服务器进程 创建的会话 Oracle 服务器
– 连续的虚拟内存分配
– 粒组大小由估算的 SGA_MAX_SIZE 总计大小确定
1-15
Oracle 执行SQL查询语句的步骤
如果用户在SQL*Plus下输入了如下的查询语句:
Select * from student;
那么,Oracle又是如何来处理这个语句的呢
?
1-16
Oracle 执行SQL查询语句的步骤
Oracle 体系结构组件
目标
完成这一课的学习后,您应该能达到下列目标:
• 概括 Oracle 体系结构及其主要组件 • 列出在用户连接到 Oracle 例程过程中涉及的结构
1-2
Oracle数据库中常用的术语
进程(process):一段在内存中正在运行的程序。 后台进程(background process):进程的一种,在内存中
• 其大小由 SHARED_POOL_SIZE 参数确定 共享池
ALTER SYSTEM SET SHARED_POOL_SIZE = 64M; 库高速缓存 数据字典 高速缓存
1-20
库高速缓存
• 存储有关最近使用的 SQL 和 PL/SQL 语句的信息
• 启用常用语句共享 • 由 “最近最少使用算法” (LRU) 管理
• 包括以下两个结构:
– 共享的 SQL 区 – 共享的 PL/SQL 区
• 大小由共享池的大小确定
1-21
数据字典高速缓存
• 数据库中最近使用的定义的集合
• 包括与数据库文件、表、索引、列、用户、权限和其它 数据库对象相关的信息
• 在语法分析阶段,服务器进程会在数据字典中查找用于 解析对象名和验证访问的信息
通过查看数据字典来检查表和列的定义。
对所操作的对象加编译锁以便在编译语句期间这些对象的定义不能被改 变。
检查所引用对象的用户权限。
生成该SQL语句所需的优化的执行计划(执行步骤)。 将SQL语句和执行计划装入共享的SQL区。
1-18
Oracle 执行SQL查询语句的步骤
执行:Oracle服务器进程开始执行SQL语句是因为它已获
• 将数据字典信息高速缓存到内存中,可缩短查询和 DML 的响应时间 • 大小由共享池的大小决定
1-22
数据库缓冲区高速缓存
• 存储已从数据文件中检索到的数据块的副本
• 能够大幅提高获取和更新数据时的性能 • 通过 LRU 算法管理
• 主块的大小由 DB_BLOCK_SIZE 确定
数据库缓冲区 高速缓存