这篇文章主要介绍“Oracle数据库的内存结构是什么”,在日常操作中,相信很多人在Oracle数据库的内存结构是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle数据库的内存结构是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!每个数据库实例有两个关联的内存结构—系统全免费主机域名局区(SGA),程序全局区(PGA)。系统全局(SGA):一组共享的内存结构(称为SGA
组件),其中包含一个OracleDB 实例的数据和控制信息。SGA 由所有服务器进程和后台进程共享。SGA 中存储的数据有高速缓存的数据块和共享SQL 区域等;SGA的大小由参数sga_target决定。程序全局区(PGA):包含某个服务器进程或后台进程的数据及控制信息的内存区域。PGA
是Oracle DB免费主机域名 在服务器进程或后台进程启动时创建的非共享内存。服务器进程对PGA 的访问是独占式的。每个服务器进程和后台进程都具有自己的PGA。PGA的大小由参数pga_aggregate_target决定。
SGA几个关键组件做以说明:共享池:shared pool,用于缓存可在用户间共享的各种构造,比如给定SQL
语句的语法分析树和执行计划。
数据库缓冲区高速缓存:buffer cache,从数据库中检索到的数据块是缓存在此,数据块从此内存组件对数据块进行操作,降低了硬盘IO负担,如果用户进程所需的数据在该区域能很找到,我们称之为高速缓存区命中,高的命中率反映出来的效果就是操作反应快,这点很好理解,数据库优化中很有必要考虑这点。 在buffer cache中,存在以下的缓冲区: (*)KEEP
缓冲区池:一种专用数据库缓冲区高速缓存,用于长时间在内存中保留数据块。一些频繁使用的数据块可相对长期的保留在此,不至于每次都从硬盘获取,从而优化了数据库的性能; (*)RECYCLE
缓冲区池:一种专用数据库缓冲区高速缓存,用于从内存中快速回收或删除数据块。相对于KEEP的对立面,很好理解;(*)nK
缓冲区高速缓存:多种专用数据库缓冲区高速缓存中的一种,用于存放大小不同于默认数据库块大小的数据块。注意默认数据块为8K 重做日志缓冲区:log buffer,用于存放有关对数据库所做更改的信息,重做信息在写入磁盘中重做日志文件(即redo文件)前,将缓存在此处。
大型池,用于为某些大型进程(例如Oracle
备份和恢复操作)和I/O 服务器进程提供大型内存分配。Java池和流池
到此,关于“Oracle数据库的内存结构是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云技术网站,小编会继续努力为大家带来更多实用的文章!
本篇内容介绍了“什么是Redis Cluster”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!=Redis Cluster是Redis的分布式解决方案,在Red…