影响到oracle性能的因素主要可以从硬件和软件两个方面划分,本文通过对oracle数据库架构的分析,
提出从硬件方面OLTP系统优化oracle数据库性能的方法,不足之处欢迎拍砖。
oracle数据库物理存储架构:
oracle数据库物理文件增长情况:
Oracle archived REDO log files增长快,说明redo log写入很频繁。
从实际大数据量和高性能OLTP应用系统性能测试发现,磁阵IO是限制系统性能的瓶颈,因此降低IO是oracle数据库优化的关键,
结合oracle数据库物理存储架构图、数据库物理文件增长情况和实际测试发现,给磁阵IO带来很大负荷的是redo log文件、数据文件、索引文件的读写三个方面,
并且当数据量、性能和持续压力时间都达到一定的量时,这三者产生的IO负荷相当,因此降低磁盘IO的最终目标也就是降低这三类文件的IO,
通过将oracle的redo log文件、数据文件、索引文件都建立到内存盘上的实际测试结果表明,采用这种几乎零IO的模式很大程度的提高了oracle的性能,
基于以上分析,可以对oracle数据库的IO做以下优化:
1 固态硬盘存储redo log,提高redo log的写入速度,
从实际运用的角度看,由于内存盘的易失性,把redo log文件建立在内存盘上是不安全的,再考察redo log文件具有大小稳定,一般在2到3个G之间的特性,因此把redo log文件建立在固态硬盘上是个不错的选择
2 由于内存足够大,因此将临时表空间建立在内存盘上,对于统计、大数据量查询、大数据量sql运算(比如:group by、sum等)的操作,
需要大量临时表空间存储临时数据,这些临时数据就直接存储到内存上了,消除了oracle的大读取和大运算产生的临时IO
3 由于索引具有可以根据数据文件重建,不怕丢失的特性,
把索引文件建在临时文件系统上,oracle每次启动时重建索引,这样平时的读写操作就不会产生索引IO,索引的更新和读取都在内存上进行,
系统由于各种原因出现重启时,仅在重启时重建一次索引
本文观点基于目前系统内存都非常大(一般都是几十G甚至以上)的情况下所做的优化,
基于以上优化,把影响oracle IO的三大因素去掉了两大因素,因此性能上有望达到倍增的效果。
实验环境:
由于本文所需测试均是从内存盘使用方面的优化性测试,因此有一台内存较大cpu稍微好一点的机器就足以做相关测试了。
遗留问题:
1 每次重启数据库时重建oracle索引的代价是多少,应用能否接受?
2 redo log文件是否还有别的更加快速的存取办法?更快的方法安全性怎么样?
名词解释:
内存盘    :参见百度百科的解释“linux tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。”
我没有查到关于unix操作系统的临时文件系统的说明,但是unix系统通常都支持内存盘(ramdisk),可以用来代替tmpfs。
http://baike.baidu.com/view/753453.htm          
http://baike.baidu.com/view/1511292.htm
固态硬盘  :固态硬盘(Solid State Disk、IDE FLASH DISK)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片)组成。
http://baike.baidu.com/view/723957.htm
http://www.pcpop.com/doc/0/683/683347_all.shtml
传统硬盘  :硬盘(港台称之为硬碟,英文名:Hard Disc Drive 简称HDD 全名 温彻斯特式硬盘)是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。这些碟片外覆盖有铁磁性材料。
http://baike.baidu.com/view/4480.htm
redo log  :redo/undo log文件,重做/撤销日志,Oracle archived REDO log files是对red/undo log的备份
http://baike.baidu.com/view/3084737.htm
data files:数据文件,每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据
http://baike.baidu.com/view/702978.htm

转载于:https://www.cnblogs.com/youyou/archive/2012/05/14/2500727.html

