图形工作站、集群应用方案
  • 网站首页
  • 商城
  • 产品
  • 行业计算
  • 科学工程计算
  • 化学&生物
  • 图形设计
  • 图像处理
  • 视景仿真
  • 人工智能
  • 影视后期
全球领先的高端图形工作站供应商

免费测试 热线 : 400-7056-800 【 为任何应用提供 最快计算设备 如不符,退货】【最新报价】【选购指南】【京东商城】



企业通用模版网站

  • 科研团队全能超算平台25v1
  • 超高分拼接 数字孪生
  • 科学计算MatLAB工作站24
  • 地质建模 油藏模拟工作站
  • 工业CT扫描 机器视觉计算
  • 电力系统关键应用配置24
  • 网站首页
  • 商城
  • 产品
  • 行业计算
  • 科学工程计算
  • 化学&生物
  • 图形设计
  • 图像处理
  • 视景仿真
  • 人工智能
  • 影视后期
  • 送无人机啦 8核6.4GHz  96核4.8GHz 加速改装 

  • 高性能集群 虚拟并行计算 芯片设计 光学仿真 

  • 蛋白质预测 生物信息 冷冻电镜 材料模拟

  • RSS订阅
  • 理科计算推荐
  • 仿真计算最快最完美25v1
  • 电磁仿真单机与集群25v1
  • 航拍实景建模单机集群
  • 遥感图像处理工作站集群
  • 4K/8K剪辑特效调色24v1
  • AI大模型工作站集群25v1
  • Abaqus硬件配置大全24v3
  • CST电磁仿真工作站25v1
  • 多物理场仿真单机与集群
  • 流体/空气动力学仿真25v1
  • 量子化学 分子动力模拟
  • 三维设计24v2  3D打印

 

您的位置:UltraLAB图形工作站方案网站 > 人工智能 > 大数据分析 > Oracle数据库性能优化技术

Oracle数据库性能优化技术

时间:2010-10-18 09:36:00   来源:UltraLAB图形工作站方案网站   人气:10879 作者:admin

