《高效优化oracle数据库设计方案.docx》由会员分享,可在线阅读,更多相关《高效优化oracle数据库设计方案.docx(15页珍藏版)》请在课桌文档上搜索。
1、大型ORACLE数据库优化设计方案摘要重要从大型数据库ORACLE环境四个不一样级别的调整分析入手,分析ORACLE的系统构造和工作机理,从九个不一样方面较全面地总结了ORACLE数据库的优化调整方案。关键词ORACLE数据库环境调整优化设计方案对于ORACLE数据库的数据存取,重要有四个不一样的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLERDBMS级的调整,第三级是数据库设计级的调整,最终一种调整级是SQL级。一般依此四级调整级别对数据库进行调整、优化,数据库的整体性能会得到很大的改善。下面从九个不一样方面简介ORACLE数据库优化设计方案。一.数据库优化自由构造O
2、FA(OptimalflexibleArchitecture)数据库的逻辑配置对数据库性能有很大的影响,为此,ORACLE企业对表空间设计提出了一种优化构造OFA。使用这种构造进行设计会大大简化物理设计中的数据管理。优化自由构造OFA,简朴地讲就是在数据库中可以高效自由地分布逻辑数据对象,因此首先要对数据库中的逻辑对象根据他们的使用方式和物理构造对数据库的影响来进行分类,这种分类包括将系统数据和顾客数据分开、一般数据和索引数据分开、低活动表和高活动表分开等等。二、充足运用系统全局区域SGA(Systemglobalarea)SGA是oracle数据库的心脏。顾客日勺进程对这个内存区发送事务,并
3、且以这里作为高速缓存读取命中的数据,以实现加速的目日勺。对的的SGA大小对数据库的性能至关重要。SGA包括如下几种部分:2、字典缓冲区。该缓冲区内的信息包括顾客账号数据、数据文献名、段名、盘区位置、表阐明和权限,它也采用LRU方式管理。3、重做日志缓冲区。该缓冲区保留为数据库恢复过程中用于前滚操作。4、SQL共享池。保留执行计划和运行数据库日勺SQL语句日勺语法分析树。也采用LRU算法管理。假如设置过小,语句将被持续不停地再装入到库缓存,影响系统性能。此外,SGA还包括大池、JAVA池、多缓冲池。不过重要是由上面4种缓冲区构成。对这些内存缓冲区的合理设置,可以大大加紧数据查询速度,一种足够大的
4、内存区可以把绝大多数数据存储在内存中,只有那些不怎么频繁使用的数据,才从磁盘读取,这样就可以大大提高内存区的命中率。三、规范与反规范设计数据库1、规范化2、反规范化反规范的必要性与否规范化的程度越高越好呢?答案与否认的,应根据实际需要来决定,由于“分离”越深,产生的关系越多,构造越复杂。关系越多,连接操作越频繁,而连接操作是最费时间的,在数据库设计中尤其对以查询为主的数据库设计来说,频繁日勺连接会严重影响查询速度。因此,在数据库的设计过程中有时故意保留非规范化约束,或者规范化后来又反规范,这样做一般是为了改善数据库的查询性能,加紧数据库系统的响应速度。反规范技术在进行反规范设计之前,要充足考虑
5、数据的存取需求,常用表的大小、特殊的计算、数据的物理存储等。常用的反规范技术有合理增长冗余列、派生列,或重新组表几种。反规范化的好处是减少连接操作的需求、减少外码和索引数目,减少表日勺个数,从而提高查询速度,这对于性能规定相对较高的数据库系统来说,能有效地改善系统日勺性能,但对应的问题是也许影响数据的完整性,加紧查询速度的同步减少修改速度。3、数据库设计中的优化方略数据应当按两种类别进行组织:频繁访问的数据和频繁修改的数据。对于频繁访问不过不频繁修改的数据,内部设计应当物理不规范化。对于频繁修改但并不频繁访问的数据,内部设计应当物理规范化。比较复杂的措施是将规范化的表作为逻辑数据库设计的基础,
6、然后再根据整个应用系统的需要,物理地非规范化数据。规范与反规范都是建立在实际的操作基础之上的约束,脱离了实际两者都没故意义。只有把两者合理地结合在一起,才能互相补充,发挥各自的长处。四、合理设计和管理表1、运用表分区分区将数据在物理上分隔开,不一样分区的数据可以制定保留在处在不一样磁盘上的数据文献里。这样,当对这个表进行查询时,只需要在表分区中进行扫描,而不必进行FTS(FUIlTableSCan,全表扫描),明显缩短了查询时间,此外处在不一样磁盘日勺分区也将对这个表日勺数据传播分散在不一样的磁盘I/O,一种精心设置的分区可以将数据传播对磁盘I/O竞争均匀地分散开。2、防止出现行连接和行迁移在
7、建立表时,由于参数pctfree和pctused不对时时设置,数据块中日勺数据会出现行链接和行迁移,也就是同一行的数据不保留在同一的数据块中。假如在进行数据查询时碰到了这些数据,那么为了读出这些数据,磁头必须重新定位,这样势必会大大减少数据库执行的速度。因此,在创立表时,就应当充足估计到未来也许出现的数据变化,对日勺地设置这两个参数,尽量减少数据库中出现行链接和行迁移。3、控制碎片碎片(fragmentation)是对一组非邻接的数据库对象的描述。碎片意味着在执行数据库的功能时要花费额外的资源(磁盘I/O,磁盘驱动时循环延迟,动态扩展,链接的块等),并挥霍大量磁盘空间。当两个或多种数据对象在相
8、似的表空间中,会发生区间交叉。在动态增长中,对象日勺区间之间不再互相邻接。为了消除区间交叉将静态区(或只有小增长日勺表放置在一种表空间中,而把动态增长日勺对象分别放在各自日勺表空间中。在Createtable、createindexCreatetablespaceCreateClUSter时,在StOrage子句中的J参数欧J合理设置,可以减少碎片的产生。4、别名的使用别名是大型数据库的应用技巧,就是表名、列名在查询中以一种字母为别9名,查询速度要比建连接表快L5倍。5、回滚段的交替使用由于数据库配置对应用表具有相对静止的数据字典和极高的事务率特点。并且数据库的系统索引段、数据段也具有相对静止
9、,并发目前应用中最高的负荷是回滚段表空间。把回滚段定义为交替引用,这样就到达了循环分派事务对应的回滚段,可以使磁盘负荷很均匀地分布。五、索引IndeX日勺优化设计1、管理组织索引索引可以大大加紧数据库的查询速度,索引把表中的逻辑值映射到安全的RoWID,因此索引能进行迅速定位数据的物理地址。不过有些DBA发现,对一种大型表建立的索引,并不能改善数据查询速度,反而会影响整个数据库的性能。这重要是和SGA的数据管理方式有关。ORACLE在进行数据块高速缓存管理时,索引数据比一般数据具有更高的驻留权限,在进行空间竞争时,ORACLE会先移出一般数据。对一种建有索引的大型表的查询时,索引数据也许会用完
10、所有日勺数据块缓存空间,ORACLE不得不频繁地进行磁盘读写来获取数据,因此在对一种大型表进行分区之后,可以根据对应的分区建立分区索引。假如对这样大型表的数据查询比较频繁,或者干脆不建索引。止匕外,DBA创立索引时,应尽量保证该索引最也许地被用于Where子句中,假如对查询只简朴地制定一种索引,并不一定会加迅速度,由于索引必须指定一种适合所需的访问途径2、聚簇的使用OraCIe提供了另一种措施来提高查询速度,就是聚簇(Cluster)o所谓聚簇,简朴地说就是把几种表放在一起,按一定公共属性混合寄存。聚簇根据共同码值将多种表的数据存储在同一种Oracle块中,这时检索一组Oracle块就同步得到
11、两个表的数据,这样就可以减少需要存储的Oracle块,从而提高应用程序的性能。六、多CPU和并行查询PQO(ParaIlelQueryOption)方式的)运用1、尽量运用多种CPU处理器来执行事务处理和查询CPU的迅速发展使得ORACLE越来越重视对多CPU的)并行技术的I应用,一种数据库的访问工作可以用多种CPU互相配合来完毕,加上分布式计算已经相称普遍,只要也许,应当将数据库服务器和应用程序日勺CPU祈求分开,或将CPU祈求从一种服务器移到另一种服务器。对于多CPU系统尽量采用ParalIelQueryOption(PQO,并行查询选项)方式进行数据库操作。2、使用ParaileIQUC
12、ryOption(PQO,并行查询选择)方式进行数据查询使用PQO方式不仅可以在多种CPU间分派SQL语句的祈求处理,当所查询的数据处在不一样的磁盘时,一种个独立的进程可以同步进行数据读取。3使用SQL*LoaderDirectPath选项进行大量数据装载使用该措施进行数据装载时,程序创立格式化数据块直接写入数据文献中,不规定数据库内核日勺其他I/O。七、实行系统资源管理分派计划ORACLE提供了DatabaseResourceManager(DRM,数据库资源管理器)来控制顾客的资源分派,DBA可以用它分派顾客类和作业类的系统资源比例。在一种OLDP系统中,可给联机顾客分派75加勺CPU资源
13、,剩余的25%留给批顾客。此外,还可以进行CPlJ的多级分派。除了进行CPU资源分派外,DRM还可以对资源顾客组执行并行操作的限制。八、使用最优的数据库连接和SQL优化方案1、使用直接的OLEDB数据库连接方式。通过ADO可以使用两种方式连接数据库,一种是老式的ODBC方式,一种是OLEDB方式。ADO是建立在OLEDB技术上日勺,为了支持ODBC,必须建立对应的OLEDB到ODBC的调用转换,而使用直接的OLEDB方式则不需转换,从而提高处理速度。2、使用ConnectionPool机制在数据库处理中,资源花销最大日勺是建立数据库连接,并且顾客还会有一种较长的连接等待时间。处理的措施就是复用
14、既有口勺Connection,也就是使用ConnectionPool对象机制。ConnectionPool的原理是:IIS+ASP体系中维持了一种连接缓冲池,这样,当下一种顾客访问时,直接在连接缓冲池中获得一种数据库连接,而不需重新连接数据库,因此可以大大地提高系统的响应速度。3、高效地进行SQL语句设计一般状况下,可以采用下面的措施优化SQL对数据操作的体现:(1)减少对数据库的查询次数,即减少对系统资源的祈求,使用快照和显形图等分布式数据库对象可以减少对数据库的查询次数。(2)尽量使用相似的或非常类似的SQL语句进行查询,这样不仅充足运用SQL共享池中的已经分析的语法树,要查询日勺数据在S
15、GA中命中日勺也许性也会大大增长。(3)限制动态SQL的使用,虽然动态SQL很好用,不过虽然在SQL共享池中有一种完全相似的查询值,动态SQL也会重新进行语法分析。(4)防止不带任何条件的SQL语句的执行。没有任何条件BSQL语句在执行时,一般要进行FTS,数据库先定位一种数据块,然后按次序依次查找其他数据,对于大型表这将是一种漫长的过程。(5)假如对有些表中的数据有约束,最佳在建表日勺SQL语句用描述完整性来实现,而不是用SQL程序中实现。(6)可以通过取消自动提交模式,将SQL语句汇集一组执行后集中提交,程序还可以通过显式地用commit和Rollbacl进行提交和回滚该事务。(7)检索大
16、量数据时费时很长,设置行预取数则能改善系统的工作体现,设置一种最大值,当SQL语句返回行超过该值,数值库临时停止执行,除非顾客发出新的指令,开始组织并显示数据,而不是让顾客继续等待。九、充足运用数据的后台处理方案减少网络流量1、合理创立临时表或视图所谓创立临时表或视图,就是根据需要在数据库基础上创立新表或视图,对于多表关联后再查询信息的可建新表,对于单表查询的可创立视图,这样可充足运用数据库的容量大、可扩充性强等特点,所有条件的判断、数值计算记录均可在数据库服务器后台统一处理后追加到临时表中,形成数据成果的过程可用数据库的过程或函数来实现。2、数据库打包技术日勺充足运用运用数据库描述语言编写数
17、据库的过程或函数,然后把过程或函数打成包在数据库后台统一运行包即可。3、数据复制、快照、视图,远程过程调用技术的!运用数据复制,即将数据一次复制到当地,这样后来的查询就使用当地数据,不过只适合那些变化不大的数据。使用快照也可以在分布式数据库之间动态复制数据,定义快照的自动刷新时间或手工刷新,以保证数据时引用参照完整性。调用远程过程也会大大减少因频繁的SQL语句调用而带来的网络拥挤。总之,对所有日勺性能问题,没有一种统一的处理措施,但ORAeLE提供了丰富日勺选择环境,可以从ORACLE数据库的体系构造、软件构造、模式对象以及详细的业务和技术实现出发,进行统筹考虑。提高系统性能需要一种系统的整体
18、的措施,在对数据库进行优化时,应对应用程序、I/O子系统和操作系统(OS)进行对应日勺优化。优化是有目的地更改系统的一种或多种组件,使其满足一种或多种目的的过程。对OraCIe来说,优化是进行有目的的调整组件级以改善性能,即增长吞吐量,减少响应时间。假如DBA能从上述九个方面综合考虑优化方案,相信多数ORACLE应用可以做到按最优的方式来存取数据。参照文献1、美JoeGreene,AdvancedInformationSystems,Inc.etal.Oracle8服务器技术精粹M.清华大学出版社,19992、瓮正科王新英0racle8.XForWindowsNT实用教程M.清华大学出版社,1
19、9993、KevinLoney.0racle8i数据库管理员手册M.机械工业出版社,20234、周渝斌基于0RCLE8i日勺大型数据库技术讲座之一数据库优化篇J电脑编程技巧与维护,2023,(4):5,大型ORACLE数据库优化设计方案飞雪一、活动目的:展示XX企业综合实力,树立企业形象,积累共享客户资源,拓展销售渠道。借此机会挖掘天津地区的潜在市场动力,推进在目的客户群中的影响力,战略性地提高品牌的著名度。文秘114建立目的客户的交流平台。二、目的客户群:地产界精英三、活动主题:XX杯中韩GoIf邀请赛四、活动时间:2023年05月20日五、活动地点:XXXX高尔夫俱乐部六、参与人员:40人
20、主办方10人特邀嘉宾30名八、预期效果:1、各大DT企业定期在举行形式多样的品牌推广活动,只有具有创新意义、雅俗共赏的活动才能给人留下深刻的印象,继而对主办企业产生美好印象并自发进行企业口碑宣传。2、采用高尔夫球交流赛形式,可以营造宽松、良好的交流气氛,构建一种畅通的客户关系沟通渠道。树立企业企业形象,宣传企业经营优势。3、特邀参与活动时人员均是在地产界功成名就的风云人物。采用交互的比赛方式,可迅速拉近距离,最终到达扩展销售渠道的目的。高尔夫联谊赛企划案飞雪 转眼间我们毕业已经五年了。事业、结婚、生子已经成为我们这些人日勺主题。当年意气风发的同学们应当聚一聚了。聚会必要性
21、1.毕业是一种人的里程碑,值得纪念;毕业五年则是人生中更关键的一种里程碑,心态基本稳定、职业基本稳定、家庭基本稳定;同步又在迎接新的发展; 2.五年此前的小范围聚会,大多只是互相保持联络;而五年的聚会则是大家充足交流与沟通,为新的发展提供新的契机; 总体思绪及目的 由于机会难得,要组织就要组织好,组织到位。要保证如下指标: a)参与的人数多 我们不指望所有的同学都可以参与,但需要尽量多日勺同学参与。这样才能体现本次聚会的意义。参与的人数太少或缺乏某个片区日勺参与,整个活动效率将会大打折扣; b)活动要明确主题 整个活动要突出
22、体现要到达的目的,活动安排要围绕目的展开,防止活动搞成了简朴的会餐。 C)活动项目要丰富和故意义 设计的聚会内容要可以让同学们感觉到参与的必要性和重要性。可以增进更多人数参与。 重要考虑如下主旋律: i .校园重游; ii .同学重逢、叙旧; iii .一起观光旅游(可就近长沙市,也可到附近等地旅游,但愿大家一起商议) iv.晚会,全程摄相,摄影,并制作纪念VCD,通讯录) V.其他(大家提想法) d)活动过后增进同学间沟通和联络毕业五年,大家变化都很大:年龄、家庭、职业、地理位置等环境都发生了变化。通过
23、聚会,使事业上相近、地区上相邻、嗜好相似的同学可以更畅通沟通,增进友谊,增进共同的发展。 e)活动组织要有序和严谨 保证活动的顺利进行,保证资金有效管理,少花钱多办事; 关键字:筹划书-:活动组织1.1、时间选择首先,工作时间搞活动的也许性不大。 我个人趋向于选择10月,原因如下: 1同学聚会组织难度较大,诸多同学杳无音讯,要告知到会比较困难。 1活动行程的方案和确定贯彻也需要时间; 1资金到位也需要时间; 1.2、筹办阶段成立筹办小组(我本人提议由等同学负责成立,原则以方面召集同学,以便组织活动为准)
24、从目前开始大家就聚会的想法进行交流; 于2023年7.1节成立510(5年聚会,今秋10月)筹办小组(45人), 负责搜集同学们的意见并进行整顿; 负责召集筹办会议: 完毕活动召集任务 初步预算经费及筹集启动经费; 确定正式活动的时间; n建立银行帐号,以便大家提前汇款,专人负责活动经费财务管理n要及时在同学录上公布报名状况.和有关事宜n公布筹委会,信箱,以便同学们联络-:活动项目设计2.1、时间设计1.我个人认为最佳是集体旅游一次,在外面住一到两晚,大家均有个充足交流的时间,也能放下其他所有的事情;1整个活动内容要丰富,行程要严谨;防止出现赶行程、等行程现象;