热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle数据库性能优化-降低IO

oracle数据库性能优化-降低IO影响到oracle性能的因素主要可以从硬件和软件两个方面划分,本文通过对oracle数据库架构的分析,提出从硬件方面OLTP系统优化oracle数据库性能的方法,不足之处欢迎拍砖。oracle数据...SyntaxHighlighter.all
oracle数据库性能优化-降低IO
 
影响到oracle性能的因素主要可以从硬件和软件两个方面划分,本文通过对oracle数据库架构的分析,
提出从硬件方面OLTP系统优化oracle数据库性能的方法,不足之处欢迎拍砖。
  oracle数据库物理存储架构:


 
  oracle数据库物理文件增长情况:


 
   Oracle archived REDO log files增长快,说明redo log写入很频繁。
从实际大数据量和高性能OLTP应用系统性能测试发现,磁阵IO是限制系统性能的瓶颈,
因此降低IO是oracle数据库优化的关键,  www.2cto.com  
结合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文件建立
在固态硬盘上是个不错的选择  www.2cto.com  
2 由于内存足够大,因此将临时表空间建立在内存盘上,对于统计、大数据量查询、大数据量
sql运算(比如:group by、sum等)的操作,
  需要大量临时表空间存储临时数据,这些临时数据就直接存储到内存上了,消除了oracle
的大读取和大运算产生的临时IO
3 由于索引具有可以根据数据文件重建,不怕丢失的特性,
  把索引文件建在临时文件系统上,oracle每次启动时重建索引,这样平时的读写操作就不会
产生索引IO,索引的更新和读取都在内存上进行,
  系统由于各种原因出现重启时,仅在重启时重建一次索引
本文观点基于目前系统内存都非常大(一般都是几十G甚至以上)的情况下所做的优化,
基于以上优化,把影响oracle IO的三大因素去掉了两大因素,因此性能上有望达到倍增的效果。
 
 
 
作者 心有

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
author-avatar
James
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有