创建回滚段

  语法:

  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回滚段管理(下)相关推荐

  1. oracle回滚段创建,Oracle回滚段管理

    Oracle回滚段管理 回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头 ...

  2. ORACLE回滚段管理(上)

    回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念, 用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段 ...

  3. ORACLE回滚段管理

    回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的 ...

  4. ORACLE 回滚段详解

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

  5. oracle回滚断查询,Oracle回滚段使用查询代码详解

    大批量执行DML语句造成回滚段大量占用,又回退操作,如何直观查询数据回滚情况? 单机环境 查询回滚执行进度 sql;"> select /*+ rule */s.sid,r.name ...

  6. 深入解析oracle回滚段

    深入解析oracle的回滚段 日前在整理数据库表空间的是否,发现最大的数据文件来自回滚段.回滚段文件undotbs1的数据文件已经达到23G. 希望清理这部分数据,但一时又无从下手.于是决定深入了解一 ...

  7. oracle一个循环中回滚继续,oracle回滚段

    http://hi.baidu.com/ipeipei/blog/item/34f84316f7126d4a20a4e950.html 1. 概述 本文主要从回滚段的原理,分配和使用,以及回滚段的相关 ...

  8. oracle 回滚段介绍(三)

    查询回滚段的信息 所用数据字典:DBA_ROLLBACK_SEGS Column Datatype NULL Description SEGMENT_NAME VARCHAR2(30) NOT NUL ...

  9. Oracle - 回滚段

    一直以来对回滚段的理解都不是很清晰,更谈不上深入.今天偶然在网上看到了一篇文章,比较浅显易懂地阐述了回滚段的概念,用法和规划及问题的解决,这里主要摘录一下概念部分,以及日常管理的内容和常见问题的解决, ...

最新文章

  1. node.js学习笔记之promise
  2. MPB:张云增、王年等-​柑橘根际和根表微生物组样品的收集及核酸提取方法
  3. ios开发国外视频教程(有翻译)
  4. android将矩阵转换成字节数组,android-使用OpenGL矩阵转换将纹理从“ 1D”映...
  5. python代码翻译-Python编程学习 -- 用十几行代码实现一个翻译器
  6. SEO(搜索引擎最佳化)简介
  7. 微软企业库5.0学习笔记(三十三)数据访问模块
  8. 记录下Lambda常用的表现形式
  9. python递归查找_[Python]递归查找文件(最简洁)
  10. 4 form j1 w 如何填写_设计必备方法,如何通过数据优化设计?
  11. shell中if条件字符串、数字比对,` `和[ ]区别
  12. 代码审查工具Sonar下载、安装、使用
  13. (内附独家PPT)李岩:CynosDB高可用系统介绍
  14. 灌篮高手总决赛下载地址,都是pdf文件,黑白的,很清晰
  15. 火狐浏览器不支持html5,解决火狐浏览器扩展版本不兼容问题
  16. html超链接并可以返回,返回到上一页的html代码的几种写法
  17. 爱搞事情:我的黑苹果日记之安装路
  18. 自由操控声音-相位声码器-变速篇(一)
  19. UVALive 3523 圆桌骑士
  20. 客服常用话术大全,赶紧收藏起来吧!

热门文章

  1. 用ESP8266快速实现WIFI红外遥控器( SoC模式)
  2. 华为android7.0彩蛋,为什么华为5.0系统,要阉割安卓7.0系统的彩蛋?
  3. 【Java】计算机软件、博客的重要性、编程语言介绍和发展史
  4. pytest测试框架系列 - pytest 断言assert使用
  5. php遍历dom节点,详解PHP使用DOMDocument类遍历、增加、修改、删除XML节点操作
  6. EXCEL 下拉时不使用自动增加
  7. Windows中基于GoodSync双向文件同步
  8. NISA和CISA分享软件供应链安全建议
  9. win10蓝牙打开,疯狂弹出未连接的设备
  10. html手机页面左滑动空白,ios html滑动区域偶尔不显示问题,ios输入法遮挡输入框问题,关闭输入法页面出现空白问题...