每一个企业都应该有独立的IT战略, 这与今天企业的CEO/CFO所关注的目标是有很大关系的。对于CEO来说, 他最关心的是企业发展、业务布局、品牌影响力以及市场份额, 而对于CFO而言, 则是营收、利润以及成本。而对于那些已经建立起成熟体系的企业而言, 怎样才能不让成为整个企业发展的瓶颈甲骨文公司大中华区产品战略数据库增值软件总监冯葵认为其重点在于四个方面可用性、业务连续性、管理效率以及合法合规, 这些特点有效辅助了数据库产品, 成为数据库与应用之间的磨合剂。

        今天没有一个事务、一个技术或者一个产品可以达到100%的可靠。它一定会在某个时候发生各种各样的问题。从产品和技术的角度来说, 这似乎无法根本解决, 但如果通过有效的架构, 这种可用性就可以真正实现。Oracle数据库企业版的内存数据库高速缓存选件是基于Oracle TimesTen内存数据库构建的, 它能够区分哪些信息是不太经常使用的, 哪些信息是经常使用的, 从而帮助你将“活” 的数据运行在高性能的存储设备上, 而不太使用的数据则可以运行在低速设备上或便宜的设备上。这有效突破了传统密集I/O的瓶颈, 不但可以有效地进行负载均衡,而且提供非常强大的性能,从而确保数据库里的信息能获得极高的可用性。

        一、 oracle数据库及特点

        oracle是一个功能极其强大的数据库系统。它起始于七十年代末的关系型数据库技术。这种类型数据库的关键是怎样理解数据间的关系,然后构造反映这些关系的信息库。oracle成功的将关系型数据库转移到桌面计算机上,提供了一个完整的客户/服务器体系结构的商用DBMs。同时它利用SQL*NET软件层,与多种操作系统支持通信协议相配合,为oracle关系型数据库提供分布式环境,可以实现单点更新,多点查询。Oracle数据库已经被用于各种大型信息系统中,特别是诸如银行,保险,烟草,石油等大数据量,对安全性要求较高的企业。其特点主要体现在:

        1)支持大数据库、多用户的高性能事务处理Oracle支持最大数据库(几百TB),可充分利用硬件设备。支持大量用户同时在同一数据上执行各种应用,并使数据争用最小,保证数据的一致性。

        2)硬件环境独立。Oracle具有良好的硬件环境独立性,支持各种类型的大型,中型,小型和微机系统。

        3)遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。

        4)较好的安全性和完整控制。Oracle有用户鉴别、特权)、角色、触发器、日志、后备等功能,有效地保证了数据存取的安全性和完整性以及并发控制和数据的回复。

        5)具有可移植性、可兼容性与可连接性oracle不仅可以在不同型号的机器上运行,而且可以在同一厂家的不同操作系统支持下运行。具有操作系统的独立性。

        二、 数据库系统性能评价指标

        主要从以下几个方面进行:

       1)系统吞吐量。

        吞吐量是指单位时间内数据库完成的SQL语句数目,以每秒钟的事务量(tps)表示。提高系统吞吐量可以通过减少服务时间在同样的资源环境下做更多的工作或通过减少总的响应时间使工作做得更快这两种方法来实现。

        2)用户响应时间。

        响应时间是指用户从提交SQL语句开始到获得结果集的第一行所需要的时间,是应用做出反应的时间,以毫秒或秒表示。响应时间可以分为系统服务时间(CPU时间)和用户等待时间两项。也就是说,要获得满意的用户响应时间有两个途径:一是减少系统服务时间,即提高数据库的吞吐量;二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。 #p#page_title#e#

        3)数据库命中率。

        Oracle用户进程所需的所有数据都是经过缓冲区高速缓存来存取的。用户对数据的需求能否在内存中得到满足,给出快速的响应,可用缓冲区高速缓存命中率来衡量。该比率等于高速缓存命中总数除以对高速缓存的查找总数。由于从高速缓存中读数据比从磁盘中读数据的开销要小得多,因此一般应使该命中率足够高。

        4)内存使用情况。

        内存的使用情况主要体现在可共享内存、永久性内存和运行时内存这三者的分配使用上。内存是否合理使用,一般考虑的主要调整目标有两条:使投资得到最大回报。把时间和精力用于解决可能产生最大利益的问题;使争用减到最小。瓶颈的特点在于延迟和等待,尽可能地消除或减少它。

         5)磁盘I/O。

         数据库中发生的每个动作几乎都将产生某种类型的I/O活动,该活动可以是逻辑的(在内存中),也可以是物理的(在磁盘上)。通过降低不必要的I/O开销可以增加用户任务可获得的吞吐量,缩短用户响应时间。其中,磁盘I/O操作是数据库性能最重要的方面,是计算机最大的开销。

         三、 oracle数据库应用系统性能优化的主要方向

         1) CPU利用

         CPU是服务器的重要资源, 服务器良好的工作状态是在工作高峰时CPU的使用率在90%以上。在大型的应用系统中,比较流行的配置是oracle+unix,如IBM的小机,sun公司的red hat等。这些系统中使用sar-u命令查看CPU的使用率,Windows系列的操作系统的服务器,可以使用性能管理器来查看CPU的使用率。Oracle中:v$sysstat数据字典中“CPU used by this session”记录了数据库使用的CPU时间,“OS User level CPU time”统计了操作系统用户态下的CPU时间,“ OS System call CPU time”统计了操作系统系统态下的CPU时间,操作系统总的CPU时间就是用户态和系统态时间之和,如果Oracle数据库使用的CPU时间占操作系统总的CPU时间90%以上,说明服务器CPU基本上被Oracle数据库使用着,这是合理,反之,说明服务器CPU被其它程序占用过多,Oracle数据库无法得到更多的CPU时间。出现CPU资源不足的原因可能是SQL语句的重解析、低效率的SQL语句、锁冲突等。

         2) 内存分配

         内存参数的调整主要是指Oracle数据库的系统全局区SGA(System Global Area)的调整。SGA是Oracle数据库的心脏,是对数据库数据进行快速访问的一个系统区域,可以被服务器和用户共享。SGA主要由三部分构成:共享池(SharePool)、数据缓冲区(Data Buffers)、日志缓冲区(Redo Log Buffers)和PGA区域。SGA随着不同的环境而不同,没有一种通用的最佳方案,但在设置它之前要先考虑以下的几个方面:物理内存多大:操作系统是哪种以及占多大的内存,数据库系统是文件系统还是存储设备;数据库运行的模式。SGA占有物理内存的比例没有严格的规定,只能遵从一般的规则:SGA占据物理内存的40%~60%左右。如果通过直观的公式化来表达则为:OS使用内存+SGA+并发进程数×(Sort_

        area_size+Hash_area_size+2M)<0.7RAM,以这个公式为参考进行自由调整即可。初始化参数文件中的一些参数对SGA的大小有决定性的影响。每个缓冲区的大小等于参数Db_block_size的大小。Oracle数据库块以字节表示大小。 #p#page_title#e#

        四、 oracle数据库性能优化方法

        1)建立索引

        表格是关系型数据库的基础,数据库中的所有信息都是以表格的形式来存放的。由于Oracle 数据库是一个大型的数据库,存储着大量的数据信息。它使用一个内置的优化器来决定检索数据的最快方法。在Oracle 的性能优化中,适当的建立索引是很关键的。

        (a) 低选中率的列建立位映射索引:为那些唯一度很低的列创建位映射索引, 位映射索引能够极大地帮助改善读性能。

        (b) 为不平衡的B* 树索引创建反转关键字索引:反向键索引是一种B* 树索引。在这种索引方式中,关键字值的字节是按照相反的顺序存储的。

        (c) 要建立合适的索引,还必须考察select 和where 子句,因为这是查询优化的首要焦点。当索引包括多列时,就构成了复合索引。

        使用索引可以提高检索数据的效率, 但并不是说只要有索引,检索的效率就会提高,添加索引是以增大存储量和降低插入性能为代价的。这里存在着“百分之二十”的规则,当从表格中选取的行超过总行数的百分之二十时,表上的索引不会提高检索的速度,因此在创建索引时要考虑到这一点。不合适的索引将会导致查询性能的严重降低,应在SQL 语句中将这索引隐藏。

         2)优化SQL语句

        SQL 是一种非过程化语言, 它一次处理的是一个记录集合,对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,而不是对单个记录进行操作。SQL 不要求用户指定对数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当关系数据库的设计者在关系表上定义了索引之后,系统会自动地利用索引进行快速检索,用户不需知道表上是否有索引以及表有什么类型的索引等细节。在SQL 语句中,应注意以下几点:①在where 子句中,若使用and 条件,应将最有可能导致查询失败的条件放前面;若使用or 条件,应将最有可能致查询失败的条件放在后面;②进行多表查询时, 应将返回行少的表放在from 子句的后面,在where 子句中, 应将记录多的表的字段写在左边。值得注意的是,对那些写得不好的小SQL 语句进行优化更为重要,因为这些小的SQL 语句每天可能被访问成千上万次。

       3)碎片问题

         碎片是由于同一磁盘的各个部分分散在磁盘的不同区域产生的。在删除磁盘上的文件和添加新文件时会产生碎片。碎片的大量存在减慢了磁盘访问的速度,并降低了磁盘操作的综合性能。为了预防碎片,Oracle 提供两类表空间:①字典管理的表空间。在这种方式下,扩展管理是通过数据字典完成的。这是一种常规的和缺省的表空间类型;②本地管理的表空间,扩展管理是表空间自身完成。一旦选择了一个指定的类型,就不能更改。在OLTP 环境中,碎片是索引的祸根。Oracle 提供了两种方法来消除现存索引中的碎片:联机重建(Rebuild)和内置合并(Coalesce)。通过联机重建机制,索引可以完全地重建,这样就能恢复空间并且重新定位它。Rebuild 可以重新将一个索引定位到另一个表空间中。Coalesce 并不要求大量的磁盘空间,因为它在相同的索引内操作。它基本上是合并那些有相同分枝的叶节点。换句话说,它合并那些在过去分离的叶节点块。它释放叶节点块以备将来使用。

       4)调整系统参数

        每次在数据服务器上启动数据库系统时,就会在内存分配一个系统全局区(System Global Area),简称SGA。系统全局区用于存放系统信息,所有的用户进程和服务进程都可以访问这个内存结构。由于内存读取数据比磁盘读取要快得多,所以调整SGA 参数,可使Oracle 发挥最大效能。如果SGA 太小,就无法高效地完成Oracle 中的操作,如果SGA 太大,操作系统就可能没有足够的内存高效地完成计算机所必须的操作。在Init.ora 中通过调整DB_BLOCK_BUFFER 和LOG_BUFFER 的值,来改变SGA 的值。SGA 的值占整个内存的50%左右较为理想。在Oracle 数据库中有很多参数的设置是来定义物理存储、资源利用的,这些参数设置得是否合适也就与系统的效率直接有关,参数的调整实际上就是要调整资源的利用效率 #p#page_title#e#

        在运行时, 导致程序失败的最常见的原因之一就是程序段的不可生长。这种不可生长可能是由于表空间中没有足够的空间来容纳段的生长, 也可能是到达了MAXEXTENTS。到达MAXEXTENTS 可能会造成大量的浪费,并且它不容易引起人们的注意, 操作者可以考虑将MAXEXTENTS 的值设置的尽可能大。从Oracle7 开始,MAXEXTENTS 对DB_BLOCK_SIZE 的依赖性就被取消,从而使得MAXEXTENTS 可以按照需要进行设置,甚至可以将它设置为UNLIMITED。如果使用的是MAXEXTENTS,Oracle 将自动地把MAXEXTENTS 设置为249000000。通过此设置, 就能够有效地阻止段由于到达扩展段的最大值而使应用程序因为不能接受更多数据而导致失败。

