OCP复习 - 管理(10) - 回滚段
来源:互联网 发布:线切割图形及编程 编辑:程序博客网 时间:2024/06/05 15:30
回滚段的作用:
支持用户手动回滚事务,事务失败时自动回滚事务,保持并发会话的读一致性。
设置事务属性的语句:
SET TRANSACTION READ ONLY;
SET TRANSACTION SERIALIZABLE;
SET TRANSACTION USE ROLLBACK SEGMENT rollback_segment
回滚段的类型:
SYSTEM, Non-SYSTEM(PUBLIC, PRIVATE),Deferred
回滚段管理策略:
回滚段会根据事务的需要自动增长、收缩,相关参数:MAXEXTENTS, OPTIMAL。
回滚段的创建、管理SQL语句:
CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment
[TABLESPACE tablespace]
[STORAGE ([INITIAL integer[K|M]]
[NEXT integer[K|M]]
[MINEXTENTS integer]
[MAXEXTENTS {integer|UNLIMITED}]
[OPTIMAL {integer[K|M]|NULL}]
)
ALTER ROLLBACK SEGMENT rollback_segment
[STORAGE ( [NEXT integer[K|M]]
[MINEXTENTS integer]
[MAXEXTENTS {integer|UNLIMITED}]
[OPTIMAL {integer[K|M]|NULL}]
)
]
ALTER ROLLBACK SEGMENT rollback_segment SHRINK [ TO integer [ K|M ]];
ALTER ROLLBACK SEGMENT rollback_segment ONLINE;
ALTER ROLLBACK SEGMENT rollback_segment OFFLINE; 如果回滚段中仍然有事务,状态是PENDING OFFLINE。
DROP ROLLBACK SEGMENT rollback_segment;
回滚段的应用策略:
不同类型的应用需要规划不同的回滚段,OLTP需要大量的小的回滚段,每个回滚段配置4-10个transaction slot,OLAP需要少量大的回滚段。原因是Oracle对于每个事务需要在回滚段头进行写入操作,如果大量的事务使用同一个回滚段,会引起性能下降。
回滚段过小可能引起著名的SNAPSHOT TOO OLD错误,原因是事务要读取的快照已经被其他事务覆盖,解决的办法是增加MINEXTENTS,OPTIMAL,增加EXTENT的大小。
回滚段相关的数据字典视图:
dba_rollback_segs
V$ROLLSTAT
V$ROLLNAME
- OCP复习 - 管理(10) - 回滚段
- OCP复习 - 管理(11) - 管理表存储空间
- OCP复习 - 管理(12) - 管理索引
- OCP复习 - 管理(1-7) - 整体架构
- OCP复习 - 管理(13) - 关于约束
- OCP复习 - 管理(14) - 导入数据
- OCP复习 - 管理(15) - EXP/IMP
- OCP复习 - 管理(20) - 多语言支持
- OCP复习 - 管理(8-9) - 管理表空间和数据文件
- OCP复习 - PLSQL(16),管理(16-19) - 权限管理
- OCP复习 - 管理(1-7) - 联机日志相关
- OCP复习 - 管理(1-7) - 启动和关闭数据库
- OCP复习 - PLSQL(10) -数据字典
- ocp考试复习心得体会
- OCP复习 - PL/SQL(1-9) - 建表
- OCP复习 - PL/SQL(1-9) - 其它
- OCP复习 -- 性能优化
- OS复习-内存管理
- AE高效空间查询接口IIdentify
- Windows Azure 架构指南 – 第 1卷 发布
- 海淀驾校皮卡科目三实际道路考试备考(更新)
- 在商品详细页,随机显示一定数量的同类产品 有利于SEO
- 学习wxWidgets的笔记二
- OCP复习 - 管理(10) - 回滚段
- vc6 删除注册表信息
- Android 环境下使用GDB
- ant+javadoc生成API文档(转)
- wxWidgets学习笔记三
- 电脑误删资料的恢复方法
- java读取图片三种方式总结
- 字符编码笔记:ASCII,Unicode和UTF-8
- OCP复习 - 管理(11) - 管理表存储空间