[Oracle]关于回滚段的一些转贴摘录
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/
最新文章
- mac下使用sencha cmd+extjs6
- HighChats图表控件显示精度小数点的方法
- (转)javascript匿名函数的写法、传参和递归
- winform异步进度条LongTime
- River Hopscotch(二分)
- windows中.msc文件详解
- JAVA操作properties文件
- 计算(a/b)%c
- Memory Architecture-SGA-Database Buffer Cache
- VS2012 安装出错 :通道正在关闭
- CSDN个人空间能再烂吗?
- JDBC操作数据库之修改数据
- linux学习之路--(三)文件系统
- 解决exlicpe以debug模式启动或运行速度非常慢的问题
- PHP秒杀系统 高并发高性能的极致挑战(完整版)
- 最详细最权威的Android 编码规范
- js截取url参数
- Java实现策略模式的简单应用
- test20181017 B君的第二题
- git命令图片
热门文章
- 为什么加了jquery mobile 会有 Loading 字样在页面底部?【已解决】
- 当SAP云平台account的service Marke place里找不到Machine Learning服务该怎么办
- shell取消键盘回显
- h5 移动端开发自适应 meta name=";viewport";的使用总结
- bash功能——命令行编辑、内部命令 外部命令、命令补全 、命令历史、文件名通配符、命令别名
- ARP、Proxy ARP、Gratuitous ARP
- PHP获取当前页面地址
- 标准库类型之string
- 洛谷P1144 最短路计数【堆优化dijkstra】
- FireFox版本大于36.0,Yslow不能正常使用解决方案