oracle浅析导致数据库性能问题的常见原因
㈠ 不合理的大表全表扫描
详见:点击打开链接
v$session_longops视图记录了超过6秒的所有SQL语句
这其中绝大部是全表扫描的语句!
㈡ 语句共享性不好
常出没在OLTP,由于app没有合理使用绑定变量,导致大量重复的语句Parse,浪费大量的shared pool,使CPU利用率居高不下
㈢ 过量的排序操作
有个原则:能不排序就不排序
特别是multi-pass,与事务设计、缺乏索引、优化器的选择等均有关系
㈣ 大量递归SQL语句
由sys执行,以大量的空间管理sql语句为甚
常见于大数据处理
作为DBA,大数据处理前,主动进行存储空间的分配
㈤ 优化器和统计信息
代码有时候,在测试环境能跑,到了生产环境就“萎”了
这是因为,生产环境没有及时采集统计信息,导致Oracle优化器不了解最新的数据和应用情况,而错误地选择了非优化的执行路径
所以,我们需及时采集统计信息,保证基于CBO的优化器能欢快运行
㈥ 不合理的参数设置
系统参数一定要调,还要合理地调
主要是些内存参数、进程参数等
㈦ 存储部署不合理
由于存储部署不合理导致I/O效率低下
处理方案:ASM、RAID10等
㈧ 频繁的数据库连接操作
主要是C/S结构比较常见,几乎绝迹于B/S了
㈨ Redo Log 设计不合理
Redo log文件设计太小,频繁触发checkpoint事件,导致内存紧张和I/O繁忙
Redo log文件文件组太少,则可能使归档无法赶上redo entries产生的速度
本文转自:http://blog.csdn.net/dba_waterbin/article/details/8455530
oracle浅析导致数据库性能问题的常见原因的更多相关文章
- Oracle DBA优化数据库性能心得
如今的优化己经向优化等待(waits)转型了,实际中性能优化最根本的出现点也都集中在IO,这是影响性能最主要的方面,由系统中的等待去发现Oracle库中的不足.操作系统某些资源利用的不合理是一个比较好 ...
- Oracle 、MySql 数据库表被锁的原因分析
记录一次准备给客户预演示出现的问题 事故的背景: 当所以功能开发完成后,开发人员在本地进行了测视已经没问题了.就把所有开发的功能模块合并到 dev 分支,进行打包,发布到预演示的线上环境.当在给相关人 ...
- 入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试
黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面 ...
- 诊断Java代码中常见的数据库性能热点问题应该这么做!
“你的Java应用程序的性能是怎样诊断和优化的?不妨看看这两位西医的方子.如果你有更好疗效的药方,也欢迎在评论区告诉我们. 当我在帮助一些开发者或架构师分析及优化Java应用程序的性能时,关键往往不在 ...
- oracle数据库性能优化方案精髓整理收集回想
oracle数据库性能优化整体法则: 一.降低数据訪问(降低硬盘房訪问次数) 二.返回更少的数据(降低网络传输或磁盘訪问) 三.降低交互次数(降低网络传输) 四.降低server开销(降低cpu及内存 ...
- oracle实例的内存(SGA和PGA)调整,优化数据库性能
一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...
- Oracle中HWM与数据库性能的探讨
Oracle中HWM与数据库性能的探讨 一.什么是高水位 HWM(high water mark),高水标记,这个概念在segment的存储内容中是比较重要的.简单来说,HWM就是一个segment中 ...
- Jemeter对Oracle数据库性能测试方法
下载Oracle的jdbc数据库驱动包,注意Oracle数据库的版本,这里使用的是:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 ...
- 浅谈Oracle数据库性能优化的目标
Oracle性能优化保证了Oracle数据库的健壮性,为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略.从数据库性能优化的场景来区分,可以将性能优化分为如 ...
随机推荐
- 数学【p2117】 小z的矩阵
题目描述-->p2117 小z的矩阵 分析: 题目给定我们一个正方形. 容易想到,正方形是对称的. 推敲一下 如果我们的矩阵是这样的↓ 闭眼瞎敲出来的. \[\begin{bmatrix} {0 ...
- java trim start end space
Java program that trims starts and ends public class Program { public static String trimEnd(String v ...
- Super Ugly Number -- LeetCode
Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose all ...
- Orchard 事件通知小坑
public void GetTagLogRecord(int tagId, string keyword, string area) { var tag = _repositoryTagRecord ...
- 如何命令行编译Java工程
在src下的包含Main的包下打开命令行,javac -classpath “路径到src,不到包下” Main.java
- 命令行解析函数:getopt/getopt_long
参考: http://blog.csdn.net/zhangyang0402/article/details/5671410 http://www.cnblogs.com/gnuhpc/archive ...
- 浅谈C#委托和事件(转载)
委托给了C#操作函数的灵活性,我们可使用委托像操作变量一样来操作函数,其实这个功能并不是C#的首创,早在C++时代就有函数指针这一说法,而在我看来委托就是C#的函数指针,首先先简要的介绍一下委托的基本 ...
- 机器学习第4课:多变量线性回归(Linear Regression with Multiple Variables)
4.1 多维特征 目前为止,我们探讨了单变量/特征的回归模型,现在我们对房价模型增加更多的特征, 例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(x1,x2,...,xn).
- ASP.NET MVC学习---(九)权限过滤机制(完结篇)
相信对权限过滤大家伙都不陌生 用户要访问一个页面时 先对其权限进行判断并进行相应的处理动作 在webform中 最直接也是最原始的办法就是 在page_load事件中所有代码之前 先执行一个权限判断的 ...
- Python连接mongodb提取部分字段内数据并写入txt文件
#coding=utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') from pymongo import MongoClient ...