oracle数据库性能优化 - 降低IO相关推荐

  1. oracle使用 union all 用自增序列_值得收藏的Oracle数据库性能优化

    值得收藏的Oracle数据库性能优化 年尾了,新的一波面试军又要开始了,被问到最多的可能就是性能优化,尤其是数据库性能优化,这个面试题不管是初中高级工程师都会被问到.因此我觉得下面31点ORACLE优 ...

  2. 老白Oracle数据库性能优化实务-视频分享

    http://www.400gb.com/u/2718690/4479328 老白Oracle数据库性能优化实务 课程风格: 理论结合实战案例,重点在于介绍优化的思路和工作方法.共享大量技术文档.脚本 ...

  3. oracle union all 特别慢_值得收藏的Oracle数据库性能优化

    前言 年尾了,新的一波面试军又要开始了,被问到最多的可能就是性能优化,尤其是数据库性能优化,这个面试题不管是初中高级工程师都会被问到.因此我觉得下面31点ORACLE优化还是值得调几个去面试.也方便以 ...

  4. Oracle数据库性能优化

    此文章主要介绍的是通过优化数据库来大幅度的提高Oracle数据库性能,以下几个简单的相关步骤就可以简单实现Oracle数据库性能,下面就是文章的具体内容的描述,望你浏览之后会对其有所了解. 数据库优化 ...

  5. oracle张大鹏,Oracle数据库性能优化

    目录 第一篇 优化工具篇 第 1 章 DBA 优化之路 1.1 学习的建议 1.2 工具推荐 1.3 关于操作系统方面的建议 1.4 关于Oracle初始化参数的调整 1.5 关于Statspack的 ...

  6. Oracle数据库性能分析管理-IO分析

    本文原题<ORACLE数据库服务器IO高的分析方案和案例探讨> 目录: ** 1 IO异常繁忙,超出HBA卡端口流程上限,导致卡壳 ** 慧眼识珠--服务器磁盘这么繁忙,到底是谁干的? 谨 ...

  7. Oracle数据库性能优化杂谈

    数据库系统出现性能问题,其根本原因是系统资源出现瓶颈,这里的资源瓶 颈包括硬件瓶颈和软件瓶颈.内存.CPU.I/O 是硬件资源,如果这些资源出现瓶 颈,则系统出现硬件瓶颈.软件瓶颈则是由于软件设计的数 ...

  8. Oracle数据库性能优化基础

    1.数据处理分类OLTP,OLAP 2.Oracle特性 3.数据库优化方法论/原则 方法论:自顶向下优化和自底向上优化 3.1 自顶向下优化 3.2 自底向上优化 对于多年的老系统出现性能问题时,就 ...

  9. Oracle数据库性能优化艺术(第五期) 第7周 索引和分区(包括11g下新的组合分区)

    1.分别给出一个B-tree索引针对全表扫描性能高和低的例子. B-tree比FTS性能高的例子: SQL> drop table t purge; Table dropped. SQL> ...

最新文章

  1. 2022-2028年中国TPE弹性体行业市场研究及前瞻分析报告
  2. 互联网金融乱弹4:讨论金融系统日切处理
  3. 彻底解决Git中文乱码问题
  4. 64位jdk连接32位的mysql_在64位客户端使用32位的ODBC配置
  5. 电脑卡顿不流畅是什么原因_为什么安卓系统用久了会卡,苹果系统却依然流畅?原因找到了!...
  6. LeetCode 1822. 数组元素积的符号
  7. 高中计算机高考时vb试题,高中信息技术vb试题及答案
  8. 网页制作语言HTML5的应用
  9. 静态函数与非静态函数的区别
  10. Unity3D射击类游戏制作第一节--场景搭建
  11. 无理数的无理数次幂的结果可以是有理数?(以〖√2〗^√2为例)
  12. 伯特兰·阿瑟·威廉·罗素
  13. GEE引擎自定义进度条和自定义属性的脚本展示
  14. 8、信息收集篇————Kali Linux自带工具
  15. [转载]kindle屏幕出现小黑点,怎么办?
  16. 整型到底占几个字节呢?
  17. 标准光照模型-半兰伯特模型
  18. if 下与 或执行与否
  19. Manifest 使用示例 - Msbuild 工程
  20. 运动会分数统计系统c语言,运动会分数统计系统

热门文章

  1. android wear 上网,Android Wear 2.0智能回复不需联网?这是最新的离线AI技术
  2. 枚举保存到数据库中为序号解决方案
  3. C++__conversion function,Non-explicit one argument constructor
  4. 计算机通过路由器连接打印机共享的打印机,如何利用无线路由器进行打印机共享访问操作...
  5. html5 文本框限制,html中input禁止输入(禁止获得焦点)多种方法及input限制数字和长度...
  6. Linux yum 命令详解 源配置
  7. 2w字大白话讲解Spring Cloud,必须收藏
  8. Swift如何使用Masonry和SnapKit
  9. Mac Os 基本命令行
  10. python余弦相似度文本分类_Jaccard与cosine文本相似度的异同