电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Oracle Tuning的一些总结VIP免费

Oracle Tuning的一些总结_第1页
1/34
Oracle Tuning的一些总结_第2页
2/34
Oracle Tuning的一些总结_第3页
3/34
OracleTuning的一些总结关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA、PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化。做好这两个方面的优化,就可以使一套完整的Oracle应用系统处于良好的运行状态。本文主要是把一些OracleTuning的文章作了一个简单的总结,力求以实际可操作为目的,配合讲解部分理论知识,使大部分具有一般Oracle知识的使用者能够对OracleTuning有所了解,并且能够根据实际情况对某些参数进行调整。关于更加详细的知识,请参见本文结束部分所提及的推荐书籍,同时由于该话题内容太多且复杂,本文必定有失之偏颇甚至错误的地方,请不吝赐教,并共同进步。1.SGA的设置在OracleTuning中,对SGA的设置是关键。SGA,是指SharedGlobalArea,或者是SystemGlobalArea,称为共享全局区或者系统全局区,结构如下图所示。对于SGA区域内的内存来说,是共享的、全局的,在UNIX上,必须为oracle设置共享内存段(可以是一个或者多个),因为oracle在UNIX上是多进程;而在WINDOWS上oracle是单进程(多个线程),所以不用设置共享内存段。1.1SGA的各个组成部分下面用sqlplus查询举例看一下SGA各个组成部分的情况:SQL>select*fromv$sga;NAMEVALUE------------------------------FixedSize104936VariableSize823164928DatabaseBuffers1073741824RedoBuffers172032或者SQL>showsgaTotalSystemGlobalArea1897183720bytesFixedSize104936bytesVariableSize823164928bytesDatabaseBuffers1073741824bytesRedoBuffers172032bytesFixedSizeoracle的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了SGA各部分组件的信息,可以看作引导建立SGA的区域。VariableSize包含了shared_pool_size、java_pool_size、large_pool_size等内存设置DatabaseBuffers指数据缓冲区,在8i中包含db_block_buffer*db_block_size、buffer_pool_keep、buffer_pool_recycle三部分内存。在9i中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、db_nk_cache_size。RedoBuffers指日志缓冲区,log_buffer。在这里要额外说明一点的是,对于v$parameter、v$sgastat、v$sga查询值可能不一样。v$parameter里面的值,是指用户在初始化参数文件里面设置的值,v$sgastat是oracle实际分配的日志缓冲区大小(因为缓冲区的分配值实际上是离散的,也不是以block为最小单位进行分配的),v$sga里面查询的值,是在oracle分配了日志缓冲区后,为了保护日志缓冲区,设置了一些保护页,通常我们会发现保护页大小是8k(不同环境可能不一样)。参考如下内容SQL>selectsubstr(name,1,10)name,substr(value,1,10)value2fromv$parameterwherename='log_buffer';NAMEVALUE----------------------------------------log_buffer163840SQL>select*fromv$sgastatwherepoolisnull;POOLNAMEBYTES-----------------------------------------------fixed_sga104936db_block_buffers1073741824log_buffer163840SQL>select*fromv$sga;NAMEVALUE------------------------------FixedSize104936VariableSize823164928DatabaseBuffers1073741824RedoBuffers172032172032–163840=8192(以上试验数据是在HPB.11.11+Oracle8.1.7.4环境下得到的)1.2SGA的大小设置在对SGA的结构进行简单分析以后,下面是关于如何根据系统的情况正确设置SGA大小的问题。SGA是一块内存区域,占用的是系统物理内存,因此对于一个Oracle应用系统来说,SGA决不是越大越好,这就需要寻找一个系统优化的平衡点。1.2.1设置参数前的准备在设置SGA的内存参数之前,我们首先要问自己几个问题一:物理内存多大二:操作系统估计需要使用多少内存三:数据库是使用文件系统还是裸设备四:有多少并发连接五:应用是OLTP类型还是OLAP类型根据这几个问题的答案,我们可以粗略地为系统估计一下内存设置。那我们现在来逐个问题地讨论,首先物理内存多大是最容易回答的一个问题,然后操作系统估计使用多少内存呢?从经验上看,不会太多,通常应该在200M以内(不包含大量进程PCB)。接下来我们要探讨一个重要...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Oracle Tuning的一些总结

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部