大型ORACLE数据库优化设计方案

上传人:夏** 文档编号:511702607 上传时间:2022-12-22 格式:DOCX 页数:22 大小:26.41KB
返回 下载 相关 举报
大型ORACLE数据库优化设计方案_第1页
第1页 / 共22页
大型ORACLE数据库优化设计方案_第2页
第2页 / 共22页
大型ORACLE数据库优化设计方案_第3页
第3页 / 共22页
大型ORACLE数据库优化设计方案_第4页
第4页 / 共22页
大型ORACLE数据库优化设计方案_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《大型ORACLE数据库优化设计方案》由会员分享,可在线阅读,更多相关《大型ORACLE数据库优化设计方案(22页珍藏版)》请在金锄头文库上搜索。

1、大型 ORACLE 数据库优化设计方案【各位读友,本文仅供参考,望各位读 者知悉,如 若喜欢或者需要本文,可点 击下载下载本文,谢 谢!】祝大家工作顺利】摘要主要从大型数据库 ORACLE 环 境 四个不同级别的调整分析入手,分析 ORACLE 的系统结构和工作机理,从九 个 不同方面较全面地总结了 ORACLE 数 据库 的优化调整方案。关键词 ORACLE 数据库环境调整优 化 设计方案对于 ORACLE 数据库的数据存取, 主 要有四个不同的调整级别,第一级调 整是操 作系统级包括硬件平台,第二级调 整是 ORACLERDBMS 级的调整,第三级 是数据 库设计级的调整,最后一个调整级

2、是 SQL 级。通常依此四级调整级别对数 据库进行调 整、优化,数据库的整体性 能会得到很大的 改善。下面从九个不同 方面介绍 ORACLE数据库优化设计方案。最新财经经济资料.数据感谢库阅读优化自由结构OFA(OptimalflexibleArchitecture)数据库的逻辑配置对数据库性能有很大的影!1!响,为此ORACLE公司对表空间设 计提出 了一种优化结构OFA。使用这种 结构进行 设计会大大简化物理设计中的数据管理。优 化自由结构OFA,简单地讲 就是在数据库中 可以高效自由地分布逻辑数据对象,因此首 先要对数据库中的逻辑对象根据他们的使用 方式和物理结构对数据库的影响来进行分

3、类,这种分类包括将系统数据和用户数据分 开、一般数据和索引数据分开、低活动表和 高活动表分开等等。二、充分利用系统全局区域SGASYSTEMGLOBALAREA)SGA是oracle数据库的心脏。用户的进 程 对这个内存区发送事务,并且以这里作为高 速缓存读取命中的数据,以实现加速的目 的。正确的SGA大小对数据库 最新财经感谢阅读经济资料的性能至关重要。SGA包括以下几个部 分:2、字典缓冲区。该缓冲区内的信息 包 括用户账号数据、数据文件名、段名、 盘区 位置、表说明和权限,它也采用 LRU 方式管 理。3、重做日志缓冲区。该缓冲区保存 为 数据库恢复过程中用于前滚操作。4、SQL 共享池

4、。保存执行计划和运 行数据库的 SQL 语句的语法分析树。也 采 用 LRU 算法管理。如果设置过小,语 句将 被连续不断地再装入到库缓存,影 响系统性 能。另外,SGA还包括大池、java 池、多 缓冲池。但是主要是由上面 4 种缓冲 区构 成。对这些内存缓冲区的合理设置, 可以大 大加快数据查询速度,一个足够 大的内存区 可以把绝大多数数据存储在 内存中,只有那 些不怎么频繁使用的数 据,才从磁盘读取, 这样就可以大大提 高内存区的命中率。三、 规范与反规范 设计数据库最新财经经济资料感谢阅读1、规范化2、反规范化 反规范的必要性 是否规范化的程度越高越好呢?答案是否定 的,应根据实际需要

5、来决定,因为分离”越 深,产生的关系越多,结构越复杂。关系越 多,连接操作越频繁,而连接操作是最费时 间的,在数据库设计中特别对以查询为主的 数据库设计来说,频繁的连接会严重影响查 询速度。所以,在数据库的设计过程中有时 故意保留非规范化约束,或者规范化以后又 反规范,这样做通常是为了改进数据库的查 询性能,加快数据库系统的响应速度。反规范技术在进行反规范设计之前,要充 分考虑数据的存取需求,常用表的大小、特 殊的计算、数据的物理存储等。常用的反规 范技术有合理增加冗余列、派生列,或重新 组表几种。反规范化的好处是降低连接操作 的需求、降低外码和索引数目,减少表的个 数,从而提高查询速度,这对

