首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 关于Oracle数据库中的undo回滚段
【标  题】:关于Oracle数据库中的undo回滚段
【关键字】:Oracle,undo
【来  源】:http://blog.csdn.net/iihero/archive/2006/09/25/1282778.aspx

关于Oracle数据库中的undo回滚段

Oracle数据库当中,关于日志与回滚那一部分,与别的数据库确实有很大的不同。为了避免在写日志的同时后台进程对日志文件的读操作,Oracle使用了单独的回滚段来记录“旧”的数据。这样可以达到并行读写的目的,整体I/O效率提高了不少,但也引入了一些问题。
最经典的莫过于ORA-01555:snapshot too old错误了。
1.什么操作产生最多的撤消?

Insert产生最小的撤消,但是应该产生相当多的redo数据。因为undo回滚面只需要记录要“删除”那些新行的id。
Update一般是第二位(通常情况下),所要做的是记录修改过的字段值,常见的情况是update整行数据的一小部分。
Delete才会产生最多的撤消,一个事务有可能就是delete一张超大的表,结果导致回滚段不够用,出现上述错误。

2.set transaction语句调用回滚段

Set transaction语句用于“选择”事务要使用的回滚段。这主要是为了对某些较大的操作能够确保有大的回滚段。对于某些特定的事务,可能有必要这么做。
若有必要的话,可以进行一个最优的设置,让回滚段扩展到一定大小后缩小为原来大小,因为不必拥有一个特别的“大回滚段”。
使用exp/imp传输表空间(Oracle):【上一篇】
虚拟社区开发项目日志_8:【下一篇】
【相关文章】
  • 使用exp/imp传输表空间(Oracle)
  • Oracle中SCN的理解
  • 修改Oracle字符集(character set)
  • Oracle建立用户,并为该用户建立一张只读访问的视图
  • 在AS 4 下安装ORACLE10G
  • oracle8.1.7删除对象后出现失效对象无法编译生效的处理
  • oracle运行系统比较慢,cpu使用率高的检查和紧急处理
  • [推荐]ORACLE日常检查详细手册
  • 在AS4 下安装ORACLE10G
  • 配置UltraEdit为Oracle PL/SQL代码编辑器
  • 【随机文章】
  • WINDOWS 2000 ADVANCED SERVER群集安装
  • 梦网网关接口
  • win2000泛域名解决方案!
  • perl大数处理时误差以及解决办法
  • ARIS纵向开发的三个阶段(图)
  • 光传送网的核心——光交叉连接
  • 美女的秀发:Photoshop纯色背景抠图
  • 扫描到的端口到底有什么用?
  • 读取Oracle数据库大对象(CLOB)
  • 源代码发布 snoics-reptile 网页爬虫2.0
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.