ORACLE回滚段管理(下)
创建回滚段
语法:
CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment
[TABLESPACE tablespace]
[STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]]
[MINEXTENTS integer]
[MAXTENTS {integer|UNLIMITED}]
[OPTIMAL {integer[K|M]|NULL}]) ]
注:
回滚段可以在创建时指明PRIVATE或PUBLIC,一旦创建将不能修改。
MINEXTENTS 必须大于等于2
PCTINCREASE必须是0
OPTIMAL如果要指定,必须大于等于回滚段的初始大小(由MINEXTENTS指定)
建议:
一般情况下,INITIAL=NEXT
设置OPTIMAL参数来节约空间的使用
不要设置MAXEXTENTS为UNLIMITED
回滚段应创建在一个特定的回滚段表空间内
例:
CREATE ROLLBACK SEGMENT rbs01
TABLESPACE rbs
STORAGE ( INITIAL 100K NEXT 100K MINEXTENTS 10
MAXEXTENTS 500 OPTIMAL 1000K);
使回滚段在线
当回滚段创建后,回滚段是离线的,不能被数据库使用,为了使回滚段被事务利用,必须将回滚
段在线。可以用以下命令使回滚段在线:
ALTER ROLLBACK SEGMENT rollback_segment ONLINE;
例:
ALTER ROLLBACK SEGMENT rbs01 ONLINE;
为了使回滚段在数据库启动时自动在线,可以在数据库的参数文件中列出回滚段的名字。例如在参
数文件中加入以下一行:
ROLLBACK_SEGMENT=(rbs01,rbs02)
修改回滚段的存储参数
可以使用ALTER ROLLBACK SEGMENT命令修改回滚段的存储参数(包括OPTIMAL,MAXEXTENTS)。
语法:
ALTER ROLLBACK SEGMENT rollback_segment
[STORAGE ([NEXT integer[K|M]]
[MINEXTENTS integer]
[MAXEXTENTS {integer|UNLIMITED}]
[OPTIMAL {integer[K|M]|NULL}]) ]
例:
ALTER ROLLBACK SEGMENT rbs01 STORAGE (MAXEXTENTS 1000);
回收回滚段的空间
如果指定了回滚段的OPTIMAL参数,ORACLE将自动回收回滚段到OPTIMAL指定的位置。用户也可以手动
回收回滚段的空间。
语法:
ALTER ROLLBACK SEGMENT rollback_segment SHRINK [TO integer [K|M]];
说明:
如果不指明TO integer的数值,ORACLE将试图回收到OPTIMAL的位置。
例:
ALTER ROLLBACK SEGMENT rbs01 SHRINK TO 2M;
使回滚段离线
为了达到以下两个目的将要回滚段离线:
1.阻止新的事务使用该回滚段;
2.该回滚段必须删除。
语法:
ALTER ROLLBACK SEGMENT rollback_segment OFFLINE;
例:
ALTER ROLLBACK SEGMENT rbs01 OFFLINE;
说明:
如果有事务正在使用该回滚段,运行该命令后,回滚段的状态将是PENDING OFFLINE。事务结束后,状态
将改为OFFLINE,可以通过V$ROLLSTAT查询回滚段的状态。
删除回滚段
当回滚段不再需要或要重建以改变INITIAL,NEXT或MINEXTENTS参数时,可以将其删除。要删除回滚段,
不许使该回滚段离线。
语法:
DROP ROLLBACK SEGMENT rollback_segment;
例:
DROP ROLLBACK SEGMENT rbs01;
查询回滚段的信息
所用数据字典:DBA_ROLLBACK_SEGS
可以查询的信息:回滚段的标识(SEGMENT_ID)、名称(SEGMENT_NAME)、所在表空间(TABLESPACE_NAME)、
类型(OWNER)、状态(STATUS)。
例:
SQL>SELECT segment_name,tablespace_name,owner,status FROM dba_rollback_segs;
回滚段的统计信息
数据字典:V$ROLLNAME,V$ROLLSTAT
例:
SQL>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;
回滚段的当前活动事务
数据字典:V$SESSION,V$TRANSACTION
例:
SQL>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;
USERNAME XIDUSN UBAFIL UBABLK USED_UBLK
------- -------- ----------- ----------- -----------
SYSTEM 2 2 7 1
SCOTT 1 2 163 1
2 rows selected.
回滚段的数量规划
对于OLTP系统,存在大量的小事务处理,一般建议:
数量多的小回滚段;每四个事务一个回滚段;每个回滚段不要超过十个事务。
对于批处理,一般建议:
少的大回滚段;每个事务一个回滚段。
回滚段的问题及解决方法
问题一:事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数
MAXEXTENTS的值(ORA-01628)。
解决方法:向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。
问题二:读一致性错误(ORA-01555 SNAPSHOT TOO OLD)
解决方法:增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。
ORACLE回滚段管理(下)相关推荐
- oracle回滚段创建,Oracle回滚段管理
Oracle回滚段管理 回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头 ...
- ORACLE回滚段管理(上)
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念, 用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段 ...
- ORACLE回滚段管理
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的 ...
- ORACLE 回滚段详解
ORACLE 回滚段 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个 ...
- oracle回滚断查询,Oracle回滚段使用查询代码详解
大批量执行DML语句造成回滚段大量占用,又回退操作,如何直观查询数据回滚情况? 单机环境 查询回滚执行进度 sql;"> select /*+ rule */s.sid,r.name ...
- 深入解析oracle回滚段
深入解析oracle的回滚段 日前在整理数据库表空间的是否,发现最大的数据文件来自回滚段.回滚段文件undotbs1的数据文件已经达到23G. 希望清理这部分数据,但一时又无从下手.于是决定深入了解一 ...
- oracle一个循环中回滚继续,oracle回滚段
http://hi.baidu.com/ipeipei/blog/item/34f84316f7126d4a20a4e950.html 1. 概述 本文主要从回滚段的原理,分配和使用,以及回滚段的相关 ...
- oracle 回滚段介绍(三)
查询回滚段的信息 所用数据字典:DBA_ROLLBACK_SEGS Column Datatype NULL Description SEGMENT_NAME VARCHAR2(30) NOT NUL ...
- Oracle - 回滚段
一直以来对回滚段的理解都不是很清晰,更谈不上深入.今天偶然在网上看到了一篇文章,比较浅显易懂地阐述了回滚段的概念,用法和规划及问题的解决,这里主要摘录一下概念部分,以及日常管理的内容和常见问题的解决, ...
最新文章
- node.js学习笔记之promise
- MPB:张云增、王年等-​柑橘根际和根表微生物组样品的收集及核酸提取方法
- ios开发国外视频教程(有翻译)
- android将矩阵转换成字节数组,android-使用OpenGL矩阵转换将纹理从“ 1D”映...
- python代码翻译-Python编程学习 -- 用十几行代码实现一个翻译器
- SEO(搜索引擎最佳化)简介
- 微软企业库5.0学习笔记(三十三)数据访问模块
- 记录下Lambda常用的表现形式
- python递归查找_[Python]递归查找文件(最简洁)
- 4 form j1 w 如何填写_设计必备方法,如何通过数据优化设计?
- shell中if条件字符串、数字比对,` `和[ ]区别
- 代码审查工具Sonar下载、安装、使用
- (内附独家PPT)李岩:CynosDB高可用系统介绍
- 灌篮高手总决赛下载地址,都是pdf文件,黑白的,很清晰
- 火狐浏览器不支持html5,解决火狐浏览器扩展版本不兼容问题
- html超链接并可以返回,返回到上一页的html代码的几种写法
- 爱搞事情:我的黑苹果日记之安装路
- 自由操控声音-相位声码器-变速篇(一)
- UVALive 3523 圆桌骑士
- 客服常用话术大全,赶紧收藏起来吧!
热门文章
- 用ESP8266快速实现WIFI红外遥控器( SoC模式)
- 华为android7.0彩蛋,为什么华为5.0系统,要阉割安卓7.0系统的彩蛋?
- 【Java】计算机软件、博客的重要性、编程语言介绍和发展史
- pytest测试框架系列 - pytest 断言assert使用
- php遍历dom节点,详解PHP使用DOMDocument类遍历、增加、修改、删除XML节点操作
- EXCEL 下拉时不使用自动增加
- Windows中基于GoodSync双向文件同步
- NISA和CISA分享软件供应链安全建议
- win10蓝牙打开,疯狂弹出未连接的设备
- html手机页面左滑动空白,ios html滑动区域偶尔不显示问题,ios输入法遮挡输入框问题,关闭输入法页面出现空白问题...