天天看点

buffer busy wait - file header block

buffer busy wait这个事件表明多个进程正在尝试访问同样的cache buffer中的buffers。 class为file header block的buffer busy wait的等待事件表明文件头的块出现争用。 环境:

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

PL/SQL Release 11.2.0.2.0 - Production

CORE 11.2.0.2.0 Production

TNS for Linux: Version 11.2.0.2.0 - Production

NLSRTL Version 11.2.0.2.0 - Production

SQL> 创建表为nologging,分别是testwrite1, testwrite2, testwrite3, testwrite4。

DROP TABLESPACE "SOEDATA" INCLUDING CONTENTS AND DATAFILES; CREATE BIGFILE TABLESPACE "SOEDATA" DATAFILE

  '+DATA/dbs101/datafile/soedata01.dbf' SIZE 10485760

  AUTOEXTEND ON NEXT 65536 MAXSIZE 33554431M

  LOGGING ONLINE PERMANENT BLOCKSIZE 8192

  EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 1048576 DEFAULT NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO; create table testwrite1 (tid number, tcode varchar2(40), name char(2000), name1 char(2000), name2 char(2000), name3 char(1000)) nologging; create table testwrite1 (tid number, tcode varchar2(40), name char(2000), name1 char(2000), name2 char(2000), name3 char(1000)) nologging;

create table testwrite2 (tid number, tcode varchar2(40), name char(2000), name1 char(2000), name2 char(2000), name3 char(1000)) nologging;

create table testwrite3 (tid number, tcode varchar2(40), name char(2000), name1 char(2000), name2 char(2000), name3 char(1000)) nologging;

create table testwrite4 (tid number, tcode varchar2(40), name char(2000), name1 char(2000), name2 char(2000), name3 char(1000)) nologging; shell脚本iotest_write.sh:运行iotest_write.sql。

#!/bin/bash

n=1

while (( $n <= 4 ))

do

        sqlplus " soe/[email protected]" @iotest_write.sql $n &

        n=$(( n+1 ))

done 脚本iotest_write.sql:direct load数据到testwrite四张表中,每张表load 1,000,000条记录。

set timing on set echo on alter session set events '10046 trace name context forever, level 12'; declare

 l_sql varchar2(4000);

begin

 l_sql := 'insert into testwrite&1 ' || 'select rownum, to_char(rownum), to_char(rownum), to_char(rownum), to_char(rownum), to_char(rownum)'

  || 'from (select rownum from dual connect by rownum<=1000000)';

 execute immediate l_sql;

 commit;

end;

/ select 1 from dual; 运行前先truncate testwrite四张表

truncate table testwrite1 ;

truncate table testwrite2 ;

truncate table testwrite3 ;

truncate table testwrite4 ; 运行shell脚本iotest_write.sh。 AWR report输出结果

Load Profile              Per Second    Per Transaction   Per Exec   Per Call

~~~~~~~~~~~~         ---------------    --------------- ---------- ----------

      DB Time(s):                1.6              215.0       0.12      11.70

       DB CPU(s):                0.1                7.0       0.00       0.38

       Redo size:           21,315.0        2,834,705.7

   Logical reads:            2,051.8          272,875.0

   Block changes:              214.9           28,584.8

  Physical reads:                0.7               97.5

 Physical writes:            1,429.4          190,101.7 Top 5 Timed Foreground Events

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                                                           Avg

                                                          wait   % DB

Event                                 Waits     Time(s)   (ms)   time Wait Class

------------------------------ ------------ ----------- ------ ------ ----------

buffer busy waits                     2,966       2,191    739   53.6 Concurrenc

direct path write                    64,291       1,760     27   43.1 User I/O

DB CPU                                              134           3.3

db file sequential read                 874          15     17     .4 User I/O

Data file init write                    265           6     22     .1 User I/O                                                              Avg

                                        %Time Total Wait    wait    Waits   % DB

Event                             Waits -outs   Time (s)    (ms)     /txn   time

-------------------------- ------------ ----- ---------- ------- -------- ------

buffer busy waits                 2,966     0      2,191     739    156.1   53.6

direct path write                64,291     0      1,760      27  3,383.7   43.1

db file sequential read             874     0         15      17     46.0     .4

Data file init write                265     0          6      22     13.9     .1

db file scattered read              156     0          4      24      8.2     .1

control file sequential re          219     0          2       9     11.5     .1

