Archive for 八月, 2006

library cache lock wait event

说起library cache lock wait event就必须先说一下library cache lock是什么东西,library lock是oracle用来对library cache object进行并发控制的两种数据结构之一,

另外一种数据结构是pin,lock将会在pin之前获得,并被加载到library cache handle

上。library cache lock有3种形式,share,null,exclusive,具体的library cache lock

的分析请看我的另一篇帖子。 通常我们举的关于library cache lock wait event的例子

都是用procedure来模拟的, eygle发表过这方面的文章,今天我举的是另一个例子,

也是一次真实的事故。

Continue reading ‘library cache lock wait event’

dbms_stats and leaf_blocks

dbms_stats是oracle用来代替原有的analyze功能的一个包,与analyze相比dbms_stats具有很多优势,比如并行,比如分区信息统计等,但是dbms_stats再分析index的时候处理方式并不是太理想,dbms_stats分析index时将会只统计leaf_blocks为当前有数据的leaf block,而analyze则会统计为所有曾经被使用过的leaf block number,很显然dbms_stats的统计结果会使index fast full scan的成本被严重低估,在某些情况下会错误得选择index fast full scan做为执行路径。下面来看一个例子:

Continue reading ‘dbms_stats and leaf_blocks’

10g r2 db_file_multiblock_read_count在cbo中的变化

10g r2和前几个版本比起来对db_file_multiblock_read_count
在cbo成本计算中的公式做了调整,看一下下面我实验后的对照表。
 
我的测试环境
 
[oracle@csdba ~]$ uname -a
Linux csdba 2.6.9-11.ELsmp #1 SMP Fri May 20 18:26:27
EDT 2005 i686 i686 i386 GNU/Linux
  

 

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jul 24 17:07:42 2006
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning and Data Mining Scoring Engine options
 

Continue reading ‘10g r2 db_file_multiblock_read_count在cbo中的变化’