- 最后登录
- 2014-8-21
- 在线时间
- 26 小时
- 威望
- 47
- 金钱
- 186
- 注册时间
- 2011-12-21
- 阅读权限
- 10
- 帖子
- 34
- 精华
- 0
- 积分
- 47
- UID
- 117
|
1#
发表于 2013-5-25 12:24:55
|
查看: 4502 |
回复: 3
操作系统为solaris
数据库版本为11.2.0.3.6
检查发现数据库v$lock视图查询非常慢
11:55:47 SQL> select count(*) from v$lock where block=1;
COUNT(*)
----------
0
11:57:10 SQL> 11:57:10 SQL> 11:57:10 SQL>
接近3分钟
检查执行计划:详见执行计划1.txt
看上去似乎执行计划存在问题
通过RBO查询的话速度非常快:
执行计划详见RBO.txt
于是乎我收集了系统的统计信息和动态新能视图的统计信息
exec dbms_stats.gather_fixed_objects_stats
exec DBMS_STATS.GATHER_DICTIONARY_STATS
再次查看执行计划:详见执行计划2.txt
执行计划是发生改变了但是速度没有提升多少
检查该SQL的等待事件:
SQL> select event, p1text, p1 from v$session where sid = 1596;
EVENT P1TEXT P1
---------------------------------------------------------------- ---------------------------------------------------------------- ----------
direct path write temp file number 201
发现等待在direct path write temp
|
|