暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
Oracle sql语句执行过程图文分析
477
8页
10次
2020-01-19
5墨值下载
【引言】
最近应一些朋友要求,让说明下
Oracle
的体系结构,这段时间有意要写下;其实考试过
OCM
的亲都知道
,
最权威的
Oracle
体系介绍是
Oracle
的官方文档,但无奈很多亲一看请问就头痛,看过的也反应内容太多不
好消化吸收。
今天恰巧碰到一篇文章,很适合上面亲的需求,故转载之。
本文简单明了的讲述
Oracle
大致的体系架构,通过业务用户
session
发起和
sql
执行过程来讲述了
Oracle
内在执行过程;文章结构和讲解思路简洁明了,有内在逻辑性,是一篇很不错的
Oracle
启蒙性文章。
本文转载文章链接如下,根据个人理解做了内容语句的调整。

1
数据库文件

数据库文件大概可分为
种,分别为
控制文件
(control les):
存放数据库本身物理结构信息
数据文件
(data les):
存放数据库数据
日志文件
(log les):
包括重做日志文件和归档日志文件,记录数据库数据的变化

如下图
:
2
数据库实例
此时,用户和应用程序是无法直接访问数据库文件的数据的;如果要连接

服务器,服务器端会启动

或多个
 !"
#
个实例,用户可以通过连接这个实例来访问数据库的数据。
实例有两个组成部分,分别是
系统全局内存区
(SGA)
服务器专门划分给

实例使用的内存块
Oracle
进程
:
包括服务器进程和后台进程,后面会解析
2.1
系统全局内存区
(SGA)
$%!
&'
(
()


()
注意:可用
v$sga
这个视图去查看
sga
各大块大小。
$*$+,-./0'12
3!456!785"39:,
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
<=($>?@?
6$>?5A
,-)5A
(-)???
sql
语句的执行流程涉及
3
块缓存区
:
共享缓冲区
(shared pool)
数据库缓冲高速缓存
(database buer cache)
重做日志缓冲区
(redo log buer)
如下图
:
2.2
服务器进程
#



#

的进程,即服务器进程。
如下图
注意:
每当
个新用户创建
个新的连接到数据库,

都会对应创建
条服务器进程。
2. 3 PGA(Program Global Area)
对应上面的
$'B

会在服务器上对每一
$'B
分配一定大小的内存,就是
B%!
注意有

就会有几个对应的
B%!
块,所以服务器对内存需求很大。
可以用
9(9#0'1
,语句来查看当前使用的总
B%!
大小。
如图
:
3.
客户端与服务器的
SQL
语句传输
用户在客户端输入若干条
$C7
语句,如
个存储过程,有读和写的动作

这条语句通过什么来传输?答案就

,服务
器上用什么来接受这个
D
语句呢,答案就是
$'B
如图
of 8
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。