高效优化oracle数据库设计方案.docx

上传人:王** 文档编号:979697 上传时间:2024-03-08 格式:DOCX 页数:15 大小:28.59KB
下载 相关 举报
高效优化oracle数据库设计方案.docx_第1页
第1页 / 共15页
高效优化oracle数据库设计方案.docx_第2页
第2页 / 共15页
高效优化oracle数据库设计方案.docx_第3页
第3页 / 共15页
高效优化oracle数据库设计方案.docx_第4页
第4页 / 共15页
高效优化oracle数据库设计方案.docx_第5页
第5页 / 共15页
高效优化oracle数据库设计方案.docx_第6页
第6页 / 共15页
高效优化oracle数据库设计方案.docx_第7页
第7页 / 共15页
高效优化oracle数据库设计方案.docx_第8页
第8页 / 共15页
高效优化oracle数据库设计方案.docx_第9页
第9页 / 共15页
高效优化oracle数据库设计方案.docx_第10页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《高效优化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、数据库打包技术日勺充足运用运用数据库描述语言编写数据库的过程或函数,然后把过程或函数打成包在数据库后台统一运行包即可。3、数据复制、快照、视图,远程过程调用技术的!运用数据复制,即将数据一次复制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!