热门标签 | 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的三大因素去掉了两大因素,因此性能上有望达到倍增的效果。
 
 
 
作者 心有

推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
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社区 版权所有