自动undo管理下如何添加和删除回滚段
以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模式下才可创建。
请问怎样在不改变回滚段自动管理的模式下,增加回滚段来解决回滚段的争用问题。
----------------------------------------------------------------------------------------------------------------------------------------
alter system set "_smu_debug_mode" = 4 scope = both;
create public rollback segment "_SYSSMU11$" tablespace undotbs1;
alter rollback segment "_SYSSMU11$" online;
需要注意的是数据库重启后,超过10个回滚段的其他回滚段不会自动被系统online,少于10个回滚段系统也不会创建新的回滚段。
自动undo管理下如何添加和删除回滚段相关推荐
- UNDO自动管理模式下,如何手工指定回滚段(_smu_debug_mode)
通过设置_smu_debug_mode值来实现指定session级别使用特定的回滚段 _smu_debug_mode为默认值 --测试数据库版本 SQL>select* fromv$versio ...
- ORACLE回滚段管理(下)
创建回滚段 语法: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITI ...
- 【MySql进阶】undo日志详解:undo日志结构、undo日志链表、回滚段、undo log原理
undo日志 本文为阅读<MySql是怎样运行的>的笔记,供大家参考. 文章目录 undo日志 概述 undo日志数据结构 insert 对应的undo log delete 对应的und ...
- ORACLE回滚段管理
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的 ...
- 在自动UNDO管理情况下,如何手工增加undo段
在某些情况下,我们想在undo 自动管理的情况下,又想手工增加部分undo 段,默认情况下,是不允许的. 办法是有的: 首先设置隐含参数_smu_debug_mode为4,进入debug模式. alt ...
- oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办
如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数), 如果此时undo包含未提交的事务,会造成一点点的数 ...
- Undo TableSpace ②.回滚段研究
Undo TableSpace ②.回滚段研究 回滚段一直是我看了头大的一个东西,倒不是说这个东西的创建.管理有多复杂,而是在于如果你的系统需要涉及到回滚段的手动创建的时候,这个性能问题就 ...
- ORACLE回滚段管理(上)
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念, 用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段 ...
- oracle回滚段创建,Oracle回滚段管理
Oracle回滚段管理 回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头 ...
最新文章
- JAVA-如何打包成jar包
- CMD命令操作MySql数据库详解
- Pytest入门【1】
- Strongly connected HDU - 4635(tarjan+强连通分量)
- P2922-[USACO08DEC]秘密消息Secret Message【Trie,字符串】
- 开源 物联网接入_我们刚刚推出了开源产品。 那么接下来会发生什么呢?
- GPS无线视频服务器,宏电环卫车无线视频监控与GPS定位系统设计方案.docx
- LeetCode 934 最短的桥
- plantUml活动图(新语法)
- 关于javaweb中sql语句中使用变量的情况
- emacs操作方法总结
- 通达信资金净流入公式_资金净流入(通达信)公式
- 记一次hw中的上线骚姿势(异速联+用友U8)
- Android PackageInstaller:安装应用的应用,从三流Android外包到秒杀阿里P7
- 5451 Best Solver 构造共轭复根求递推矩阵广义斐波那契循环节降幂
- 大规模定制生产模式及其关键技术
- java.lang.IllegalArgumentException: Merged region H2 must contain 2 or more cells
- 网传华为员工未加班领夜宵被冻薪降考评,并终身不得领夜宵
- XSS 之 haozi me 题解——人生第一份CSDN题解
- LazyT——C#基础知识回顾
热门文章
- [蓝桥杯]PREV-19.历届试题_九宫重排
- 视窗宽高offset、client、scroll
- Raw 暗场校准 II
- SharePoint 向多行文本类型字段插入特殊类型链接
- 八皇后问题 回溯方法
- 3520a mmz错误解决方法
- sjms-1 面向对象
- Vmare 15 安装 macOS 15.5 的关键步骤
- js map 排序_数组方法写给女友的一系列 JS 数组操作(建议收藏 | 内附思维导图)...
- jenkins 下载插件 一直失败_Jenkins安装与插件下载