ORACLE 回滚段

回滚段概述

  回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的信息。一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息。

回滚段的三个作用

  事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。

  事务恢复:当事务正在处理的时候,例程失败,回滚段的信息保存在重做日志文件中,ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。

  读一致性:当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。而且,当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性)。当ORACLE执行SELECT语句时,ORACLE依照当前的系统改变号(SYSTEM CHANGE NUMBER-SCN)来保证任何前于当前SCN的未提交的改变不被该语句处理。可以想象:当一个长时间的查询正在执行时,若其他会话改变了该查询要查询的某个数据块,ORACLE将利用回滚段的数据前影像来构造一个读一致性视图。

回滚段的问题及解决方法
(1)事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数MAXEXTENTS的值(ORA-01628)。
(2) ORA-01552 cannot use system rollback segment for non-system tablespace
原因: 没有可用的非系统回滚段. 分为以下情形:
A. 除了系统回滚段, 未创建其它回滚段
B. 只创建了PRIVATE回滚段, 但INITsid.ORA的ROLLBACK_SEGMENTS中未列出这些回滚段
C. 创建了PUBLIC回滚段, 但这些回滚段都处于OFFLINE状态

全文连接:http://blog.itpub.net/29785807/viewspace-1587392/

最新文章

  1. mac下使用sencha cmd+extjs6
  2. HighChats图表控件显示精度小数点的方法
  3. (转)javascript匿名函数的写法、传参和递归
  4. winform异步进度条LongTime
  5. River Hopscotch(二分)
  6. windows中.msc文件详解
  7. JAVA操作properties文件
  8. 计算(a/b)%c
  9. Memory Architecture-SGA-Database Buffer Cache
  10. VS2012 安装出错 :通道正在关闭
  11. CSDN个人空间能再烂吗?
  12. JDBC操作数据库之修改数据
  13. linux学习之路--(三)文件系统
  14. 解决exlicpe以debug模式启动或运行速度非常慢的问题
  15. PHP秒杀系统 高并发高性能的极致挑战(完整版)
  16. 最详细最权威的Android 编码规范
  17. js截取url参数
  18. Java实现策略模式的简单应用
  19. test20181017 B君的第二题
  20. git命令图片

热门文章

  1. 为什么加了jquery mobile 会有 Loading 字样在页面底部?【已解决】
  2. 当SAP云平台account的service Marke place里找不到Machine Learning服务该怎么办
  3. shell取消键盘回显
  4. h5 移动端开发自适应 meta name="viewport"的使用总结
  5. bash功能——命令行编辑、内部命令 外部命令、命令补全 、命令历史、文件名通配符、命令别名
  6. ARP、Proxy ARP、Gratuitous ARP
  7. PHP获取当前页面地址
  8. 标准库类型之string
  9. 洛谷P1144 最短路计数【堆优化dijkstra】
  10. FireFox版本大于36.0,Yslow不能正常使用解决方案