6、-于性能要求相最新对财经较高的数据库系统来说,能有效地改善系统 的性能,但相应的问题是可能影响数据的完 整性,加快查询速度的同时降低修改速度。3、数据库设计中的优化策略 数据应当按两种类别进行组织:频繁 访问的数据和频繁修改的数据。对于频繁访 问但是不频繁修改的数据,内部设计应当物 理不规范化。对于频繁修改但并不频繁访问 的数据,内部设计应当物理规范化。比较复 杂的方法是将规范化的表作为逻辑数据库设 计的基础,然后再根据整个应用系统的需 要,物理地非规范化数据。规范与反规范都 是建立在实际的操作基础之上的约束,脱离 了实际两者都没有意义。只有把两者合理 地结合在一起,才能相互补充,发挥各自的

7、优点。四、合理设计和管理表1、利用表分区 分区将数据在物理上分隔开,不同分 区的数据可以制定保存在处于不同磁盘上的 数据文件里。这样,当对这个表 最新财经经济资料感谢阅读 进行查询时,只需要在表分区中进行扫描, 而不必进行FTS(FullTableScan,全表扫 描),明显缩短了查询时间,另外处于不同 磁盘的分区也将对这个表的数据传输分散在不同的磁盘I/O,个精心设 置的分区可以 将数据传输对磁盘I/O竞争均匀地分散开。2、避免出现行连接和行迁移在建立表时,由于参数pctfree和pctused不正确的设置,数据块中的数据 会 出现行链接和行迁移,也就是同一行的数据 不保存在同一的数据块中。

8、如果在进行数据 查询时遇到了这些数据,那么为了读出这些 数据,磁头必须重新定位,这样势必会大大 降低数据库执行的速度。因此,在创建表 时,就应该充分估计到将来可能出现的数据 变化,正确地设置这两个参数,尽量减少数 据库中出现行链接和行迁移。3、控制碎片碎片(fragme ntatio n)是对一组非邻接 的数据库对象的描述。碎片意味着在执 最新财经经济资料感谢阅读 行数据库的功能时要耗费额外的资源(磁盘I/O,磁盘驱动的循环延迟,动态 扩 展,链接的块等),并浪费大量磁盘空间。 当两个或多个数据对象在相同的表空间中, 会发生区间交叉。在动态增长中,对象的区 间之间不再相互邻接。为了消除区间交叉

9、将 静态的或只有小增长的表放置在一个表空间 中,而把动态增长的对象分别放在各自的表 空间中。在 createtable 、 create in dex 、 createtablespace createcluster 时,在 storage子句中的参数的合理设置,可以减 少碎片的产生。4、别名的使用 别名是大型数据库的应用技巧,就是表名、列名在查询中以一个字母为别名,查询速度要比建连接表快倍。5、回滚段的交替使用 由于数据库配置对应用表具有相对静止的数据字典和极高的事务率特点。而且数 据库的系统索引段、数据段也具 最新财经 经济资料 感谢阅读有相对静止,并发现在应用中最高的负 荷是 回滚段表空

10、间。把回滚段定义为交 替引用,这样就达到了循环分配事务对 应的回滚段 可以使磁盘负荷很均匀地 分布。五、索引 Index 的优化设计1、管理组织索引 索引可以大大加快数据库的查询速 度, 索引把表中的逻辑值映射到安全的 RowID, 因此索引能进行快速定位数据 的物理地址。 但是有些 DBA 发现,对一 个大型表建立的 索引,并不能改善数据 查询速度,反而会影 响整个数据库的性 能。这主要是和 SGA 的 数据管理方式有关。ORACLE在进行数据 块高速缓存管 理时,索引数据比普通数据具 有更高的 驻留权限,在进行空间竞争时, ORACLE 会先移出普通数据。对一个建有索 引的 大型表的查询时

