大型数据库ORACLE数据库的优化设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大型数据库ORACLE数据库的优化设计方案
姚树春
【摘要】当前,随着信息技术成熟与发展,ORACLE数据库系统结构日益复杂,虽从一定程度完善、提高其使用性能,并扩展了其使用范围,但仍然存在诸多不稳定因素。
本文结合ORACLE系统结构,从OFA自由结构、回滚段、运行机制、硬件以及OS等周边环境多方面对数据优化进行阐述,并制定出相应优化策略。
%At present, along with the information technology development, ORACLE database system structure is becoming more and more complex, thoughimproving, from a certain degree to improve service performance, and expand its scope of application, but there are still many unstable factors. In this paper, combined with the ORACLE system structure, from the aspects ofOFA free structure, rollback segment, operational mechanism, hardware and OS environment to carry on the elaboration to data optimization, and formulate the corresponding optimization strategy.【期刊名称】《软件》
【年(卷),期】2013(000)011
【总页数】2页(P131-132)
【关键词】数据库;信息技术;SQL语句
【作者】姚树春
【作者单位】苏州工业园区服务外包职业学院,江苏苏州 215123
【正文语种】中文
【中图分类】TP311.13
现阶段,ORACLE数据库技术日益成熟,被广泛的应用到各类领域中。
而其数据库存储数据,主要分为四个调整级别。
其中第一级调整即是操作系统,主要包括硬件平台等;第二级别调整即是ORACLE RDBMS级调整;第三级调整即是对数据库设计级进行调整;第四调整即SQL级调整。
一般来讲,依据上述四级调整来实现对数据库优化,调整,能够改善ORACLE数据库性能。
1.1 数据结构设计调整
应该说这部分调整、优化需在信息系统开发前完成。
优化中,程序员需解决是否正常使用数据库分区功能,是否对常用性数据库表建立专用索引等问题。
1.2 应用程序结构设计调整
过程中,程序员需解决数据库应用程序中使用那种类型体系结构;是沿用传统Client/Server体系结构,还是选用Browser/ Server体系结构等诸类问题。
需注意的是应用程序会随着其体系结构不同而选用不同数据库资源。
1.3 数据库SQL语句调整某种意义讲,无论何种应用程序执行最终都可被视为SQL
语句执行。
所以严格意义上ORACLE数据库性能是否优良同
SQL语句执行效率高低有着直接关系。
1.4 服务器内存分配调整
当前,内存分配主要为确保信息系统运行而优化配置的。
运行中,管理员可以结合数据库实际运行情况来对数据库SGA区大小进行调整;亦可对PGA区大小进行调整。
需注意一点,并非SGA区越大越好,相反,随着SGA区分配越多会占据更多操作系统内存,反而会降低系统运行速度。
对于数据库来说,一个的正确的
SGA是至关重要的。
2.1 SQL语言跟踪工具,这种工具可以将SQL语句的相关执行情况记录下来,而管理员也可利用虚拟表来对实例调整,或通过SQL语句专用跟踪文件来对应用程序性能进行调整。
2.2 QRACLE Enterprise Manager (即OEM)这是一个图形用户管理界面,使用者可以通过这种工具对数据库进行直接管理,无需死记数据库相应命令。
2.3 QRACLE 数据库在线数据字典,这种工具能将QRACLE实际运行动态及时反映出来,并实现对数据性能优化与完善。
3.1 优化自由结构OFA
逻辑配置对于完善、优化数据库性能有着极大影响。
基于表空间设计而设计出一种专业的优化结构OFA。
通过这种结构对极大简化相关物理设计中的信息、数据管理。
所谓优化自由结构OFA,简单说就是在特定数据库中对逻辑数据对象进行高效、自由分布,所以需将数据库中所有逻辑对象依据其实际使用方式以及物理结构来进行分类。
一般来说,这种分类的主要是用户数据与数据库分开;索引数据与一般性数据分开;高活动表与低活动表分开等等。
此外,在对数据库逻辑进行设计时,应遵循以下准则:
(1)以同方式且共同使用的专业段类型。
(2)依据相关标准来操设计系统。
数据库规范
3.2 规范化
所谓范式即为满足某一级别要求的关系模式集合,依据其约束条件不同,通常分为3NF、2NF还有1NF这三种范式。
而规范理论则是完全依据这些范式所建立的。
规范化中的核心思想即采取措施消除数据依赖中存留的不适宜部分,确保整体模式中各关系模式实现一定程度“分离”。
过程中,应遵循既定的设计原则,即“一事一地”原则。
综上所讲,所谓规划化其实质是实现概念的单一化。
数据库中应用数
据规范化,其优势就是能够解决数据冗余,减少相应逻辑以及物理I/O次数,在实现节约存储空间基础上,提高其增、改、删等速度。
但从另一方面讲,将数据库设计完全规范化并不能直接生成最优性能。
因此某种情况下,为提升数据库部分查询或者应用性能,会故意对规范化原则进行破坏,也就是我们所讲的反规范化。
3.2.1 反规范化
(1)概论
数据库中,规范化程度并非越高越好,应依据其具体需求来确定。
这主要是因为“分离”越深,所形成关系越多,结构也就越为复杂。
一般情况下,关系越多。
其连接操作也就越为频繁,而连接操作又最耗费时间,因此在对数据库设计过程中,尤其是以查询为核心的数据库,频繁的连接会对查询速度造成严重性、直接影响。
因此数据库设计过程中应对非规范化约束进行故意保留,又或者在实施完规范化后又开展反规范,目的即是对数据库查询功能改进、完善,以提高数据库系统自身的响应速度。
(2)技术
在对反规范进行设计之前,需要重点考虑数据存取需求,特殊计算以及常用表大小还有数据物理存储等等。
常用的反规范技术主要包括增加冗余列、重新组表以及派生列等几种。
通过实施反规范化可以有效降低相应的连接操作需求、索引数目以及降低外码,同时亦可减少表个数,从而实现查询速度有效提高的目的。
这对于功能要求相对较高的数据库系统来讲,能够有效的完善其系统性能,但与此同时,所带来的问题即是对数据完整性造成一定影响,虽然从一定程度上加快了其查询速度,但同时也降低、延缓了修改速度。
3.2.2 优化策略
这里所讲的优化策略主要分为逻辑优化策略以及物理优化策略,其中物理优化又分为以下两种:第一是索引代替法。
运行过程中,好的索引经常会极大提升数据库性
能。
一般来说,索引会在不对原有结构造成破坏的基础上逻辑生成新型结构,通过物理措施进行优化可在保存原有修改速度条件下提升整个系统查询速度;二是合理安排磁盘阵,将经常访问的数据库存放于指定的磁盘中,平均系统操作I/0的流量,进而实现系统性能的有效提高。
当然这种方法越是碰到大型数据库,其效果就会越明显。
接着便是实施反规范化,这势必会对原有关系结构造成破坏,所以操作过程中应遵循既定原则,结合实际需要来实现数据库性能提高,并牢记最小范围内对关系结构进行拆分规范,并制定相应维护操作,争取以最小成本换得最大范围内,系统性能的有效提高。
3.3 合理设计和管理表
3.3.1 规范化
在物理上将数据分区隔开,而这种不同类型、不同分区的数据可以制定并内储存到不同磁盘中的数据文件里。
若对表进行查询时,只需对既定的表分区进行扫描,无需执行FTS(全表扫描),有效的缩短了查询时间。
而处在不同磁盘上的分区也可以将该表数据分散传输至不同磁盘I/O上,应该说,一个设置合理的分区可以通
过数据传输将磁盘I/O竞争平均分散开来。
3.3.2 避免出现链接和行迁移
在构建表时,因参数pctused以及pctfree不正确设置,致使数据块数据出现行
迁移、链接,即同一行数据无法保存至同一数据块中。
若在对数据查询时搜索到这些数据,那么为了有效读取该类数据,需对磁头进行重新定位,这必然会极大拖慢数据块执行速度。
所以创建表时最好就能充分估算到数据未来可能发生的变化,从而正确设置这两项参数,尽可能的减少和控制数据块中出现行迁移以及行连接。
3.3.3 控制碎片
这里所讲的碎片即对非邻接数据库对象的有效描述。
存在碎片即表示数据库在执行某些功能时需耗费额外资源,比如动态扩展、磁盘I/O以及链接块等等,造成磁
盘空间大量浪费。
当多个或者两个数据对象出现在相同表中,会形成区间交叉。
而在动态增长中,这种对象区间不会再出现相互邻接。
所以为了清除区间交叉,不应将小增长或者静态的表设计到同一表中,而是将动态增长对象有效放置到其它各表空间中。
另外,数据段的具体使用情况主要取决于其存储参数,这些参数会在创建相关命令语句storage中决定,若没有在create table、create cluster 以及create tabespace这类语句中设定这类参数,数据库会自动使用缺省参数。
通常
在storage句子中的参数主要分为maxex-tends、initial next 以及minextends 等。
这种不正确参数不但会对其性能造成影响,对数据库形成潜在威胁。
纠正碎片最为有效的方法即丢弃后重建碎片对象,需注意重建后可对其第一区间配置更多空间。
文章通过对ORACLE数据库进行介绍,并结合其特点对如何优化ORACLE数据库进行探讨,为日后进一步研究ORACLE数据库提供了一定理论支持。
【相关文献】
[1] 陈秀英.大型ORACLE数据库系统的优化设计方案[J].舰船科学技术.2009(02)
[2] 邓中亮,马英俊.基于Oracle数据库与ArcSDE的空间数据存取优化[J].软件,2011,32(02):78-
80
[3] 杨家海,焦亮,秦董洪,等.基于RIB 表的域间路径特性分析[J].新型工业化,2012,2(10):1-7.。