log file switch (private s            4     0          0     105      0.2     .0

log file sync                        13     0          0      23      0.7     .0

control file parallel writ           18     0          0      11      0.9     .0 SQL ordered by Elapsed Time            DB/Inst: dbs101/dbs101  Snaps: 802-803

-> Resources reported for PL/SQL code includes the resources used by all SQL

   statements called by the code.

-> % Total DB Time is the Elapsed Time of the SQL statement divided

   into the Total Database Time multiplied by 100

-> %Total - Elapsed Time  as a percentage of Total DB time

-> %CPU   - CPU Time      as a percentage of Elapsed Time

-> %IO    - User I/O Time as a percentage of Elapsed Time

-> Captured SQL account for   98.8% of Total DB Time (s):           4,084

-> Captured PL/SQL account for   98.4% of Total DB Time (s):           4,084         Elapsed                  Elapsed Time

        Time (s)    Executions  per Exec (s)  %Total   %CPU    %IO    SQL Id

---------------- -------------- ------------- ------ ------ ------ -------------

         1,006.2              1      1,006.16   24.6    3.2   44.1 dcmcu7kww1184

Module: SQL*Plus

declare l_sql varchar2(4000); begin l_sql := 'insert into testwr

ite4 ' || 'select rownum, to_char(rownum), to_char(rownum), to_char(rownum), to_

char(rownum), to_char(rownum)' || 'from (select rownum from dual connect by ro

wnum<=1000000)'; execute immediate l_sql; commit; end;

Tablespace

------------------------------

                 Av       Av     Av                       Av     Buffer  Av Buf

         Reads Reads/s  Rd(ms) Blks/Rd       Writes Writes/s      Waits  Wt(ms)

-------------- ------- ------- ------- ------------ -------- ---------- -------

SOEDATA

             1       0     0.0     1.0      119,437       47      5,539   395.7

SYSAUX

           591       0    22.5     2.7          290        0          0     0.0

SYSTEM

           519       0    15.7     1.0           46        0          8     0.0 Tablespace               Filename

------------------------ ----------------------------------------------------

                 Av       Av     Av                       Av     Buffer  Av Buf

         Reads Reads/s  Rd(ms) Blks/Rd       Writes Writes/s      Waits  Wt(ms)

-------------- ------- ------- ------- ------------ -------- ---------- -------

PERFSTAT_DATA            +DATA/dbs101/datafile/perfstat_data.296.751306195

             1       0     0.0     1.0            1        0          0     0.0

SOEDATA                  +DATA/dbs101/datafile/soedata.294.751909089

             1       0     0.0     1.0      119,437       47      5,539   395.7

SYSAUX                   +DATA/dbs101/sysaux01.dbf

           591       0    22.5     2.7          290        0          0     0.0

SYSTEM                   +DATA/dbs101/system01.dbf Segments by Physical Writes             DB/Inst: dbs101/dbs101  Snaps: 802-803

-> Total Physical Writes:       3,611,933

-> Captured Segments account for  100.0% of Total            Tablespace                      Subobject  Obj.      Physical

Owner         Name    Object Name            Name     Type        Writes  %Total

---------- ---------- -------------------- ---------- ----- ------------ -------

SOE        SOEDATA    TESTWRITE1                      TABLE      904,274   25.04

SOE        SOEDATA    TESTWRITE4                      TABLE      903,377   25.01

SOE        SOEDATA    TESTWRITE2                      TABLE      903,126   25.00

SOE        SOEDATA    TESTWRITE3                      TABLE      900,950   24.94

SYS        SYSAUX     WRH$_SQL_PLAN                   TABLE           42     .00

          ------------------------------------------------------------- Segments by Physical Write Requests     DB/Inst: dbs101/dbs101  Snaps: 802-803

-> Total Physical Write Requestss:         119,915

-> Captured Segments account for   99.7% of Total            Tablespace                      Subobject  Obj.    Phys Write

Owner         Name    Object Name            Name     Type      Requests  %Total

---------- ---------- -------------------- ---------- ----- ------------ -------

SOE        SOEDATA    TESTWRITE1                      TABLE       29,903   24.94

SOE        SOEDATA    TESTWRITE4                      TABLE       29,873   24.91

SOE        SOEDATA    TESTWRITE2                      TABLE       29,870   24.91

SOE        SOEDATA    TESTWRITE3                      TABLE       29,800   24.85

SYS        SYSAUX     WRH$_SQL_PLAN                   TABLE           37     .03

          ------------------------------------------------------------- Segments by Direct Physical Writes      DB/Inst: dbs101/dbs101  Snaps: 802-803

-> Total Direct Physical Writes:       3,603,256

-> Captured Segments account for  100.0% of Total            Tablespace                      Subobject  Obj.        Direct

Owner         Name    Object Name            Name     Type        Writes  %Total

---------- ---------- -------------------- ---------- ----- ------------ -------

SOE        SOEDATA    TESTWRITE1                      TABLE      902,596   25.05

SOE        SOEDATA    TESTWRITE4                      TABLE      901,701   25.02

SOE        SOEDATA    TESTWRITE2                      TABLE      901,445   25.02

SOE        SOEDATA    TESTWRITE3                      TABLE      899,271   24.96

SYS        SYSAUX     WRH$_ACTIVE_SESSION_ 814636_796 TABLE           24     .00

          ------------------------------------------------------------- Buffer Wait Statistics                  DB/Inst: dbs101/dbs101  Snaps: 802-803

-> ordered by wait time desc, waits desc Class                    Waits Total Wait Time (s)  Avg Time (ms)

------------------ ----------- ------------------- --------------

file header block        5,521               2,186            396

data block                   8                   0              0

segment header               2                   0              0 从arw报表中可以看出,最大的等待事件时buffer busy waits,class为file header block。 ASH Report输出结果:

Top User Events                DB/Inst: dbs101/dbs101  (Jul 24 16:13 to 16:33)                                                                Avg Active

Event                               Event Class        % Event   Sessions

----------------------------------- --------------- ---------- ----------

buffer busy waits                   Concurrency          39.84       1.68

direct path write                   User I/O             33.75       1.43

CPU + Wait for CPU                  CPU                   3.20       0.14

          ------------------------------------------------------------- Top Event P1/P2/P3 Values      DB/Inst: dbs101/dbs101  (Jul 24 16:13 to 16:33) Event                          % Event  P1 Value, P2 Value, P3 Value % Activity

------------------------------ ------- ----------------------------- ----------

Parameter 1                Parameter 2                Parameter 3

-------------------------- -------------------------- --------------------------

buffer busy waits                39.84                  "5","2","13"      39.84

file#                      block#                     class# direct path write                33.75            "5","8431712","32"       0.02

file number                first dba                  block cnt log file parallel write           8.95                   "1","4","1"       0.85

files                      blocks                     requests Data file init write              8.19        "1","256","2147483647"       7.97

count                      intr                       timeout db file parallel write            1.93          "1","0","2147483647"       1.93

requests                   interrupt                  timeout   Top Sessions                  DB/Inst: dbs101/dbs101  (Jul 24 16:13 to 16:33)

-> '# Samples Active' shows the number of ASH samples in which the session

      was found waiting for that particular event. The percentage shown

      in this column is calculated with respect to wall clock time

      and not total database activity.

-> 'XIDs' shows the number of distinct transaction IDs sampled in ASH

      when the session was waiting for that particular event

-> For sessions running Parallel Queries, this section will NOT aggregate

      the PQ slave activity into the session issuing the PQ. Refer to

      the 'Top Sessions running PQs' section for such statistics.    Sid, Serial# % Activity Event                             % Event

--------------- ---------- ------------------------------ ----------

User                 Program                          # Samples Active     XIDs

-------------------- ------------------------------ ------------------ --------

      578,    1      19.27 buffer busy waits                    9.94

SOE                  [email protected](TNS V1-V3)   504/1,200 [ 42%]        1                            direct path write                    8.58

                                                      435/1,200 [ 36%]        1       770,    5      19.27 buffer busy waits                    9.98

SOE                  [email protected](TNS V1-V3)   506/1,200 [ 42%]        1                            direct path write                    8.36

                                                      424/1,200 [ 35%]        1       195,    3      19.21 buffer busy waits                    9.96

SOE                  [email protected](TNS V1-V3)   505/1,200 [ 42%]        1                            direct path write                    8.50

                                                      431/1,200 [ 36%]        1       388,    1      19.21 buffer busy waits                    9.96

SOE                  [email protected](TNS V1-V3)   505/1,200 [ 42%]        1                            direct path write                    8.30

                                                      421/1,200 [ 35%]        1       575,    1       9.01 log file parallel write              8.95

SYS                  [email protected](LGWR)    454/1,200 [ 38%]        0   Top Blocking Sessions          DB/Inst: dbs101/dbs101  (Jul 24 16:13 to 16:33)

-> Blocking session activity percentages are calculated with respect to

      waits on enqueues, latches and "buffer busy" only

-> '% Activity' represents the load on the database caused by

      a particular blocking session

-> '# Samples Active' shows the number of ASH samples in which the

      blocking session was found active.

-> 'XIDs' shows the number of distinct transaction IDs sampled in ASH

      when the blocking session was found active.  Blocking Sid (Inst) % Activity Event Caused                      % Event

-------------------- ---------- ------------------------------ ----------

User                 Program                          # Samples Active     XIDs

-------------------- ------------------------------ ------------------ --------

   960,    3(     1)      16.06 buffer busy waits                   16.06

SYS                  [email protected](W000)    206/1,200 [ 17%]        0    390,    9(     1)      12.64 buffer busy waits                   12.64

SYS                  [email protected](W004)    165/1,200 [ 14%]        0    580,    5(     1)       5.88 buffer busy waits                    5.88

SYS                  [email protected](W003)     77/1,200 [  6%]        0   1149,    5(     1)       4.75 buffer busy waits                    4.75

SYS                  [email protected](W001)     63/1,200 [  5%]        0 从ash报表中可以看出,最大的等待事件也是buffer busy waits,等待的块是file id是5。

块号是2。 QUERY得到buffer busy wait的对象: set linesize 120

col block_type for a20

col objn for a25

col otype for a15

col filen for 9999

col blockn for 9999999

col obj for a20

col tbs for a10

select

bbw.cnt,

bbw.obj,

bbw.otype,

bbw.sql_id,

bbw.block_type,

nvl(tbs.name,to_char(bbw.p1)) TBS,

tbs_defs.assm ASSM

from (

select

count(*) cnt,

nvl(object_name,CURRENT_OBJ#) obj,

o.object_type otype,

ash.SQL_ID sql_id,

nvl(w.class,'usn '||to_char(ceil((ash.p3-18)/2))||' '||

decode(mod(ash.p3,2),

1,'header',

0,'block')) block_type,

--nvl(w.class,to_char(ash.p3)) block_type,

ash.p1 p1

from v$active_session_history ash,

( select rownum class#, class from v$waitstat ) w,

all_objects o

where event='buffer busy waits'

and w.class#(+)=ash.p3

and o.object_id (+)= ash.CURRENT_OBJ#

and ash.session_state='WAITING'

and ash.sample_time > sysdate - &minutes/(60*24)

--and w.class# > 18

group by o.object_name, ash.current_obj#, o.object_type,

ash.sql_id, w.class, ash.p3, ash.p1

) bbw,

(select file_id,

tablespace_name name

from dba_data_files

) tbs,

(select

tablespace_name NAME,

extent_management LOCAL,

allocation_type EXTENTS,

segment_space_management ASSM,

initial_extent

from dba_tablespaces

) tbs_defs

where tbs.file_id(+) = bbw.p1

and tbs.name=tbs_defs.name

Order by bbw.cnt  

       CNT OBJ            OTYPE     SQL_ID        BLOCK_TYPE           TBS       ASSM

---------- -------------- --------- ------------- -------------------- --------- ------

       560 TESTWRITE2     TABLE     73uqrqxgbu6hu file header block    SOEDATA   AUTO

       560 TESTWRITE4     TABLE     g83bdwkq7vvd7 file header block    SOEDATA   AUTO

       561 TESTWRITE3     TABLE     2ktanngh5bazp file header block    SOEDATA   AUTO

       563 TESTWRITE1     TABLE     71c8yxa0z57xr file header block    SOEDATA   AUTO 从这里看出是class为file header block的buffer busy wait。 再从10046 trace文件中看到全部等待在一个块上。可以猜到这是ASSM的bmp管理块。

WAIT #182927391528: nam='buffer busy waits' ela= 1151204 file#=5 block#=2 class#=13 obj#=1 tim=1311496182929374

WAIT #182927391528: nam='buffer busy waits' ela= 2609 file#=5 block#=2 class#=13 obj#=1 tim=1311496182932216

WAIT #182927391528: nam='buffer busy waits' ela= 103 file#=5 block#=2 class#=13 obj#=1 tim=1311496185277262

WAIT #182927391528: nam='buffer busy waits' ela= 79 file#=5 block#=2 class#=13 obj#=1 tim=1311496185915601

WAIT #182927391528: nam='buffer busy waits' ela= 111 file#=5 block#=2 class#=13 obj#=1 tim=1311496186546257

WAIT #182927391528: nam='buffer busy waits' ela= 90 file#=5 block#=2 class#=13 obj#=1 tim=1311496187681644

WAIT #182927391528: nam='buffer busy waits' ela= 97 file#=5 block#=2 class#=13 obj#=1 tim=1311496188014463

WAIT #182927391528: nam='buffer busy waits' ela= 107 file#=5 block#=2 class#=13 obj#=1 tim=1311496189215838

WAIT #182927391528: nam='buffer busy waits' ela= 155 file#=5 block#=2 class#=13 obj#=1 tim=1311496189853705

WAIT #182927391528: nam='buffer busy waits' ela= 36 file#=5 block#=2 class#=13 obj#=1 tim=1311496190052796

WAIT #182927391528: nam='buffer busy waits' ela= 86 file#=5 block#=2 class#=13 obj#=1 tim=1311496192331624

WAIT #182927391528: nam='buffer busy waits' ela= 700 file#=5 block#=2 class#=13 obj#=1 tim=1311496193045278

WAIT #182927391528: nam='buffer busy waits' ela= 80 file#=5 block#=2 class#=13 obj#=1 tim=1311496194926218

WAIT #182927391528: nam='buffer busy waits' ela= 86 file#=5 block#=2 class#=13 obj#=1 tim=1311496198071027

WAIT #182927391528: nam='buffer busy waits' ela= 82 file#=5 block#=2 class#=13 obj#=1 tim=1311496198936753

WAIT #182927391528: nam='buffer busy waits' ela= 87 file#=5 block#=2 class#=13 obj#=1 tim=1311496200432685

WAIT #182927391528: nam='buffer busy waits' ela= 85 file#=5 block#=2 class#=13 obj#=1 tim=1311496201468397

WAIT #182927391528: nam='buffer busy waits' ela= 110 file#=5 block#=2 class#=13 obj#=1 tim=1311496202320686

WAIT #182927391528: nam='buffer busy waits' ela= 302 file#=5 block#=2 class#=13 obj#=1 tim=1311496208721118

WAIT #182927391528: nam='buffer busy waits' ela= 28 file#=5 block#=2 class#=13 obj#=1 tim=1311496208791422

WAIT #182927391528: nam='buffer busy waits' ela= 132 file#=5 block#=2 class#=13 obj#=1 tim=1311496209009280

WAIT #182927391528: nam='buffer busy waits' ela= 72 file#=5 block#=2 class#=13 obj#=1 tim=1311496209206937 dump文件的输出结果:

alter system dump datafile 5 block min 0 block max 2; Start dump data blocks tsn: 9 file#:5 minblk 2 maxblk 2

Block dump from cache:

Dump of buffer cache at level 4 for tsn=9, rdba=2

BH (0xb8f95938) file#: 5 rdba: 0x00000002 (1024/2) class: 13 ba: 0xb84ce000

  set: 19 pool: 3 bsz: 8192 bsi: 0 sflg: 3 pwc: 129,19

  dbwrid: 0 obj: -1 objn: 1 tsn: 9 afn: 5 hint: f

  hash: [0xdb450b18,0x9bf8b148] lru: [0xb8f95b50,0xb8f958f0]

  ckptq: [NULL] fileq: [NULL] objq: [0xd0157700,0xb8f95918] objaq: [0xd01576f0,0xb8f95928]

  st: XCURRENT md: NULL tch: 144

  flags: block_written_once redo_since_read

  LRBA: [0x0.0.0] LSCN: [0x0.0] HSCN: [0xffff.ffffffff] HSUB: [3]

  cr pin refcnt: 0 sh pin refcnt: 0

Block dump from disk:

buffer tsn: 9 rdba: 0x00000002 (1024/2)

scn: 0x0000.01ad97fe seq: 0x02 flg: 0x04 tail: 0x97fe1d02

frmt: 0x02 chkval: 0x390b type: 0x1d=KTFB Bitmapped File Space Header

Hex dump of block: st=0, typ_found=1

Dump of memory from 0x0000002A96DE6600 to 0x0000002A96DE8600

2A96DE6600 0000A21D 00000002 01AD97FE 04020000  [................]

2A96DE6610 0000390B 00000400 00000080 00BCC000  [.9..............]

2A96DE6620 00000009 00002000 FFFFFFFD 0000007E  [..... ......~...]

2A96DE6630 00BCBFFF 00016EF4 00000A8B 01ABC751  [.....n......Q...]

2A96DE6640 00000000 00000000 00000000 00000000  [................]

2A96DE6650 00B77A00 00000080 00000000 00000000  [.z..............]

2A96DE6660 00000000 00000000 00000000 00000000  [................]

        Repeat 504 times

2A96DE85F0 00000000 00000000 00000000 97FE1D02  [................]

File Space Header Block:

Header Control:

RelFno: 1024, Unit: 128, Size: 12369920, Flag: 9

AutoExtend: YES, Increment: 8192, MaxSize: 4294967293

Initial Area: 126, Tail: 12369919, First: 93940, Free: 2699

Deallocation scn: 28034897.0

Header Opcode:

Save: No Pending Op

End dump data blocks tsn: 9 file#: 5 minblk 2 maxblk 2 根据网站的解释

http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-buffer-busy-wait class为"file header block"的buffer busy waits等待事件

Most likely extent allocation problems, look at extent size on tablespace and increase

the extent size to there are few extent allocations and less contention on the File

Header Block. then try increasing the "next extent" size in the tablespace.

This wait can happen when lots of extents are being allocated in the tablespace. 尝试不同的方法解决这个等待:

当tablespace的next默认64k,buffer busy waits用了132s。 Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  Disk file operations I/O                     1447        0.00          0.49

  db file sequential read                       963        0.02          3.57

  CSS initialization                              1        0.00          0.00

  CSS operation: query                            6        0.00          0.00

  CSS operation: action                           1        0.00          0.00

  direct path write                           21987        0.16        199.99

  control file sequential read                 9620        0.18         19.98

  KSV master wait                              6195        0.08          9.88

  ASM file metadata operation                  2136        0.03          0.27

  kfk: async disk IO                            481        0.01          2.04

  Data file init write                          481        0.06         13.28

  db file single write                          481        0.01          2.62

  control file parallel write                  1443        0.05         10.88

  rdbms ipc reply                               481        0.04          4.78

  enq: CF - contention                            2        0.01          0.01

  os thread startup                               1        0.03          0.03

  buffer busy waits                             119        2.35        132.67

******************************************************************************** 将tablespace的next从默认64k改到1m,buffer busy waits用了138s。

Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  Disk file operations I/O                      715        0.00          0.25

  db file sequential read                       475        0.01          1.29

  CSS initialization                              1        0.00          0.00

  CSS operation: query                            6        0.00          0.00

  CSS operation: action                           1        0.00          0.00

  direct path write                           22599        0.15        197.94

  control file sequential read                 4740        0.05          9.12

  KSV master wait                              3042        0.06          5.04

  ASM file metadata operation                  1047        0.00          0.11

  kfk: async disk IO                            237        0.01          1.33

  Data file init write                          237        0.04          6.36

  db file single write                          237        0.01          1.25

  control file parallel write                   711        0.07          5.44

  rdbms ipc reply                               237        0.07          1.98

  enq: TX - contention                            1        0.00          0.00

  enq: CF - contention                            2        0.13          0.17

  buffer busy waits                             140        2.32        138.60

******************************************************************************** 将tablespace的初始大小改到 10g。buffer busy waits没有了。

DROP TABLESPACE "SOEDATA" INCLUDING CONTENTS AND DATAFILES; CREATE BIGFILE TABLESPACE "SOEDATA" DATAFILE

  '+DATA/dbs101/datafile/soedata01.dbf' SIZE 10g

  AUTOEXTEND ON NEXT 1048576 MAXSIZE 33554431M

  LOGGING ONLINE PERMANENT BLOCKSIZE 8192

  EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 1048576 DEFAULT NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO; Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  Disk file operations I/O                        2        0.00          0.00

  CSS initialization                              1        0.00          0.00

  CSS operation: query                            6        0.00          0.00

  CSS operation: action                           1        0.00          0.00

  direct path write                           22554        0.14        196.62

  KSV master wait                                 4        0.00          0.00

  ASM file metadata operation                     2        0.00          0.00

******************************************************************************** 可以看到关于文件扩展的消耗已经没有了。主要的事件是direct path write。

继续阅读