Oracle数据库参数优化.doc

Oracle数据库参数优化.doc

ID:61419402

大小:32.00 KB

页数:7页

时间:2021-01-28

Oracle数据库参数优化.doc_第1页
Oracle数据库参数优化.doc_第2页
Oracle数据库参数优化.doc_第3页
Oracle数据库参数优化.doc_第4页
Oracle数据库参数优化.doc_第5页
资源描述:

《Oracle数据库参数优化.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Oracle数据库参数优化许多开发维护人员并没有真正理解Oracle数据库相关参数在系统运行中的作用,导致数据库系统的执行效率低下。因此,如何设计合理的Oracle数据库初始化参数就显得非常重要。为了访问数据库中的数据,Oracle数据库为所有用户提供一组后台进程,并且,有一些存储结构专门用来存储最近的有关对数据库访问的数据。这些存储区域可以通过减少对数据库文件的I/O次数来改善数据库性能。数据库实例就是用来访问一个数据库文件集的一个存储结构以及后台进程的集合。它使一个单独的数据库可以被多个实例访问(这是Oracle的并行服务器方式)。决定实例的组成以及大小的参数存储在

2、文件init.ora中。这个文件在实例启动时候需要装载,也可以在运行中被DBA装载。instance的init.ora文件通常包含instance的名字,比如一个instance叫ORA9,其init.ora将被起名为initORA9.ora。本文结合笔者实际工作中的Oracle数据库使用经验讨论其相关参数的调整策略。通常需要设置的参数:●DB_BLOCK_BUFFERS该参数决定了数据库缓冲区的大小,这部分内存的作用主要是在内存中缓存从数据库中读取的数据块,数据库缓冲区越大,为用户已经在内存里的共享数据提供的内存就越大,这样可以减少所需要的磁盘物理读写次数。在Orac

3、le9i以前版本数据库中,缓冲是由db_block_buffers*db_block_size来决定,db_block_size参数是在创建数据库时设置的,它决定数据库里每个块的大小,9i以前不能改变已经存在的数据库的块大小,因此应该在最初创建数据库时就确保设置适当的数据库块大小。在创建数据库时设置为8k,db_block_buffers*db_block_size的乘积占物理内存的20%~30%,物理内存在1G以内,可以占20%,1G~2G之间可占25%,物理内存在2G以上,可以占30%,甚至更高。说明:Oracle8i以后的数据缓冲区(databuffer)实际可由

4、三部分组成,分别是默认池、保留池(bufferkeep)和回收池(bufferrecycle)。保留池(bufferkeep)可用于存放需要极快访问的小表,回收池(bufferrecycle)可用于存放需要全表扫描的大表。保留池和回收池的大小分别由参数buffer_pool_keep和buffer_pool_recycle决定。这两个参数通常在做性能调整时才设置,因此不建议设置这两个参数。●shared_pool_sizeSharedpool由三部分组成,分别是Dictionarycache(包括数据字典的定义,如表结构、权限等)、Librarycache(包括共享的s

5、ql游标、sql原代码以及执行计划、存储过程和会话信息)和Controlstructure。它的大小由初始化参数shared_pool_size控制,它的作用是缓存已经被解析过的SQL,使其能被重用,不用再解析。SQL的解析非常消耗CPU的资源,如果一条SQL在Sharedpool中已经存在,则进行的仅是软解析(在Sharedpool中寻找相同SQL),这将大大提高数据库的运行效率。当然,这部分内存也并非越大越好,太大的Sharedpool,Oracle数据库为了维护共享结构,将付出更大的管理开销。这个参数的设置建议在150M~500M之间。如果系统内存为1G,该值可设

6、为150M~200M;如果为2G,该值设为250M~300M;每增加1G内存,该值增加100M;但该值最大不应超过500M。(Sharedpool不足,Oracle将报4031错)。●shared_pool_reserved_size它的作用是在sharedpool中保留一块区域以放置一些大对象(如大型软件包),如不设置此参数,系统缺省保留5%的sharedpool空间用于放置大对象,不建议设置该参数,让系统自动分配即可。●Sort_area_size该参数是当查询需要排序的时候,Oracle将使用这部分内存做排序,当内存不足时,使用临时表空间做排序。这个参数是针对会话

7、(session)设置的,不是针对整个数据库。即如果应用有170个数据库连接(session),假设这些session都做排序操作,则Oracle会分配8×170等于1360M内存做排序,而这些内存是在Oracle的SGA区之外分配的,即如果SGA区分配了1.6G内存,Oracle还需要额外的1.3G内存做排序。建议该值设置不超过3M,当物理内存为1G时,该值宜设为1M或更低(如512K);2G时可设为2M;但不论物理内存多大,该值也不应超过3M。●sort_area_retained_size这个参数的含义是当排序完成后至少为sessi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。