eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 数据字典表之:DBA_HIGH_WATER_MARK_STATISTICS | Blog首页 | Oracle 9i 的生命周期支持策略 »

Oracle Wait Events:Data file init write
modb.pro

在一次周末的课程试验中,频繁的看到 Data file init write 等待事件。
在这里做一点记录说明,以下是来自跟踪文件的记录信息:
WAIT #2: nam='Data file init write' ela= 13031 count=1 intr=256 timeout=-1 obj#=51706 tim=6068271611
WAIT #2: nam='Data file init write' ela= 118163 count=1 intr=256 timeout=-1 obj#=51706 tim=6068392491
WAIT #2: nam='Data file init write' ela= 94036 count=1 intr=256 timeout=-1 obj#=51706 tim=6068490286
WAIT #2: nam='Data file init write' ela= 52412 count=1 intr=256 timeout=-1 obj#=51706 tim=6068545333
WAIT #2: nam='Data file init write' ela= 4 count=0 intr=32 timeout=2147483647 obj#=51706 tim=6068545596
WAIT #2: nam='Data file init write' ela= 26 count=1 intr=32 timeout=2147483647 obj#=51706 tim=6068545641
WAIT #2: nam='Data file init write' ela= 101743 count=1 intr=256 timeout=-1 obj#=51706 tim=6068648487
WAIT #2: nam='Data file init write' ela= 44854 count=1 intr=256 timeout=-1 obj#=51706 tim=6068694281
WAIT #2: nam='Data file init write' ela= 52841 count=1 intr=256 timeout=-1 obj#=51706 tim=6068748054
WAIT #2: nam='Data file init write' ela= 48984 count=1 intr=256 timeout=-1 obj#=51706 tim=6068798310
WAIT #2: nam='Data file init write' ela= 3 count=0 intr=32 timeout=2147483647 obj#=51706 tim=6068798365
WAIT #2: nam='Data file init write' ela= 26 count=1 intr=32 timeout=2147483647 obj#=51706 tim=6068798409
WAIT #2: nam='Data file init write' ela= 101899 count=1 intr=256 timeout=-1 obj#=51706 tim=6068900931
WAIT #2: nam='Data file init write' ela= 21 count=-1 intr=32 timeout=2147483647 obj#=51706 tim=6068901053

测试数据库是Oracle10g 10.2.0.3,实际上这个等待事件也是从Oracle 10g开始引入的,用来标识表空间或数据文件扩展时的等待。
Oracle 需要将系统块格式化为Oracle数据块,然后才能提供数据库使用。

在这个流程处理中,Oracle经过如下三个步骤:
1.扩展数据文件
select file# from file$ where ts#=:1
2.更新用户空间限额
update tsq$ set blocks=:3,maxblocks=:4,grantor#=:5,priv1=:6,priv2=:7,priv3=:8 where ts#=:1 and user#=:2
3.扩展数据段
update seg$ set type#=:4,blocks=:5,extents=:6,minexts=:7,maxexts=:8,extsize=:9,extpct=:10,user#=:11,iniexts=:12,lists=decode(:13, 65535, NULL, :13),groups=decode(:14, 65535, NULL, :14), cachehint=:15, hwmincr=:16, spare1=DECODE(:17,0,NULL,:17),scanhint=:18 where ts#=:1 and file#=:2 and block#=:3

这就是Oracle10g中空间扩展时内部流程。

-The End-

历史上的今天...
    >> 2011-04-10文章:
    >> 2007-04-10文章:
    >> 2006-04-10文章:
           It168急聘 频道主编
    >> 2005-04-10文章:
           Itpub Oracle10g培训结束

By eygle on 2008-04-10 12:50 | Comments (0) | Internal | Oracle12c/11g | 1862 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com