Oracle进阶学习2:SQL语句执行过程

文章目录

一些背景知识

相关知识

一些背景知识

ORACLE数据库启动的时候,Oracle首先在内存中划出一段空间启动一堆进程,进程以及该内存区域统称为Oracle实例

Oracle实例关联的基本内存结构包括:

系统全局区(SGA)由所有服务器进程和后台进程共享,对于所有进程来说,内存空间共享,实际工作中会有一定区域的分配

程序全局区(PGA)专用于某一个服务进程或者后台进程,每一个进程使用一个PGA,Oracle新版本,存在一个很大空间的PGA空间,每启动一个进程,会将一定PGA空间分给对应的进程,重点是前台进程和PGA的关系

Oracle数据库三种文件组成

.ctl文件 控制文件

.log文件 日志文件

.dbf 数据文件

相关知识

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExNzIwMTE5MDI0,size_16,color_FFFFFF,t_70

Server process是实例的进程,主要在SQL处理时执行部分功能

SQL语句的执行过程

郑州不孕不育医院:http://jbk.39.net/yiyuanzaixian/zztjyy//

客户端输入SQL语句

SQL语句经过网络到达数据库实例

Server process拿到SQL语句之后进行解析,首先应该是去shared pool查找是否存在对应的语句以及执行计划,如果没有找到,server process自己解析进行下一步去执行解析,解析步骤如下:

1. SQL process判断语句语法是否正确

2. 访问的表是否具有访问权限

3. SQL语句涉及的表以及视图数据库有没有

4. SQL语句应该如何执行->寻找最优的执行方法,然后生成执行计划

server process根据SQL语句的执行计划去DBF取出数据,放到buffer cache,然后返给用户,在此之前是server process首先寻找的是buffer cache,如果存在则直接在buffer cache取出数据,

猜你喜欢

转载自blog.51cto.com/14393750/2408569