《OracleDBA手册V20.docx》由会员分享,可在线阅读,更多相关《OracleDBA手册V20.docx(28页珍藏版)》请在优知文库上搜索。
1、Orac1.eDBA手册文档信息:文档名葬Orac1.eDBA手物VO.1文若号文档存款文楼密效内部发行者技术总部发行日常2007-6-19文档变更记录:修订日期版本号修订人批准人2007-6-19创立VO.1林强、王凌洁2007-6-29评审Y1.O场箍湖*林凝、汤成上海SgCARD金仕达计算机有年公司版权所有若非上海S1.JNGARD金仕达计算机有限公司授权,不得引弼本文档或本文档中的任何局部前者设计时优化规划啜蜜I/O监控表空间的I/O比例.监控文件系统的I/O比例得数Igit估计都寻时调优错慢:未定义书签.333030调整DBi1.R与进程酱整Dn1.1.1.ocks调整OPen.cu
2、rsors调整Data_1.inks调整系统进程数Processes调整会话Sessions调整事务transactions调整Job数量调整读取数据最大块数设j1.ock-sga:设置tied_statistics调整或大回国段我jEdbcacheadvice:调整优化模式Optimizerjnode调整优化槿式OptjmiZejindeX.caching.调整优化模式OPtimiZeJindeX_CoS1.adj.调整优化模式opti11izerjnaxPermutations并行优化para1.1.e1._adaptive_u1.ti_user:Para1.Ie1._automatic_
3、tuning:叁致Para1.1.eIJnaX_SerVerS_paraeeterpara1Ie1._threads_pcr_cpu:para1.1.e1._maxservers:改表或视图并存度内存调整SGA调优调整数据蝮冲区buffer_PoO1.kecj)缓冲区bufferPOO1.reCye1.e坂冲区调整共享缓冲区坂存调整日志畿冲区20调整排序区21调整大池缓冲区21调整JAYA池缓冲区22调整表空间25衣着回送段25查看题据库中回退段信息25在陵冲区驻团对象(BUFFER.POO1.KEEP27碎片调优28自由范用的碎片计算29段的碎片整理29杳找使用CPU多的用户30查看用户的内
4、存使用情况30联系信息错出!未定义书签.前言调整数据库的性能必须有一个明确的目标,总的来说可以是以下的几个目标之一或多个:在调整ORAC1.E性能之前,首先要有一个柢能良好的应用设计及药效的SQ1.语句,在比基础上调整ORAC1.E性能的过程有三步:调整内存分配调整I/O谢整资源争用因此,根据上述的原则并根抠自己的工作经脸,认为对我据库的优化大体上可分为如下几个阶段进行:安装数据库时.就数据库的数据块大小进行成认。此参数在数据隼安装之后就不能通过修改J始化参数进行修改或重新创立控制文件进行修改,要改变该值.唯一的方法是堇新安装数据库。在数据库安装完毕之后,对数据库初始化叁数进行修改.一个经过调
5、优过的挈数,对一个系统而言,可作到事半功倍的成效。调整主机的硬件性能和操作系统的软件性能,疾之配合数据库.发悻最大的梃能.进行应用系统的物理设计。进行应用程序的辐写时,对SQ1.语句的优化.在试运行时对系统的物理设计以及应用程序的调整,在系统运行过程中,通过对系统的芨控,认识到东统的瓶颈,对系统再进行一次性能调整.此步骤在今后的系统运行中可能要反复屡次.一、设计时优化规划磁盘I/O1/0瓶颈是最大仕能问题.跨所有可用的磁盘均匀地平街I/O,可以戒少磁话存取的时间.有一个适当的甥理布局.表空间(和它们的数据文件应尽可能地分散在不同的磅隹上。把表空间分散在不同的盆上能够消除或者至少能笏减少磁盘争用
6、.求盘争用在多用户或程序试图同时访问同一张皴这时发生.例如,你有两个必须始常连拈在一起的表,例如DIP,RTMENTS和IMIoYEES表,它们的表空何通常要被分散在两张不同的磁盆上,因为要存取相同噌#上的表或者索引,所以会导致并同一费源的争用。理悲情宛就是这囚个段放在四张不同磁世上的四个表空阿里。另一种方法是和聚熊那样,把这些段放在相同的磁盘上。你可以研究OraCIe版的聚泰技术。对数据量估计对系统中大蚊据量表要进行分类,如流水怅的表,每天都是招量几十万条数据。1,这类表要用分区功能处理,爬商数据查询速度,对数据库的数据分散管理,对于表的所有愫作均适应于分区表的每个分区.2,采用定期转存方式
7、,数括到备份库方式,使前台的表保存一定的数据曼,优化数据表结构.对只读类数据的设计规化六只读类数据存片优化,如历史笈表数据等.表空间或表的参数PCIUSCd统上=46”此卷数悬每个数据无卷能移存储数据空间的大小,表空间叁数Petfree缺省=1伙.比参数是用来UPDAT操作时用的。如果杷表空间步数PCtUSed设置小0%.把PCtfree设置=5%,大大提高数惺块存储数据能力,如原来读取】OooO条读录要读100O个IO块,现在只要读100个IO块。做了dbaobject表做了一个测试,压缩比例压缩分原来的1/3,当然区培比根据不同的表会有不同,字段值重复越少压能比越高,对我们应该还是比较适合
8、.)注意:比参数调整适用于只读数据二、部署时调优系统参数调整调整1.GWR等次1/0号的大小依敕于1.oG蟆冲区的大小,该大小由1.OGBWTER所设置,裳冲区大大会爽迟芍操作,A小可能导致菊繁的小的I/O操作,如果I/O操作的平均大小很大,那么1.OG文件就会成为瓶强,可以使用STR1.PEREDO1.OG文件防止这个问题。调整INn.0RA中的参数1.(X1.BuFFER以调节1.oG缓冲区大小,把REDO1.OG文件分为几个文件,放在不同的槌野上。调整DBwR写进程参数名:db_uritcr_proccsscs:说明:一个例程的数据库写迸程的初始数量。如果使用了DBIR_I(1.S1.A
9、VES,则只能使用一个数据库写进程.可以包立多个数据庠写进程.值苑围:1-10默认值:1查询参数的SQ1.:se1.ectfromv$paraeterwherename1.ikedbwriterprocesses%,OraeIC提供以下方法以防止DBUR(敢据球写进程)活动成为标茨:使用异步I/O异步I/O允许进程继域处理下一不操作,而不必等待在发出写后,最小化了空闲时间,因而改善了系统性能。SoIariS支拈原的设备和文件系统数据文件的异步1/0。使用I/O附属1/0附属(s1.ave)是专用的进程,其惟一功能是执行1/0。它们代Orac1.e7的多个DBUR特性(实际上它们是多个DRWR的
10、梭括,可以由其它进程分布。不管异步I/O是否可用,它们都可以操作.若设置的话,它们械从1.ARGEPoo1.SIZE分配,否则从其亭内存缓冲区分配.初始化参数控制了I/O附属的行为,其中DIS1.ASYNC1.1.1.O和TAPE_ASYNG1.Io允许分别为槌盍和槌带设备关闭异步1/0(因为每个进程类型的I/O附属缺省为0.除非明确设置.否则没有I/O附属被发布)。若DISK_ASYNCH_IO或TAPE-ASYNCH_IO无效,则DHWROs1.AVES应该设置大于0,否则DBWR将成为一个根颈.在这种情况下,SOIariS上DBiIR_1(1.S1.AYES的最正确值为4,而在1.GWR
11、_IOS1.AVES的情次,下.发布的附属不应该超过9个.DB,WRITERPRoCESSES代替On1.C1.e7的参数DBWRrrERS,指定某实例的数祭库写进程的初始敷量.若使用DBttRIO-S1.jwES,则只有一个数据库写进程被使用,而不管DB_WRITEI1.PRoCEsSES的设置.如果工作在一个可以支持多进程的操作系统上,应该马上改变这个参数的值.以获得更好的性能.许多DBA有个错误的柢念,认为此参数受CPU蛾量的限制,实际并非如此。建议为每个数据文件设置两个他据库写入进程.调整1.GWRI/O每次I/O写的大小依财于1.oG馈冲区的大小,该大小由1.oGBtJFFER所设置
12、,馈冲区大大会延迟写操作,大小可能导致频繁的小的I/O操作.如果0掇作的平均大小很大,那么1.oG文件就会成为瓶呆,可以发用STRIPEREDo1.OG文件防止这个问题。调整IN11.ORA中的叁数1.0G_BUFFER以调节1.OG缓冲区大小,把REDO1.OG文件分为几个文件,放在不同的A.调整Dm1._1.ocks用户一次可对哀设定锁的最大数目,如果有三个用户修致6个表,刚需I8个DM1.粮来实现并行操作,如果设定DMj1.oeKS不够大.操作时执行桥中断.你可以通过你的应用程序的愫作视模和最大的并行使用的用户数来估算系统所需要的DM1.JOCKS的值.如果在系统运行中经常发生表锁死的现
13、象,就应该考虑加大该值.设置DM1.OCKS=(并行用户的最大数X(表的数量)。例如,保设你有U个用户和T个表,那么应设置DH1.,OCKS=(1.T),迁可以加上一些余量,例如10.受询卷数的SQ1.:se1.ect丰fromHparaBCICrwherename1.ikerdm1.1.ocks%,调整Open_cursors这个参蚊的值决定了一个用户同时可以翻开的游标数目。可以将游标想象成OraCIe分配治用户的用于受理SQ1.语句的内存空间。这个参数的初始值大小,当用户无法朝开游标胪,应用程序将停止运行。提示诚扬我的值应设将尽可能的大,否则应用程序将由于无法卷开游标而停止运行.建议是设值
14、为:2500-3000查询卷数的SQ1.:se1.ectfromw$ParaBC1.Crwherename1.ikeOPCn-Cursors+调整Datainks参蚊名:。Pen_1.inks:说明:指定在一次会话中同时翻开的与远程数据库的连接的最大数量,该值应等于或超过一个引用多个数据库的单个SQ1.语句中引用的数据库的数量,这样才能翻开所有效据库以便执行该语句.值花田:O-255(如果为0.不允许分布式事务处理)。默认值:4熊议是用按实际dataink数来设置登询参数的SQ1.:se1.ect*fromvS)araeterwherename1.ikeopeninks%调整系统进程数Proc
15、esses这个卷数的值决定了能同片访问OraCIC数据库的进程数。这个参数的初始值为160.但是这个值大小了.S为OraeIe系统本身所使用的系统迸程以及由某个进程所产生的新进程都将占用可使用的进程敷。除季想果制使OraCIC数抠率的用户数,或者由于机JS的性能缺乏,否则应将该参数的位尽可能的大。窿议修改后值不能小于:10OM并发用户数2)攵询参数的SQ1.:se1.ectfromvSara三ctcrwherename1.ike,processes%调整会话Sessions说明:指定用户会话和系统会话的总量。默认蚊,大于PROCESSES,以允许递归会话。就议修改后值为(Processes*120%)查询参数的SQ1.:se1.ectfromv$paraeterwherename1.ikeSe