关于如何判断与解决deadlock的问题
当前应用时常会出现deadlock的alert记录,关于如何判断与解决deadlock的问题,有一些介绍性的文章值得阅读。How to Identify ORA-00060 Deadlock Types Using Deadlock Graphs in Trace (文档 ID 1507093.1) 当Oracle检测到死锁后,会取消当前检测到死锁的SQL执行,...
How to Tell if the I/O of the Database is Slow - 2
IO的类型:平均响应时间直接关联到具体的IO类型:1. 读或写2. 单块或多块 单块IO,指一次只读一个块。例如,当一个session等待一个单块IO时,典型的等待事件就是“db file sequentia...
How to Tell if the I/O of the Database is Slow - 1
系统变慢的原因有很多,有时是因为SQL,有时是因为硬件,有时又可能是系统,就如前几篇文章介绍的,AWR是一个查找问题原因的重要手段,同时OSWatcher等工具也是排查系统问题必不可少的方法。当然系统变慢,也需要知...
Waiting Too Frequently for 'db file sequential read'
昨天有篇“db file sequential read”的介绍,还有一篇类似的:Resolving Issues Where Application Queries are Waiting Too Frequently for 'db file sequential read' Operations (文档 ID 1475825.1)诊断“db fi...
High Waits on 'Db File Sequential Read'
最近某些系统AWR的top 5中“Db File Sequential Read”占据的时间百分比非常大,通常这种等待事件是一种正常的。但当前系统性能是有些问题的,并发量大,有些缓慢,因此需要判断这种等待事件是否能够减少。MOS有几篇...
"log file sync"等待事件-2
“log file sync”有三个参数:P1 = buffer#P2 = 未使用P3 = 未使用buffer#这个buffer编号(在日志缓冲区中)的所有改变必须刷新到磁盘,写操作的完成保证了交易COMMIT的执行,即使实例crash也会保证COMMIT。因此LGWR...
"log file sync"等待事件-1
“log file sync”是等待事件中非常常见的一种,他排在AWR的top5中有时是正常情况,有时则需要格外注意。昨天也听了一次Oracle的网络研讨会,介绍的是AWR相关的分析,从中学习到最重要的一点,就是对于AWR报告中...
续《表扫描与索引扫描返回的行数不一致》
续《表扫描与索引扫描返回的行数不一致》上篇文章主要介绍了如何从分析表得到的报错,以及trace中的信息,判断表返回的记录与索引返回记录不一致时的处理方式。下面这篇文章则介绍了针对ORA-1499进行问题排查的一些...
表扫描与索引扫描返回的行数不一致
某个应用最近总出现死锁,其中一些是因为报了索引和数据行存在不匹配的问题,MOS中有如下文档可以参考。ORA-1499. Table/Index row count mismatch(文档 ID 563070.1)现象:使用“validate structure cascade”...
使用索引快速全扫描(Index FFS)避免全表扫描的若干场景
使用索引快速全扫描(Index FFS)避免全表扫描(FTS)(文档 ID 70135.1)什么使用使用Index FFS比FTS好?Oracle 8的Concept手册中介绍:1. 索引必须包含所有查询中参考到的列。2. Index FFS只能通过CBO(Index hint强制使...
与IO相关的等待事件troubleshooting-系列9
Buffer Cache与IO相关的等待事件: 这种等待事件的产生原因是包含DBWR进程和IO Slaves的Buffer Cache操作。'db file parallel write' , 'db file single write', 'write complete ...
与IO相关的等待事件troubleshooting-系列8
与Redo日志IO相关的等待事件: Redo日志活动期间会有很多的等待事件,而且他们大多是和IO相关的。最重要的两个就是‘log file sync’和‘log file parallel write’。 &nbs...
与IO相关的等待事件troubleshooting-系列7
与控制文件IO相关的等待事件: 这种等待事件通常产生于一个或多个控制文件的IO。像redo日志切换和检查点事件,都会产生频繁的控制文件访问。因此调优这些实践可以间接地影响这种等待事件...
与IO相关的等待事件troubleshooting-系列6
'db file parallel read' 当Oracle从多个数据文件并行读到内存(PGA或Buffer Cache)的非连续缓冲时,可以看到这种等待事件。在恢复操作或为了优化而预处理缓冲(代替执行多个单块读)...
与IO相关的等待事件troubleshooting-系列5
'db file scattered read' 这是另一种常见的等待事件。他产生于Oracle从磁盘读取多个块到Buffer Cache中非连续("scattered")缓存的时候。这种读一次最大值是DB_FILE_MULTIBLOCK_READ_COU...
与IO相关的等待事件troubleshooting-系列4
与数据文件IO相关的等待事件:接下来的等待事件是与数据文件的IO操作时产生的。'db file sequential read' 这是一种最常见的IO相关的等待。大多数情况下,他指的是单块读,例如索引数据...
与IO相关的等待事件troubleshooting-系列3
解决IO问题的常用方法: 使用Statspack类似的工具对数据库响应时间分析之后,已经表明与IO相关的等待事件限制了系统性能,有许多的方法可以判断这种问题。 ...
与IO相关的等待事件troubleshooting-系列2
Troubleshooting步骤:Troubleshooting与IO相关的等待:数据库性能调优方面一项关键的方法就是响应时间分析。找出时间都花费在数据库的哪些环节。时间是性能调优中最重要的属性。用户通过交易或批处理任务的...
与IO相关的等待事件troubleshooting-系列1
近来XX应用充分暴露出开发人员最初只关心功能,未考虑性能的问题,夜维、OLTP应用均出现了不同程度的与数据库相关的性能问题。这个应用所在磁盘的IO较差,原因在于这块磁盘较旧,已进入更换的流程,但短期内还不...
一篇关于调优的概念性文章
今天看了一篇关于调优的概念性文章(61998.1: Introduction to Tuning Oracle7 / Oracle8 / 8i / 9i )。文章的目的是为了可以快速知晓执行过程中哪里花费了较多的时间,而不是关注不同统计数据的含义。更...