11、,索引数据可能会用完 所有的数据块缓存空间,ORACLE不得 不 频繁地进行磁盘读写来获取数据,因 最新财经经济资料 感谢阅读 此在对一个大型表进行分区之后,可以 根据 相应的分区建立分区索引。如果对 这样大型 表的数据查询比较频繁,或者 干脆不建索 引。另外,DBA创建索引时,应尽量保证 该索引最可能地被用于 where 子句中,如果 对查询只简单地制定 一个索引,并不一定会 加快速度,因为 索引必须指定一个适合所需 的访问路径2、聚簇的使用Oracle 提供了另一种方法来提高查 询 速度,就是聚簇(Cluster)。所谓聚簇,简单 地说就是把几个表放在一起,按一 定公共属 性混合存放。聚簇

12、根据共同码 值将多个表的 数据存储在同一个Oracle块中,这时检索一组 Oracle 块就同时得 到 两个表的数据,这样就可以减少需要 存储的 Oracle 块,从而提高应用程序的 性能。六、 多 CPU 和并行查询PQO(ParallelQueryOptio n)方式的利用1、尽量利用多个 CPU 处理器来执 行 事务处理和查询CPU 的快速发展使得 ORACLE 越越-重视对HTCPU的并行技术的应用,一二个数据库的访问工作可以用多个CPU相互配!1!合来完成,加上分布式计算已经相当普遍, 只要可能,应该将数据库服务器和应用程序的CPU请求分开,或将CPU请求从一个服 务器移到另一个服务

13、 器。对于多CPU系统 尽量采用ParallelQueryOption(PQ0 并行查询选项) 方式进行数据库操作。2、使用 ParallelQueryOptio n(PQO,并行查询选择)方式进行数据查询 使用PQO方式不仅可以在多个CPU间分配SQL语句的请求处理,当所 查询的!1!数据处于不同的磁盘时,一个个独立的进程 可以同时进行数据读取。3、使用 SQL*LoaderDirectPath 选项进行大量数据装载使用该方法进行数据装载时,程序创 建格式化数据块直接写入数据文件中,不要 求数据库内核的其他I/O。七、实施系统资源管理分配计划!1!ORACLE 提 供 了 最新财经经济资料感

14、谢阅读DatabaseResourceMa nagefDRM,数据库资源管理器)来控制用户的资源分配, DBA可以用它分配用户类和作业类的系统资源百 分比。在一个OLDP系统中,可给联机用 户分配75%的CPU资源,剩 下的25%留给 批用户。另外,还可以进行CPU的多级分 配。除了进行CPU资源分配外,DRM还 可以对资源用户组执行并行操作的限制。 八、使用最优的数 据库连接和SQL优化方 案1、使用直接的OLEDB数据库连接方 式。通过ADO可以使用两种方式连接 数据库,一种是传统的ODBC方式,一种是OLEDB方式。ADO是建立在OLEDB技术上的,为了支持ODBC,必 须建立相应的 O

15、LEDB到ODBC的调用 转换,而使用直接 的OLEDB方式则不需转换,从而提高处理 速度。2、使用 ConnectionPool 机制在数据库处理中,资源花销最大的 是建 立数据库连接,而且用户还会有一 最新财经 经个济资较料 感长谢阅读的连接- 等待时间。解决的办法就 是复用现有的Conn ectio n,也就是使用Conn ectio nPool 对象机制。ConnectionPool 的原理是:IIS+ASP 体系 中维持了一个连接缓冲池,这样,当下 一个 用户访问时,直接在连接缓冲池中 取得一个 数据库连接,而不需重新连接 数据库,因此 可以大大地提高系统的响 应速度。3、高效地进行 SQL 语句设计 通常情 况下,可以采用下面的方法 优化 SQL 对数 据操作的表现:(1)减少对数据库的查询次数,即减少 对系统资源的请求,使用快照和显形图 等分 布式数据库对象可以减少对数据库 的查询次 数。(2)尽量使用相同的或非常类似的 SQL 语句进行查询,这样不仅充分利用 SQL 共 享池中的已经分析的语法树,要查询 的数据在 SGA 中命中的可能性也会大大 增 加。精选财经经济类资料(3)限制动态 SQL 的使用,虽然动态 SQL 很好用,但是即使在 SQL 共享池中 有 一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号