DBA_JOBS_RUNNING视图访问缓慢

1930阅读 0评论2013-12-24 deargentle
分类:Oracle

一个经常碰到的bug,访问DBA_JOBS_RUNNING视图长时间得不到结果。

在10.2以前的版本,查询DBA_JOBS_RUNNING视图经常会发生等待:

SQL> SET TIMING ON
SQL> SELECT * FROM DBA_JOBS_RUNNING;
no rows selected
Elapsed: 00:00:28.57

上面这个查询中虽然一条记录都没有查询到,但是仍然用了将近30秒,而如果采用RBO的方式,则1秒之内就可以得到查询的结果:

SQL> SELECT /*+ RULE */ * FROM DBA_JOBS_RUNNING;
no rows selected
Elapsed: 00:00:00.04


Oracle在Bug No. 3402490中描述了这个bug,这个bug会影响9.2和10.1版本,在10.2中这个bug被fixed。

SQL> SET TIMING ON
SQL> SELECT * FROM DBA_JOBS_RUNNING;

未选定行

已用时间: 00: 00: 00.05
SQL> SELECT * FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production

已用时间: 00: 00: 00.03


出处: http://yangtingkun.itpub.net/post/468/458549
上一篇:OracleJob不自动运行解决办法
下一篇:ORACLE LOBSEGMENT