动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.怎样将冷备份移植到另一台Solari.
.Oracle基本数据类型存储格式浅析.
.解读Oracle 9201的控制文件(一).
.我的oracle笔记一(sql语句方面).
.自动转换Foxpro/Oracle台站数据库.
.Oracle数据库安全策略与实现方法.
.oracle下导出某用户所有表的方法.
.Oracle 8i中回滚段使用和ORA-1555.
.一次恢复oracle的尝试.
.Oracle 9i安装后,配置和启动企业.
.Oracle 的标准系统服务脚本 for .
.MySQL到ORACLE程序迁移的注意事项 .
.Oracle与SQL Server在企业应用中.
.如何限制只有0组的用户可以su成r.
.通过JDBC操纵Oracle数据库LOB字段.
.Oracle10g支持SQL正则表达式.
.ORACLE培训教程(4)-Pro * C 的使.
.Oracle与PHP的集成:Zend Core f.
.使用dbv和RMAN检查数据文件中的坏.
.字符集转换的exp/imp试验二.

8i中回滚段使用和ORA-1555

发表日期:2008-2-9 |


    回滚段中保存的回滚数据有2个作用:一致读和回滚。回滚段是由连续block组成的区间extent组成.回滚段有顺序的循环的使用这些区间。 当当前区间写满的时候,Oracle移向下一个区间. 如一个回滚段有4个区间A,B,C,D;当区间C被写满的时候,oracle将写区间D,而当D写满的时候,oracle将尝试重新写区间A.这样循环的有顺序的使用区间。     事务必须将回滚信息写到回滚段中;事务的当前新产生的回滚信息写在该回滚段的位置叫做回滚段的head. 而在该回滚段上最早发生的尚未提交的事务最早产生的回滚信息所在位置叫做回滚段的tail. 当前区间写满的时候,oracle移动head到下一个区间.     8i时每个事务只能使用一个回滚段。Oracle会根据回滚段workload,平均将事务分配给各个回滚段。在回滚段使用上的一些规则     1.一个事务只能使用一个回滚段。     2. 多个事务可以共用一个区间。但Active的事务不能共用一个block.     3. 回滚段的current extent写满的时候,回滚段的Head不能够移动到回滚段tail所在的区间。     4. 区间总是被有顺序的循环的时候;当head移动的时候,不会跳跃区间;只能移动到下一个区间。     5. 假如head不能够使用下一个区间(如tail在下一个区间),将会分配一个新的区间extent,并将新区间extent插入到这个循环使用的extent圈中。这叫做回滚段的扩展。     ORA-1555 snapshot too old主要是在一致读和延迟块清除delay block cleanout的时候产生;     [参考]一致读的步骤     1. Read the Data Block.
    2. Read the Row Header.
    3. Check the Lock Byte to determine whether there's an ITL entry.
    4. Read the ITL entry to determine the Transaction ID (Xid).
    5. Read the Transaction Table using the Transaction ID. If the transaction has been committed and has a System Commit Number less than the query's System Change Number, update the status of the block (block cleanout) and start over at step 1.     第5步细分     ---IF 在Transaction Table 中根据Transaction ID 找到transaction
    ------------IF transaction 已经commit
    ------------------------IF query scn>commit scn
    -------------------------------------则接受该块,进行clean out,返回1
    ------------------------ELSEIF query scn    -------------------------------------则进行一致性读,从第6步向后执行
    ------------ELSEIF transaction 没有commit
    ------------------------也进行一致性读,从第6步向后执行     ---ELSEIF 在Transaction Table 中没有找到transaction(undo header中的transaction slot被覆盖了,也说明事务已经提交,因为只有提交后所在的transaction slot才能被覆盖。这样query scn则去比较control scn。在该回滚段上control scn以前的transaction都已经被提交,也就是事务表中所能找到的最小的commit scn了)
    ------------IF query scn    ------------------------则无法知道query scn和commit scn得大小关系,出现ORA-01555错误
    ------------IF query scn>control scn
    ------------------------则query scn肯定>commit scn
    -------------------------------------则接受该块,进行clean out,并将block 中ITL标记上“U”,表示“upper bound commit” ,并返回1
    6. Read the last undo block (Uba).
    7. Compare the block transaction ID with the transaction table transaction ID. If the Transaction ID in the undo block doesn't equal the Transaction ID from the Transaction Table, then issue ORA-1555, Snapshot Too Old. 表示回滚段中回滚信息被覆盖,无法为一致读提供必需的before image。
    8. If the Transaction IDs are identical, make a copy of the data block in memory. Starting with the head undo entry, apply the changes to the copied data block.
    9. If the tail undo entry (the actual first undo entry in the chain, or the last in the chain going backwards!) indicates another data block address, read the indicated undo block into memory and repeat steps 7 and 8 until the undo entries don't contain a value for the data block address.
    10. When there's no "previous data block address," the transaction has been completely undone.
    11. If the undo entry contains:
    a. a pointer to a previous transaction undo block address, read the Transaction ID in the previous transaction undo block header and read the appropriate Transaction Table entry. Return to step 5.
    b. an ITL record, restore the ITL record to the data block. Return to step 4.     出现1555的时候,首先判定是哪个原因导致,可以设置event;假如因为transaction slot被覆盖导致,则增加回滚段数目;假如因为回滚信息被覆盖,则增加回滚大大小。1555错误比较复杂,通常需要考虑很多问题。     event = "1555 trace name processstate forever, level 10"     That will give you a process state dump for any process that gets an ORA-1555 error. The dump will show you which block the process was trying to rollback to its snapshot SCN. If it's a rollback segment header block, then you have your proof. see more from http://www.ixora.com.au/q+a/undo.htm
上一篇:只读表空间的备份和恢复[一] 人气:460
下一篇:oracle如何判断应用哪个archived log 人气:411
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-25 WikyBlog v1.7.0.1 多国语言版
2008-7-25 乐彼网上开店系统(56770 Eshop)
2008-7-25 赛特网站管理系统sitecms v3.6.0
2008-7-25 Modoer多功能点评系统 v1.0.1 Bu
2008-7-25 Shangducms Teamsuit! v1.1.0 开
2008-7-25 幻影动漫网视频系统(Ppdong) v1.
2008-7-25 acteecompany企业网站建设系统 v
2008-7-25 恒浪整合管理系统 ims v4.1 ACCE
2008-7-25 艺术图库系统 v1.0 beta
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