Oracle体系中各个组件的含义
首先看张图
我们来引入第一个概念,oracle服务器,所谓oracle服务器是一个数据库管理系统,它包括一个oracle实例(动态)和一个oracle数据库(静态)。oracle实例是一个运行的概念(如操作系统的进程),提供了一种访问oracle数据库的方式,始终打开一个,并且只能打开一个oracle数据库,oracle实例有SGA和一些后台服务进程组成,在后台服务进程当中,DBWn PMON CKPT LGWR SMON是必备的后台进程,而ad queue,rac,shared server,ad replication则是可选的,之所以可选,要们是因为离开它oracle也能正常运行,要么是一些高级的功能才可以用得到。
oracle数据库是一个被统一处理的的数据的集合,从物理角度来看包括三类文件数据文件,控制文件,重做日志文件。从逻辑角度来看,oracle数据库至少包含一个表空间,表空间至少包含一个段,段由区做成,区有块组成。需要注意的是表空间可以包含若干个数据文件,段可以跨同一个表空间的多个数据文件,区只能在同一个数据文件内。
oracle还设计了其他的关键文件用来为整个系统服务,如配置文件,密码文件,归档日志文件,还有还有用户进程和服务进程,现在可以简单理解下执行sql语句就要用到这2个进程。
SGA |
SHARE POOL (共享池) 用如下命令可以调整 ALTER SYSTEM SET SHARED_POOL_SIZE=64M |
LIBRARY CACHE (库高速缓存) 1存储最近使用的SQL和PL/SQL语句信息 2包括SHARED SQL和SHARED PL/SQL 3用LRU算法管理 4大小由SHARE POOL大小决定 |
DATA DICTIONARY CACHE (数据字典高速缓存) 1数据库中最近使用的定义的集合 2包含数据库文件,表,索引,列,用户,权限和其他的数据库对象相关信息 3在语法分析阶段,服务器进程会在数据字典中查找用于对象解析和验证访问的信息 4将数据字典信息高速缓存到内存中,可缩短查询和DML的响应时间 5大小由共享池的大小决定 |
||
DATABASE BUFFER CACHE (数据缓冲区高速缓存) |
1存储已从数据文件检索到的数据的复本 2大幅提高读取和更新数据的性能 3使用LRU算法管理 4主块的大小由DB_BLOCK_SIZE确定 |
|
REDO LOG BUFFER (重做日志缓冲区) |
1记录对数据库数据块作的全部更改 2主要用来恢复 3其中记录的更改被称作重做条目 4重做条目包含用于重新构建或重做更改的信息 5大小由LOG_BUFFER定义 |
|
LARGE POOL (大型池) |
1 SGA可选的内存区 2分担了共享池的一部分工作 3用于共享服务器的UGA 4用于I/O服务器进程 5备份和恢复操作或RMAN 6并行执行消息缓冲区(前提PARALLEL_POOL_SIZE=TRUE) 7不使用LRU列表 8大小由LARGE_POOL_SIZE确定 |
|
JAVA POOL (JAVA池) |
1存储JAVA命令服务分析要求 2安装和使用JAVA时必须的 3大小有JAVA_POOL_SIZE确定 |
|
PGA |
PRIVATE SQL AREA (专用SQL区) 专用SQL 区的位置取决于为会话建立的连接类型。在专用服务器环境中,专用SQL 区位于各自服务器进程的PGA中。在共享服务器环境中,专用SQL 区位于SGA 中。 管理专用SQL 区是用户进程的职责。用户进程可以分配的专用SQL 区的数目始终由 初始化参数OPEN_CURSORS 来限制。该参数的缺省值是50。 |
PERSISTEN AREA (永久区) 包含绑定信息,并且只在关闭游标时释放 |
RUNTIME AREA (运行时区) 在执行请求时的第一步创建。对于INSERT、UPDATE 和DELETE命令,该区在执行语句后释放,对于查询操作,该区只在提取所有行或取消查询后释放。 |
||
SESSION MEMORY (会话内存) |
包含为保留会话变量以及与该会话相关的其它信息而分配的内存。对于共享服务器环境,该会话是共享的而不是专用的。 |
|
SQL WORK AREAS (SQL工作区) |
用于大量占用内存的操作,如排序、散列联接、位图合并和位图创建。 工作区的大小可进行控制和调整 |
DBWn |
DBWn 延迟写入数据文件,直到发生下列事件之一: • 增量或正常检查点 • 灰数据缓冲区的数量达到阈值 • 进程扫描指定数量的块而无法找到任何空闲缓冲区时 • 出现超时 • 实时应用集群(Real Application Clusters, RAC) 环境中出现ping 请求 • 使一般表空间或临时表空间处于脱机状态 • 使表空间处于只读模式 • 删除或截断表 • 执行ALTER TABLESPACE 表空间名BEGIN BACKUP 操作 |
LGWR |
LGWR 在下列情况下执行从重做日志缓冲区到重做日志文件的连续写入: • 当提交事务时 • 当重做日志缓冲区的三分之一填满时 • 当重做日志缓冲区中记录了超过1 MB 的更改时 • 在DBWn 将数据库缓冲区高速缓存中修改的块写入数据文件以前 • 每隔三秒 |
SMON |
例程恢复 – 前滚重做日志中的更改 – 打开数据库供用户访问 – 回退未提交的事务处理 • 合并空闲空间 • 回收临时段 |
PMON |
进程失败后,后台进程PMON 通过下面的方法进行清理: • 回退用户的当前事务处理 • 释放当前保留的所有表锁或行锁 • 释放用户当前保留的其它资源 • 重新启动已失效的调度程序 |
CKPT |
• 在检查点发信号给DBWn • 使用检查点信息更新数据文件的标头 • 使用检查点信息更新控制 启动检查点的原因如下: • 确保定期向磁盘写入内存中发生修改的数据块,以便在系统或数据库失败时不会丢失数据 • 缩短例程恢复所需的时间。只需处理最后一个检查点后面的重做日志条目以启动恢复操作 • 确保提交的所有数据在关闭期间均已写入数据文件 由CKPT 写入的检查点信息包括检查点位置、系统更改号、重做日志中恢复操作的起始位置以及有关日志的信息等等。 注:CKPT 并不将数据块写入磁盘,或将重做块写入联机重做日志。 |
ARCn |
• 可选的后台进程 • 设置ARCHIVELOG 模式时自动归档联机重做日志 • 保留数据库的全部更改记录 |
发起连接的应用程序或工具通常称为用户进程,连接发起后,oracle服务器就会创建一个进程来接受连接,这个进程就成为服务进程,服务器进程代表用户进程与oracle实例进行通信,在专用服务器连接模式下,用户进程和服务进程是1对1的关系,在共享服务器模式下,多个用户进程可能共享一个服务进程。
当服务器进程开始和oracle实例进行通信时,一个会话就被创建了。
显然处理一个查询要经过语法分析,绑定,执行,提取等阶段。
Oracle体系中各个组件的含义的更多相关文章
- Oracle db中 CONNECT role的含义
出自: Complete Checklist for Manual Upgrades to 11gR2 (文档 ID 837570.1) 该文章中有例如以下的文字: From Oracle 10.2, ...
- WebLogic中WLS 组件漏洞(CVE-2017-10271)专项检测工具
来源: 时间:2017-12-23 00:00:00 作者: 浏览:1929 次 近期安恒信息在应急响应过程中发现有恶意攻击者利用WebLogic漏洞对企业服务器发起大范围远程攻击,攻击成功后植入挖矿 ...
- oracle存储过程中%type的含义
转: oracle存储过程中%type的含义 2018-11-07 11:43:56 lizhi_ma 阅读数 1361更多 分类专栏: 数据库 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- 理解 Oracle 多租户体系中(12c,18c,19c)Grant授权作用域范围
本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个授权可以成功执行? 1. 在CDB级别中对用户进行授权,不带 container 子句的效果: 2. 在CDB级别中对用户进行授权,带 co ...
- Oracle基础学习(二)v$session中Command的数字含义
v$session中Command的数字含义. 1 CREATE TABLE 2 INSERT 3 SELECT 4 CREATE CLUSTER 5 ALTER CLUSTER 6 UPDATE 7 ...
- RTSP RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议
RTSP 编辑 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwo ...
- 盘点 Oracle 11g 中新特性带来的10大性能影响
Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ...
- Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义
Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使 ...
- 关于Oracle GoldenGate中Extract的checkpoint的理解 转载
什么是checkpoint? 在Oracle 数据库中checkpoint的意思是将内存中的脏数据强制写入到磁盘的事件,其作用是保持内存中的数据与磁盘上的数据一致.SCN是用来描述该事件发生的准确的时 ...
随机推荐
- 《Effective C#》读书笔记
Effiective C# Item1 : 使用属性代替成员变量 Effective C# Item2:运行时常量(readonly)优于编译时常量(const) Effective C# Item3 ...
- atitit.农历的公式与原理以及农历日期运算
atitit.农历的公式与原理以及农历日期运算 1. 农历的概述1 2. 如何在电脑程序里面计算农历??1 3. 农历的公式2 4. 获取当日农历日历3 5. 历史日期公式加查表才能得到精确日期3 6 ...
- CSS的一些基础知识
<!DOCTYPE html><html><head><meta charset="utf-8"><title>标题&l ...
- iOS开发-UI 从入门到精通(一)
一.UI概述 (1)UI(User Interface)用户界面,用户能看到的各种各样的页面元素: (2)iOS App = 各种各样的UI控件+业务逻辑和算法: (3)想要开发出一款精美的应用程序, ...
- DEDE建站之图片标签技巧指南
做dede站的时候,曾经遇到很苦恼的事情,就是给图片集添加了一个网上下载下来的特效,需要给图片的链接上添加一个rel属性,供JS调用以达到那种特效.但是当时只知道dede的图片链接标签是[field: ...
- IOS开发基础知识--碎片11
1:AFNetwork判断网络状态 #import “AFNetworkActivityIndicatorManager.h" - (BOOL)application:(UIApplicat ...
- 优质Android小部件:索尼滚动相册
虽然骚尼手机卖的不怎么样,但是有些东西还是做的挺好的,工业设计就不用说了,索尼的相册的双指任意缩放功能也是尤其炫酷.其桌面小部件滚动相册我觉得也挺好的,比谷歌原生的相册墙功能好多了,网上搜了一下也没发 ...
- Python之Mac上搭建集成开发环境
首先下载一个东西: 找到下载地址:https://download.jetbrains.8686c.com/python/pycharm-professional-2016.2.1.dmg pycha ...
- java入门知识点结构
第一部分 计算机程序和面向对象编程 编程语言种类: 机器语言:2进制(0和1) 汇编语言:英文字符缩写和助记符 高级语言: 面向过程:面向过程是从微观上/细节上处理具体事务. C语言 面向对象: ...
- 【转】十个JavaScript中易犯的小错误,你中了几枪?
目录 常见错误一:对于this关键词的不正确引用 常见错误二:传统编程语言的生命周期误区 常见错误三:内存泄露 常见错误四:比较运算符 常见错误五:低效的DOM操作 常见错误6:在for循环中的不正确 ...