论文范文网-权威专业免费论文范文资源下载门户!
当前位置:毕业论文格式范文>硕士论文>范文阅读
快捷分类: 企业资本结构优化开题报告 流程优化论文 机械优化设计论文 lte网络优化参考文献 配送优化论文任务书 g网络优化参考文献

关于内存优化论文范文 数据库系统内存优化分配策略相关论文写作参考文献

分类:硕士论文 原创主题:内存优化论文 更新时间:2024-03-06

数据库系统内存优化分配策略是关于内存优化方面的论文题目、论文提纲、android内存优化论文开题报告、文献综述、参考文献的相关大学硕士和本科毕业论文。

[摘 要] 本文主要介绍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由参数J A_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_area_size用于排序所占内存,Hash_area_size用于散列联接,位图索引.这两个分区是为每个会话单独分配的,在我们的服务器上除了OS + SGA,一定要考虑这两部分.它的内存分配原则为:OS 使用内存+SGA+并发执行进程数*(sort_area_size+hash_ara_size+2M) < 0.7*总内存.

总结:本论文可用于内存优化论文范文参考下载,内存优化相关论文写作参考研究。

参考文献:

1、 优化教学策略,幼儿语言能力 摘 要:只有通过倾听,幼儿才能学会接纳他人的意见,学会求同存异,才能使他们发出自己的声音,表达自己的观点或立场。教师要为幼儿提供一个充裕的时空,。

2、 论法理学教学内容优化的策略 [摘 要]法理学教学内容的优化要以卓越法律人才培养为目标,通过构建全景式“学科知识地图”,以“1+1+N”模式实现教学内容的承载,围绕理论、实践。

3、 计算机数据库系统在信息管理中应用 [摘要]随着计算机技术的不断发展,将数据库系统应用于信息管理,不但可提高信息处理效率,而且可实现信息资源的科学智能化管理。本文结合数据库系统的组。

4、 啤酒生产过程自动控制系统设计优化 摘要:啤酒生产过程自动控制系统设计优劣直接影响啤酒生产成本,啤酒生产控制精度,操作人员的体力劳动,生产效率和安全生产。本文从啤酒生产过程自动控制。

5、 电厂热动系统节能优化 摘 要:电力资源不仅是人们生活中必不可缺少,也是国家发展中所必须应用的资源,电厂是产电的主要场所,为我国的国民发展提供重要的支持。热动系统是电厂。

6、 商业地产企业主体资金压力优化管理策略 摘 要:商业地产企业的资金经营业务是影响企业综合发展质量的关键,而资金运营压力的有效明确与合理处置,是保证商业地产企业主体经营性活动的价值得到充。