Oracle的体系结构(二)

news/2024/11/29 21:21:17/

                                Oracle的体系结构(二)

                                                                             --------------------学习者:张源凯

目录

                                Oracle的体系结构(二)

 1.11 Orale执行SQL查询语句的步骤

1.12 共享池shared pool

1.13 数据库高速缓冲区database buffer cache

1.14 内存缓冲区顾问

1.15 重做日志缓冲区

1.16 大池,Java池和Streams池

1.17 内存缓冲区大小的设定


 1.11 Orale执行SQL查询语句的步骤

SQL语句的执行主要由用户进程与服务器进程来完成,其他的一些进程可能要辅助完成这一过程。

查询语句与其他的SQL语句有所不同,如果一个查询语句执行成功,就要返回查询的结果,而其他的SQL语句只是返回执行成功或失败的信息。

查询语句的处理主要包括以下3个阶段:编译,执行和提取数据

编译:在进行编译时,服务器进程会将SQL语句的正文放入共享池的库高速缓存中并将完成以下处理

执行:Oracle服务器进程开始执行SQL语句是因为它已获得了执行SQL语句所需的全部资源和信息

提取数据:Oracle服务器进程选择所需的数据行,并在需要时将其排序,最后将结果返回给用户

1.12 共享池shared pool

库高速缓存:library cache

数据字典高速缓存:data dictionary cache

SGA中的共享池是由库高速缓存和数据字典高速缓存两部分所组成。

服务器进程将SQL语句的正文和编译后的代码以及执行计划都放在共享池的库高速缓存中。

在进行编译时,服务器进程会首先在共享池中搜索是否有相同的SQL或PL/SQL语句。

要想共享SQL或PL/SQL语句的两个条件:

(1)库高速缓存要足够大

(2)SQL或PL/SQL语句要是能共享的通用代码

Oracle没有给出直接设置库高速缓存大小的方法,只能通过设置共享池的大小来间接的对其设置。

当Oracle执行SQL语句时,服务器进程将把数据文件,表,索引,列,用户,和其他的数据对象的定义和权限信息放入数据字典高速缓存。

Oracle没有给出直接设置数据字典高速缓存大小的方法,只能通过设置共享池的大小来间接的对其设置。

例:alter system set shared_pool_size=250M;

1.13 数据库高速缓冲区database buffer cache

 Oracle提取数据库中的数据:服务器进程将首先在数据库高速缓冲区中搜寻所需的数据,如果找到了就直接使用而不进行磁盘操作;如果没找到就将进行磁盘操作把数据文件中的数据读入到数据库高速缓冲区中。

Oracle也是使用LRU的队列或算法来实现对数据库高速缓冲区的管理。

数据库高速缓冲区=Oracle数据块大小*内存缓冲区个数

alter system set db_cache_size=250M

1.14 内存缓冲区顾问

v$db_cache_advice帮助获得调整数据库高速缓冲区的统计信息。

on:有一定的内存和cpu开销,进行统计信息的收集

ready:没有cpu的开销

off:没有内存的开销也没有cpu的开销

alter system set db_cache_advice=off;

1.15 重做日志缓冲区

引入重做日志缓冲区redo log buffer的主要目的就是数据的恢复。Oracle在使用任何DML或DDL操作改变数据之前都将恢复所需的信息,即在写数据库高速缓冲区之前,先写入重做日志缓冲区。

1.16 大池,Java池和Streams池

SGA中还有可能包含大池,Java池和Streams池三个可选的内存缓冲区。

Large pool的主要目的应该是提高效率。大规模I/O及备份和恢复操作时可能使用该分区。

Java pool的目的是能够编译java语言的命令。

Streams pool是由Oracle Streams使用的,以存储捕获和应用所需的信息。

1.17 内存缓冲区大小的设定

SGA中至少包括三个区组:SGA系统全局区固定区;数据库高速缓冲区;共享池;

Oracle数据库管理员可通过alter system set 命令来分配和回收区组。但总的内存大小不能超过参数SGA_MAX_SIZE.


http://www.ppmy.cn/news/535492.html

相关文章

javassist 动态修改 jar 包中 class

Javassist(Java Programming Assistant)是一个用于在运行时操作字节码的库,它可以用于动态修改和操作Java类。使用Javassist,可以通过修改现有的类或创建新的类来实现动态修改Jar包中的类。 下面是一个简单的示例,展示…

Camera之android8.0以上HIDL与C++数据类型转换(三十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

ms word 的激活

使用工具 office tool plus 官网 https://otp.landian.vip/zh-cn/download.html 下载链接https://download.coolhub.top/Office-Tool-v7.6.zip 使用方法https://www.coolhub.top/archives/14 参考文档https://www.coolhub.top/tech-articles/licenses.html

激活mircrosoft office2013

1、下载microsoft toolkit 2.5.1 百度云:https://pan.baidu.com/s/1dTBHy2,密码:x1o1 2、启动任务管理器(win10下,鼠标移到菜单栏,右键即可打开任务管理器) 3、关闭microsoft software protecti…

office2013激活

使用提供的KMS激活 https://www.kms.pub/index.html cmd进入目录 C:\Program Files\Microsoft Office\Office15 执行以下两个命令 cscript ospp.vbs /sethst:win.kms.pub cscript ospp.vbs /act 也可以使用其他的有效kms地址进行激活,如 kms.03k.org kms.chin…

word2010激活工具使用方法

1、关闭杀毒,关闭正打开着的word文档 2、执行Activator_v1.2.exe-->Activation Office 2010VL --》按1 --》完毕。 3、打开word--》文件--》帮助--》看右上角。 2、【补充】使用 Office 2010 Toolkit 下载地址: http://vdisk.weibo.com/s/yoz9R 或…

激活Microsoft Word 2010

先关闭系统的防火墙(像360安全卫士这类软件),再运行“office 2010 正版验证激活工具”,并点击“Install/Uninstall KMService”安装“KMS”服务器(如下图,在弹出窗口中输入Y即可运行)&#xff0…

kafka基础

文章目录 1、什么是消息队列?2、基础架构3、Kafka为什么快4、零拷贝5、Rebalance机制6、kafka如何避免重复消费7、避免消息丢失8、Kafka怎么实现消息的顺序消费9、什么是ISR10、Kafka文件存储机制 1、什么是消息队列? kafka是一个消息队列的中间件&…