以sys DBA帐户登陆数据库如下:
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 3月 11 08:46:26 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select segment_name as seg,tablespace_name as tab from dba_rollback_segs;

SEG                            TAB
    ------------------------------ ------------------------------
    SYSTEM                         SYSTEM
    _SYSSMU1$                      UNDOTBS1
    _SYSSMU2$                      UNDOTBS1
    _SYSSMU3$                      UNDOTBS1
    _SYSSMU4$                      UNDOTBS1
    _SYSSMU5$                      UNDOTBS1
    _SYSSMU6$                      UNDOTBS1
    _SYSSMU7$                      UNDOTBS1
    _SYSSMU8$                      UNDOTBS1
    _SYSSMU9$                      UNDOTBS1
    _SYSSMU10$                     UNDOTBS1
   
    已选择11行。
   
SQL> select segment_name as seg,owner,status from dba_rollback_segs;

SEG                            OWNER  STATUS
------------------------------ ------ ----------------
SYSTEM                         SYS    ONLINE
_SYSSMU1$                      PUBLIC ONLINE
_SYSSMU2$                      PUBLIC ONLINE
_SYSSMU3$                      PUBLIC ONLINE
_SYSSMU4$                      PUBLIC ONLINE
_SYSSMU5$                      PUBLIC ONLINE
_SYSSMU6$                      PUBLIC ONLINE
_SYSSMU7$                      PUBLIC ONLINE
_SYSSMU8$                      PUBLIC ONLINE
_SYSSMU9$                      PUBLIC ONLINE
_SYSSMU10$                     PUBLIC ONLINE

已选择11行。

SQL>

SQL> select * from v$waitstat where class='undo header';

CLASS                   COUNT       TIME
------------------ ---------- ----------
undo header               129          4

SQL> select usn,extents,waits from v$rollstat;

USN    EXTENTS      WAITS
---------- ---------- ----------
         0          6          0
         1          3          6
         2          3          8
         3          3          3
         4          5          5
         5          3          7
         6          3          3
         7          4          8
         8          3          3
         9         21          6
        10          4          4

已选择11行。

SQL>
SQL> select s.usn,n.name,s.extents as ext,s.optsize as opt,s.hwmsize as hw,s.status as st
  2   from v$rollstat s, v$rollname n where s.usn=n.usn;

USN NAME                                  EXT        OPT         HW
---------- ------------------------------ ---------- ---------- ----------
ST
---------------
         0 SYSTEM                                  6                385024
ONLINE

1 _SYSSMU1$                               3              16900096
ONLINE

2 _SYSSMU2$                               3               8511488
ONLINE

USN NAME                                  EXT        OPT         HW
---------- ------------------------------ ---------- ---------- ----------
ST
---------------
         3 _SYSSMU3$                               3               5365760
ONLINE

4 _SYSSMU4$                               5               8511488
ONLINE

5 _SYSSMU5$                               3              23257088
ONLINE

USN NAME                                  EXT        OPT         HW
---------- ------------------------------ ---------- ---------- ----------
ST
---------------
         6 _SYSSMU6$                               3               4317184
ONLINE

7 _SYSSMU7$                               4              18997248
ONLINE

8 _SYSSMU8$                               3               6414336
ONLINE

USN NAME                                  EXT        OPT         HW
---------- ------------------------------ ---------- ---------- ----------
ST
---------------
         9 _SYSSMU9$                              21              20045824
ONLINE

10 _SYSSMU10$                              4              12705792
ONLINE

已选择11行。

SQL>

通过以上查询,知道数据库的回滚段争用情况比较严重。各位帮忙分析下,是不是需要增加回滚段的数量,
或者扩大回滚段的大小来解决回滚段争用的情况。

我尝试在自动管理的模式下,建立普通表空间RBS.然后执行如下命令:
SQL> CREATE PUBLIC ROLLBACK SEGMENT R03                                       
      2  TABLESPACE RBS                                                           
      3   STORAGE    (                                                            
      4   INITIAL          200K                                                   
      5   NEXT             200K                                                   
      6   MINEXTENTS       20                                                     
      7  );                                                                       
                                                                                 
    回退段已创建。                                                               
                                                                                 
SQL> ALTER ROLLBACK SEGMENT R03 ONLINE;                                       
                                                                                 
    回退段已变更。                                                               
SQL> select segment_name as seg,tablespace_name as tab from dba_rollback_segs;
                                                                                 
    SEG                            TAB                                            
    ------------------------------ ------------------------------                 
    SYSTEM                         SYSTEM                                         
    _SYSSMU1$                      UNDOTBS1                                       
    _SYSSMU2$                      UNDOTBS1                                       
    _SYSSMU3$                      UNDOTBS1                                       
    _SYSSMU4$                      UNDOTBS1                                       
    _SYSSMU5$                      UNDOTBS1                                       
    _SYSSMU6$                      UNDOTBS1                                       
    _SYSSMU7$                      UNDOTBS1                                       
    _SYSSMU8$                      UNDOTBS1                                       
    _SYSSMU9$                      UNDOTBS1                                       
    _SYSSMU10$                     UNDOTBS1                                                                                                                        
    已选择11行。         
