全文预览已结束
付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅谈数据库系统内存优化分配策略 摘 要 本文主要介绍Oracle数据库的内存组成,各部分内存如何分配与优化,包括SGA区、PGA区等。 下载 关键词 Oracle 数据库;内存分配;内存优化 doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 13. 064 中图分类号 TP311.13 文献标识码 A 文章编号 1673 - 0194(2017)13- 0152- 03 1 数据库系统介绍 数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源,研究如何存储,使用和管理数据。数年来,数据库技术发展迅速,应用广泛。数据库技术不仅应用于事务处理,并且进一步应用到情报检索、人工智能、专家系统、计算机辅助设计等领域。 Oracle数据库系统是Oracle(甲骨文)公司于1979年发布的世界上第一个关系数据库管理系统。经过30多年的发展,Oracle公司也成为当今世界上最大的数据库厂商和最大的商用软件供应商,Oracle数据库系统已经应用于各个领域,是当前市场占有率最高的数据库产品,约为49%。在当今世界500强企业中,70%的企业使用的是Oracle数据库,世界十大B2C公司全部使用Oracle数据库,世界十大B2B公司中有9家使用的是Oracle数据库。 2 Oracle数据库内存基本组成 Oracle数据库系统的内存包括两部分:SGA和PGA。SGA即System Global Area系统全局区。一个数据库实例对应一个SGA,SGA在数据库实例启动的时候被分配。SGA作为数据库实例的基本组成,是一个非常大的内存空间,甚至可以占据物理内存的80%。PGA即Program Global Area程序全局区。一个服务进程启动的时候就会分配一个PGA。在Oracle Instance中PGA可能会很多,例如启动10个Server Process就?有10个PGA。 Oracle数据库系统的使用场景一般为管理海量数据,而数据都是存储在磁盘上的,为了提高存储、访问的效率,那么Oracle必然会在内存中开辟一块很大的内存区域(内存的访问速度比磁盘要快几千倍甚至几万倍)。因此,Oracle是一个比较耗费内存的软件,且大多消耗在SGA上。SGA的大小是可以配置的,随着数据库的负载加大,数据库实例对内存的需求加大,那么SGA也会扩张甚至会把整个内存都消耗掉。因此,如何科学的分配Oracle数据库系统的内存区对于数据库系统来说是一个至关重要的问题。 3 Oracle数据库内存优化 3.1 SGA区的内存分配管理 SGA包含以下几大块的基本内存:Shared Pool、Database Buffer Cache、Redo Log Buffer、Large Pool、Java Pool。其中Shared Pool、Database Buffer Cache、Redo Log Buffer是核心的内存区域,Large Pool和Java Pool是可选的。 Shared Pool的主要作用是存储SQL解析后的内容。例如:发出一个SQL语句或命令让数据库执行,SQL在数据库内部就需要被解析,建立执行计划,然后按照执行计划去执行,每个SQL语句都要被解析成原始操作去执行,解析好的SQL语句都会存储在共享池中。在Oracle Instance中Shared Pool非常重要,它关系到数据库的性能,共享池包含两块共享内存,这两块共享内存关系到数据库的性能。 Library Cache中存储的是经过编译解析后的SQL和PL/SQL语句的内容。如果下次在执行同样的SQL语句的时候,就不需要解析了,立即从Library Cache中获取执行。Library Cache的SIZE决定着编译解析SQL语句的频度,从而决定了性能。 Data Dictionary就是存储着数据库的控制信息。为了提高访问Data Dictionary的速度,此时需要一个缓存,需要的时候访问内存即可。Data Dictionary Cache里面的信息包含了database files、tables、indexes、columns、users、privileges和其他的数据库对象。数据字典是使用最频繁的,几乎所有的操作都需要到数据字典去查询(例如:需要针对一个表进行操作,就需要到数据字典去查询用户对这个表是否具有访问权限等等),它的大小是由Shared Pool来决定的。 Database Buffer Cache的任务主要是用于存储数据文件中的数据,在Oracle中数据是存储在磁盘上的,但访问磁盘中的数据速度又会很慢,那么就需要将其中一部分的数据放入到内存中,提升访问的速度。例如一个用户去访问一个表里面的记录时,数据库接收到这个请求后,他首先会在这个缓存中查找是否存在该数据库表的记录,如果有,则直接从内存中读取该记录返回给用户,否则只能去磁盘上去读取。很显然,如果希望性能提高就需要提升Cache的命中率。Database Buffer Cache中存储的是Data Blocks(数据块)。 数据库是处于经常改变状态的,比如有时候事务失败的需要回滚,就需要Redo Log Files来记录数据库的改变,如果想恢复数据库文件就用Redo Log Files里面的内容进行恢复。Redo Log File在内存中有一个对应的Cache,它称为Redo Log Buffer。每次对数据进行改变,在Redo Log里面就会有相应的一条记录,这条记录称为Redo Entries,一条Redo Entries就可以恢复一次对数据库的改变。Redo Log Buffer的SIZE由参数LOG_BUFFER来决定。 Large Pool主要用于处理一些额外的工作,比如说使用RMAN进行备份、进行并行处理,或者做一些I/O操作。Large Pool的SIZE由参数LARGE_POOL_SIZE来决定。 Oracle支持Java编程,例如支持Java编写存储过程,Java Pool的SIZE由参数JAVA_POOL_SIZE来决定。 由此可见,SGA是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。设置SGA的内存分配策略是整个数据库系统内存管理的关键,理论上SGA可占操作系统物理内存的1/3-1/2。经研究测试发现,当SGA区达到系统可用内存的55%-58%时效果最佳,更有利于内存资源的充分利用与性能发挥。它的内存分配原则为:SGA+PGA+操作系统使用内存总物理内存。SGA=(db_block_buffers*blocksize)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB 3.2 PGA程序全局区的内存分配管理 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反。PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收。我们先将参数PGA_AGGREGATE_TARGET的值设置为SGA的20%,然后在数据库中运行有代表性的工作负荷、统计、检查PGA运行情况,然后根据实际情况对其进行适当调整。PGA包括两个分区,即Sort
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市奉贤区2024-2025学年九年级上学期语文期末考试试卷(含答案)
- 2025山东青岛高新区投资开发集团有限公司人员招聘岗位笔试历年参考题库附带答案详解
- 心理咨询师入门必读理论与实操技巧
- 2025年信息技术水平考复习题及答案
- 学习部招聘从面试到入职全流程解析
- 初级爆破考试题目及答案
- 2025年二季度新生儿专科护士考试题及答案
- 2025年跨境电商物流时效实战题目题目及答案
- 2025年文物保护工程从业资格考试(法律法规与工程管理)题库及答案
- 全科医师转岗培训实践技能试题含答案解析2025年版
- 上下游贸易合同范本
- (2025年)煤矿井下电工培训试题及答案
- 专题04 电化学原理的综合应用(高效培优讲义)(解析版)2026年高考化学一轮复习高效培优系列(全国通.用)
- 糖化血红蛋白教学课件
- 水果代采服务合同范本
- 2025年及未来5年市场数据中国船用螺旋桨轴行业发展监测及投资战略数据分析研究报告
- 皮沙发维修合同协议书
- 2025年数字音乐行业数字音乐平台用户消费行为分析报告
- 2025智慧监控系统安装工程合同
- 2025至2030中国产学研合作创新行业项目调研及市场前景预测评估报告
- 2025年泰安市公开招聘劳务派遣制工会社会工作者(52人)笔试考试参考题库及答案解析
评论
0/150
提交评论