环境准备 1.在虚拟机linux上面安装好oracle环境。 2.启动Oracle 3.开启一个实例 4.开启监听 5.运程链接PL/SQL连接Oracle 导致性能问题的可能原因 1.表没有正确的索引 --错误的执行计划 2.表没有及时的分析 --错误的执行计划 3.热块 --数据块的争用 4.锁 ...
分类:
数据库 时间:
2019-02-26 15:12:54
阅读次数:
212
查询热块对象sql语句: SELECT * FROM (SELECT O.OWNER, O.OBJECT_NAME, O.OBJECT_TYPE, SUM(TCH) TOUCHTIME, FROM X$BH B, DBA_OBJECTS O WHERE B.OBJ = O.DATA_OBJECT_I ...
分类:
其他好文 时间:
2017-11-10 15:21:49
阅读次数:
145
bufferbusywaits(热块儿争用)官网解释:Thiswaitindicatesthattherearesomebuffersinthebuffercachethatmultipleprocessesareattemptingtoaccessconcurrently.QueryV$WAITSTATforthewaitstatisticsforeachclassofbuffer.Commonbufferclassesthathavebufferbusywaitsincludeda..
分类:
数据库 时间:
2017-04-05 10:10:22
阅读次数:
174
上篇日志提到了,那么高的负载,是存在数据块读竞争,下面介绍几个方法来消除块竟争查找块竟争SELECT p1 "file#", p2 "block#", p3 "class#"FROM v$session_waitWHERE event = 'read by other session';如果查出来是...
分类:
其他好文 时间:
2015-12-03 13:52:39
阅读次数:
585
数据块在buffer cache存放是以linked list方式存放的。当一个session想要访问/修改buffer cache的block,首先需要通过hash算法检查该block是否存在于buffer cache中,检查相同的SQL语句是否存在于library cache中也是通过hash算法实现的。要判断block是否存在于buffer cache中,就需要扫描linked list(此处都是串行的,不能并发),获取block的信息。而扫描linked list必须获得一个latch,防止并发对l...
分类:
其他好文 时间:
2014-06-08 15:31:26
阅读次数:
197