参考文献:

[1] Oracle数据库应用系统的性能优化 魏亚楠等 制造业自动化 2010

[2] Oracle数据库性能优化方法 李晓丽 软件导刊 2010

[3]数据库与应用之间的磨合剂—Oracle数据库增值软件谈 白苗 程序员2009

关闭此页
上一篇:NUMA 架构与数据库性能
下一篇:中高端服务器采购选型指南

相关文章

  • 05/09Xeon6代+4块GPU--图灵超算工作站GT450M介绍
  • 05/09汽车风阻测试模拟分析、算法,及服务器/工作站计算设备硬件配置推荐
  • 04/26高频交易(HFT)应用分析、算法,服务器/工作站硬件配置推荐
  • 04/25衍生品定价与风险对冲应用分析、算法,及服务器工作站硬件配置
  • 04/25量化交易策略应用算法分析、服务器工作站硬件配置
  • 04/24金融风险管理应用算法分析、服务器/工作站硬件配置推荐
  • 04/19油藏模拟软件的算法分析以及图形工作站/服务器硬件配置推荐25v2
  • 04/17大型3D设计软件CATIA-算法分析与图形工作站硬件配置
  • 04/17Cadence EDA主要软件计算特点分析,服务器/工作站硬件配置推荐
  • 04/16Synopsys EDA主要软件计算特点分析,服务器/工作站硬件配置推荐