SQL>

由于Oracle用的是默认回滚段自动管理,这个时候是看不到的,需要修改到MANUAL模式下才可创建。
请问怎样在不改变回滚段自动管理的模式下,增加回滚段来解决回滚段的争用问题。

----------------------------------------------------------------------------------------------------------------------------------------

在某些场景里,如undo header竞争,增加回滚段可缓解竞争。
首先设置隐含参数_smu_debug_mode为4,进入debug模式。
alter system set "_smu_debug_mode" = 4 scope = both;
接着就可以创建新的回滚段,需要指定undo表空间否则无法将其ONLINE。
create public rollback segment "_SYSSMU11$" tablespace undotbs1;
alter rollback segment "_SYSSMU11$" online;
默认情况下在undo表空间有10g回滚段
需要注意的是数据库重启后,超过10个回滚段的其他回滚段不会自动被系统online,少于10个回滚段系统也不会创建新的回滚段。

自动undo管理下如何添加和删除回滚段相关推荐

  1. UNDO自动管理模式下,如何手工指定回滚段(_smu_debug_mode)

    通过设置_smu_debug_mode值来实现指定session级别使用特定的回滚段 _smu_debug_mode为默认值 --测试数据库版本 SQL>select* fromv$versio ...

  2. ORACLE回滚段管理(下)

    创建回滚段 语法: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITI ...

  3. 【MySql进阶】undo日志详解:undo日志结构、undo日志链表、回滚段、undo log原理

    undo日志 本文为阅读<MySql是怎样运行的>的笔记,供大家参考. 文章目录 undo日志 概述 undo日志数据结构 insert 对应的undo log delete 对应的und ...

  4. ORACLE回滚段管理

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

  5. 在自动UNDO管理情况下,如何手工增加undo段

    在某些情况下,我们想在undo 自动管理的情况下,又想手工增加部分undo 段,默认情况下,是不允许的. 办法是有的: 首先设置隐含参数_smu_debug_mode为4,进入debug模式. alt ...

  6. oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办

    如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数), 如果此时undo包含未提交的事务,会造成一点点的数 ...

  7. Undo TableSpace ②.回滚段研究

    Undo TableSpace ②.回滚段研究       回滚段一直是我看了头大的一个东西,倒不是说这个东西的创建.管理有多复杂,而是在于如果你的系统需要涉及到回滚段的手动创建的时候,这个性能问题就 ...

  8. ORACLE回滚段管理(上)

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

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

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

最新文章

  1. JAVA-如何打包成jar包
  2. CMD命令操作MySql数据库详解
  3. Pytest入门【1】
  4. Strongly connected HDU - 4635(tarjan+强连通分量)
  5. P2922-[USACO08DEC]秘密消息Secret Message【Trie,字符串】
  6. 开源 物联网接入_我们刚刚推出了开源产品。 那么接下来会发生什么呢?
  7. GPS无线视频服务器,宏电环卫车无线视频监控与GPS定位系统设计方案.docx
  8. LeetCode 934 最短的桥
  9. plantUml活动图(新语法)
  10. 关于javaweb中sql语句中使用变量的情况
  11. emacs操作方法总结
  12. 通达信资金净流入公式_资金净流入(通达信)公式
  13. 记一次hw中的上线骚姿势(异速联+用友U8)
  14. Android PackageInstaller:安装应用的应用,从三流Android外包到秒杀阿里P7
  15. 5451 Best Solver 构造共轭复根求递推矩阵广义斐波那契循环节降幂
  16. 大规模定制生产模式及其关键技术
  17. java.lang.IllegalArgumentException: Merged region H2 must contain 2 or more cells
  18. 网传华为员工未加班领夜宵被冻薪降考评,并终身不得领夜宵
  19. XSS 之 haozi me 题解——人生第一份CSDN题解
  20. LazyT——C#基础知识回顾

热门文章

  1. [蓝桥杯]PREV-19.历届试题_九宫重排
  2. 视窗宽高offset、client、scroll
  3. Raw 暗场校准 II
  4. SharePoint 向多行文本类型字段插入特殊类型链接
  5. 八皇后问题 回溯方法
  6. 3520a mmz错误解决方法
  7. sjms-1 面向对象
  8. Vmare 15 安装 macOS 15.5 的关键步骤
  9. js map 排序_数组方法写给女友的一系列 JS 数组操作(建议收藏 | 内附思维导图)...
  10. jenkins 下载插件 一直失败_Jenkins安装与插件下载