CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

Oracle Wait Event:Data file init write

作者: eygle,  出处:blog, 责任编辑: 李书琴, 
2008-05-07 16:21
  

  在一次周末的课程试验中,频繁的看到 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中空间扩展时内部流程。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2007, ChinaByte
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i