工程技术(工科)专业工作站/服务器硬件配置选型

    左侧广告图2

新闻排行榜

  • 1Thermaltake推出支持最新的Opteron 6100服务器CPU的专用散热器
  • 2Schrodinger薛定谔分子动力模拟与建模工作站推荐2022v2
  • 3分子动力模拟可视化与分析软件VMD工作站硬件推荐
  • 4极速计算工作站UltraLAB AX410新品介绍
  • 5AMBER生物分子动力模拟工作站配置推荐
  • 6中小企业CAD图形工作站系统配置
  • 7华尔街痴迷股票高频交易
  • 8数据库服务器的硬件配置分析
  • 9推荐一个有7条PCIEx16、双路CPU的主板-超微X8DTH-iF
  • 10看intel的至强E5/E7平台在关键业务未来应用之路

最新信息

  • 本地部署AI解数学竞赛题-工作站/系统/开源大模型如何配备
  • 分子动力模拟可视化与分析软件VMD工作站硬件推荐
  • 极速计算工作站UltraLAB AX410新品介绍
  • AMBER生物分子动力模拟工作站配置推荐
  • Schrodinger薛定谔分子动力模拟与建模工作站推荐2022v2
  • eXtremeDB大幅缩短NSE.IT算法交易(Algo/HFT)和前台系统交易解决方案的延迟
  • 华尔街痴迷股票高频交易
  • 至强Xeon“给力” 保关键业务无忧

应用导航:

工作站产品中心 京东商城 中关村商城 淘宝商城 超高分可视化商城 便携工作站商城 ANSYS CATIA Microsoft INTEL NVIDIA 网站统计

公司简介-业务咨询-招聘英才-资料下载-UM-

本网站所有原创文字和图片内容归西安坤隆计算机科技有限公司版权所有,未经许可不得转载
陕ICP备16019335号 陕公网安备61010302001314号
Copyright © 2008-2023 , All Rights Reserved

首页
热线
商城
分类
联系
顶部