回滚段:存放修改之前的值(包括位置).头部包含正在使用回滚段事务的信息.一个事务只能用一个回滚段,一个回滚段可以存放多个事务.
事务回滚:使用事务,修改前的值(前影像)存放在回滚段.当rollback,利用前影像恢复到原值.
事务恢复:事务处理例程失败,回滚段信息保存在重做日志,oracle下次打开数据库利用回滚恢复未提交数据.
读一致性.1)自己读,其他会话修改 . 2)自己改,其他会话读. oracle执行select,若有改变,利用前影像构造读一致性视图.(利用系统改变号scn,前于当前scn的未提交数据不被该语句处理).
锁:
oracle提供sql语句的读一致.
set transaction read only;--
set transaction serializable;--
系统回滚段:只用于存储系统表空间的前影像;
非系统回滚段:至少一个,存放非系统表空间前影像,包括
private:应在参数文件的 rollback segments列出,以在例程启动时使其自动online;
ROLLBACK_SEGMENT=(rbs01,rbs02)
public:一般在ops(oracle并行服务器出现),在例程启动时使其自动online;
defered回滚段:表空间offline时自动创建
回滚段分配:分配最少事务的回滚段
SET TRANSTRACTION USE ROLLBACK SEGMENT rollback_segment;--指定
事务以顺序,循环方式使用回滚段的区(extends);
同一个区可有多个事务,一个块只能有一个事务;
事务开始使用一个区,称翻转(wrap)
当一个区空闲或非活动(unactive),可再使用
当下一区active,事务为回滚段分配一个新区(扩展)
OPTIMAL参数指明回滚段空闲时收缩到的位置
回滚段应创建在一个特定的回滚段表空间内
CREATE ROLLBACK SEGMENT rbs01
TABLESPACE rbs
STORAGE ( INITIAL 100K NEXT 100K MINEXTENTS 10
MAXEXTENTS 500 OPTIMAL 1000K);
ALTER ROLLBACK SEGMENT rollback_segment ONLINE;--刚创建时offline
ALTER ROLLBACK SEGMENT rbs01 STORAGE (optimal 1000);--修改
ALTER ROLLBACK SEGMENT rollback_segment SHRINK [TO integer [K|M]];--手动回收
DBA_ROLLBACK_SEGS -------
--数据字典
--统计信息
SELECT n.name,s.extents,s.rssize,s.optsize,s.hwmsize,s.xacts,s.status
FROM v$rollname n,v$rollstat s
WHERE n.usn=s.usn;
--活动项
SELECT s.username,t.xidusn,t.ubafil,t.ubablk,t.used_ublk
FROM v$session s,v$transaction t
WHERE s.saddr=t.ses_addr;
--数量规划
1.OLPT系统,大量小事务 ,一个回滚段4个事务,不超过10个
2.批处理. 少的大事务,一个回滚段一个事务
--重建回滚段,比较弱的方式
ALTER ROLLBACK SEGMENT R01 OFFLINE;
DROP ROLLBACK SEGMENT R01; --删除segment
alter tablespace rbs offline;
drop tablespace rbs;
Create TABLESPACE "RBS" DATAFILE --重建表空间
'/dev/rdrd/rbs01.ora' SIZE 500M,
'/dev/rdrd/rbs02.ora' SIZE 500M;
CREATE ROLLBACK SEGMENT "R01" TABLESPACE "RBS" --重建segment 每个250M,即是表空间/4
STORAGE ( INITIAL 200M NEXT 2M OPTIMAL 250M MINEXTENTS 2 MAXEXTENTS 25); --INITIAL+NEXT*MAXEXTENTS
分享到:
相关推荐
oracle回滚段使用率过高之解决方法 推荐针对不同的情况有多种解决.
回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的信息。一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息。
oracle 回滚段参数的管理,特别是orale 8i版本前的应用。
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念
日前在整理数据库表空间的是否,发现最大的数据文件来自回滚段。回滚段文件undotbs1的数据文件已经达到23G。 希望清理这部分数据,但一时又无从下手。于是决定深入了解一下这部分内容。
对undo 回滚段的理解对于后期数据库的数据恢复有很大的作用,dba必学!
回滚段探究 在eygle转 在网上看到的,感觉写的不错.... 大家一起学习,如果侵犯了作者版权,请联系本人将删除
innodb 日志 回滚段 & 崩溃恢复 实现详解
MySQL InnoDB 日志 回滚段 & 崩溃恢复实现详解 修改版
Oracle数据库回滚段的故障分析与性能优化.pdf
在执行update操作之后,oracle后台进程会首先将修改前的内容(包括数据块中其他记录内容)以及scn,块信息等写入回滚段中,但这里写的时候不仅仅只是简单的块复制,而是将原来的数据块顺序写入回滚段的数据块。...
oracle 回滚段管理
对于回滚段出现异常,无法启动数据库的处理脚本
Oracle 创建表空间、回滚段、用户、表的详细语法 Oracle 是一种关系型数据库管理系统,广泛应用于各个行业。创建表空间、回滚段、用户、表是 Oracle 中最基本的操作之一,本文将详细介绍这四个操作的语法和步骤。 ...
正在看的ORACLE教程是:Oracle回滚段的概念,用法和规划及问题的解决。回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决。 回滚段概述 回滚段用于存放...
以前总是搞不清清楚回滚段的问题,最近找到这样一个非常好的文档来和大家分享。
ORACLE数据库的回滚段.pdf
Oracle回滚段管理知识.pptx
回滚段是数据库的一部分,它记录数据库变更的信息。使用这些信息实现数据库的读一致 性及其恢复。若回滚段出现故障,则数据库不能正常启动,导致数据库瘫痪,用户无法读写数据。若能将回滚段的故障排除,则不会影响...