在一次周末的課程試驗(yàn)中,頻繁的看到 Data file init write 等待事件。
在這里做一點(diǎn)記錄說(shuō)明,以下是來(lái)自跟蹤文件的記錄信息:
以下是引用片段:
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
測(cè)試數(shù)據(jù)庫(kù)是Oracle10g 10.2.0.3,實(shí)際上這個(gè)等待事件也是從Oracle 10g開(kāi)始引入的,用來(lái)標(biāo)識(shí)表空間或數(shù)據(jù)文件擴(kuò)展時(shí)的等待。
Oracle 需要將系統(tǒng)塊格式化為Oracle數(shù)據(jù)塊,然后才能提供數(shù)據(jù)庫(kù)使用。
在這個(gè)流程處理中,Oracle經(jīng)過(guò)如下三個(gè)步驟:
1、擴(kuò)展數(shù)據(jù)文件
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、擴(kuò)展數(shù)據(jù)段
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中空間擴(kuò)展時(shí)內(nèi)部流程。
更多信息請(qǐng)查看IT技術(shù)專欄