Oracle性能优化保证了Oracle数据库的健壮性,为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略。从数据库性能优化的场景来区分,可以将性能优化分为如下三种形式:
1、从来没达到过性能要求的数据库优化。
该类故障一般出现在压力测试或者业务系统刚上线时,可能需要通过修改应用架构,大规模优化SQL语句来进行改进,此类优化难度最大,耗时也最长。
2、量变引起质变的数据库优化。
该类故障通常是由数据库并发加大,数据量增多引起的,优化难度一般,但代价可能较高。在国内,很多客户都是通过增加硬件投入来解决该类性能问题的。
3、突发性的数据库性能故障优化。
该类故障优化的难度最低,但时间紧迫性更强,需要DBA能够快速解决问题。

从数据库性能优化的时间点来分,又分以下2点:
1、事前优化。
指的是业务系统上线前的优化。在事前优化过程中,系统设计、开发、产品优化、平台优化的全过程都很重要。实践经验表明,事前优化对于系统的平稳运行有着根本性的影响,而且优化代价也最低。
2、事后优化。
指的是业务系统上线后的优化。由于事后优化受到宕机时间、代码版本控制、代码内核不容易更改等因素影响,所以事后优化往往只能缓减系统性能下降的症状,治标不治本。系统上线之后,如果爆发出大规模的性能问题,那通常都会是灾难性的,任何容灾在这时都起不了作用。

千万别将数据库的优化全部寄托于系统的参数优化和硬件升级上。数据库性能优化并没有统一的标准步骤,“不管黑猫白猫,捉到老鼠就是好猫”,这句话在性能优化领域也同样适用。一个性能优化项目的目标如下:
1、增大数据库吞吐量。
如通过数据库优化增加每秒执行的事务数。
2、高效利用服务器硬件资源。
如开启并行充分利用CPU资源和存储I/O资源加快执行速度。

尽管引起数据库性能故障的原因千变万化,但解决方法还是有一定的规律可循的。

浅谈Oracle数据库性能优化的目标的更多相关文章

  1. 浅谈MySQL 数据库性能优化

    MySQL数据库是 IO 密集型的程序,和其他数据库一样,主要功能就是数据的持久化以及数据的管理工作.本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存 ...

  2. [原创]浅谈H5页面性能优化方法

    [原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...

  3. oracle数据库性能优化方案精髓整理收集回想

    oracle数据库性能优化整体法则: 一.降低数据訪问(降低硬盘房訪问次数) 二.返回更少的数据(降低网络传输或磁盘訪问) 三.降低交互次数(降低网络传输) 四.降低server开销(降低cpu及内存 ...

  4. 浅谈Oracle数据库分区表

    Oracle数据库分区是作为Oracle数据库性能优化的一种重要的手段和方法,之前,只听过分区的大名,却总未用过,最近简单学习了一下,总结如下,不对之处,还希望朋友们多多指点,交流! 1.表空间及分区 ...

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

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

  6. BizTalk开发系列(三十二)浅谈BizTalk主机性能优化

    很多BizTalk的项目都要考虑到性能优化的问题,虽然BizTalk采用多线程处理消息的,大大提高了程序效率.但默认情况下 BizTalk的主机有很多阻止参数会控制BizTalk对服务器的资源使用率, ...

  7. 浅谈webpack4.0 性能优化(转)

    前言:在现实项目中,我们可能很少需要从头开始去配置一个webpack 项目,特别是webpack4.0发布以后,零配置启动一个项目成为一种标配.正因为零配置的webpack对项目本身提供的“打包”和“ ...

  8. 浅谈web前端性能优化

    前端性能优化: 一.尽可能减少前端http请求. 1.合并优化脚本文件和css文件. 2.同种类型的背景图片尽量放在一起,用css控制显示. 二.使用浏览器缓存. 如果能强制浏览器缓存在本地,将会降低 ...

  9. 数据库 Oracle数据库性能优化

    --在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...

随机推荐

  1. C++暂时对象

    C++真正所谓的暂时对象是不可见的--不会在你的源码中出现.仅仅要你产生一个non-heap object而没有为它命名,便诞生了一个暂时对象.此等匿名对象通常发生于两种情况: 一是当隐式类型转换(i ...

  2. UML的基本关联

     First, a dependency is a semantic relationship between two model elements in which a change to on ...

  3. MAVEN项目,Eclipse启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    由于是maven项目,tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包,所以报此错误: 解决办法: 项目右键 —> 属性 -> Deployment Assembly ...

  4. linux下的gdb调试工具--断点调试

    到目前为止我们的调试手段只有一种: 根据程序执行时的出错现象假设错误原因,然后在代码中适当的位置插入printf,执行程序并分析打印结果,如果结果和预期的一样,就基本上证明了自己假设的错误原因,就可以 ...

  5. PCL点云库增加自定义数据类型

    #include <pcl/filters/passthrough.h> #include <pcl/filters/impl/passthrough.hpp> // the ...

  6. Mono For Android中AlarmManager的使用

    最近做了一个应用,要求如下: 程序运行之后的一段时间,分别触发3个不同的事件.当然很快就想到了Android中的AlarmManager和BroadcastReceiver.但是毕竟Mono环境和Ja ...

  7. Delphi使用XmlHttp获取时间

    uses ComObj, DateUtils; procedure TForm1.Button1Click(Sender: TObject); var XmlHttp: Variant; datetx ...

  8. InstallShield 工程类型MSI 使用过程中碰到的问题及解决方法。

    原文 http://www.cnblogs.com/daocaorenbx/p/InstallShield.html 一.安装完 桌面创建IE快捷方式: 1.  install script可以直接建 ...

  9. Logstash 默认不处理一天前的文件

    The default behavior of the file input plugin is to ignore files whose last modification is greater ...

  10. 关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。”的解决

    关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上.”的解决 一个项目需要在Win系统用计划任务执行PHP,写了个批处理bat利用php-cgi.ex ...