`
sjk2013
  • 浏览: 2245734 次
文章分类
社区版块
存档分类
最新评论

undo系列学习之pub兄弟帖子的整理

 
阅读更多

提问者xmas171688

提问时间:2005-1-13 14:45:18

问题:

在下列2个表中
V$ROLLNAME,V$ROLLSTAT 
谁能帮我解释下 V$ROLLSTAT 的列 每列是干吗的。恳请帮忙!

主要是想知道 哪列是 回滚段大小 !


整理:

每列是干什么的,我想,官网给得很明了:http://docs.oracle.com/cd/B28359_01/server.111/b28320/dynviews_2143.htm#REFRN30210

V$ROLLSTAT中的常用列:

1)usn:回滚段标识符

2)rssize:回滚段默认大小

3)xacts:活动事务数

在一段时间内增量用到的列:
WRITES:回滚段写入数(单位:bytes)
SHRINKS:回滚段收缩次数
EXTENDS:回滚段扩展次数
WRAPS:回滚段翻转(wrap)次数
GETS:获取回滚段头次数
WAITS:回滚段头等待次数

通过usn,我们可以将v$rollname和v$rollstat连接起来,来查看更有意义的回滚段的统计信息。如:

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;

注意:
  通过花费时间除以翻转次数,你可以得到一次回滚段翻转(wrap)的平均用时。此方法常用于在长查询中指定合适的回滚段大小以避免'Snapshot Too Old'错误。同时,通过查看extends和shrinks列可以看出optimal是否需要增加。

提问者一路随行

提问时间:2010-5-7 10:57:32

问题:

各位大侠,我想请教一下,那些操作可以回滚?commit后还可以回滚?那些操作会自动提交啊?


整理:

dml可以回滚
commit后不能回滚
ddl、dcl会自动提交

提问者jvkojvko

提问时间:2011-6-28 11:06:48

问题:

insert 数据了15个小时以后没有成功,然后手工停止了,然后现在回滚了一天一夜还没有好, 表还是被锁着,有好的解决办法没?


insert的数据量大概3000W


整理:

首先,我们须从这个问题中得到经验教训:大批量的数据插入,切记要每隔一段时间提交,控制事务的长度!否则,只能only wait。

提问者lyxing

提问时间:2009-1-18 08:54:51

问题:

服务器是红帽LINUX企业4,oracle9204,发现有一个数据库的回滚空间一直在增长,都用了98.63%了,不过也没有见有什么异常情况。会是哪里的问题呢?原来是1G的回滚,后来扩到2G,现在又快满了

整理:

原因:
1. 你存在大的事务需要回滚;
2. show parameter undo_retention ; --这种情况下减小undo_retention的值
3. 回滚段中内容说明一下:
insert 只记录rowid
update 只记录更新字段的旧值(前镜像)。--update太多
delete 产生最多的回滚,记录整行记录。 --delete太多

提问者lmin_432930

提问时间:2008-5-19 16:29:46

问题:

有关oracle回滚的问题不解,请帮忙回答

数据库为非归档模式,设其中一个表空间test包含了tt表;
步骤:
1、修改tt表内容,但是没有提交
2、将test表空间offline normal
3、switch logfile几次直到修改tt表的日志覆盖
4、执行rollback
5、switch logfile几次直到当前日志覆盖
6、将test表空间online
7、查询tt内容正常

问题:
1、将test表空间offline后,checkpoint将修改数据保存到数据文件;然后rollback,并switch清除日志,再将test表空间online后正常运行。
那么系统如何获知数据修改是否commit或rollback,有什么机制,或是我理解有问题?多谢! 


整理:

1、修改tt表内容,但是没有提交
2、将test表空间offline normal

offline 做了隐式 提交了

提问者:susuusus

提问时间:2004-11-23 09:30:35

问题:

我的系统是WINDOWS2000 数据库是ORACLE8.1.7 现在有这样一个问题: RBS表空间是2G 建4个回滚段,
现在的情况是每次开机启动ORACLE后RBS表空间占用率是99% 并且四个回滚段状态确是OFFLINE .每次都要手工ONLINE ,
我不明白为什么这样 并且想知道如何解决


整理:

1﹑建成公有段,在 init.ora 文件中 加入 rollback_segments = (r01, r02, r03, r04)

2﹑至于你的 rbs tablespace 有2G﹐我想可以建多些 rollback segment ﹐而 rollback segment 的占用率很高這個是由應用所決定的﹐那你多提交看能否降低它的使用率。不過這個并不影響你數據庫的使用。

分享到:
评论

相关推荐

    12c 新特性-Temporary Undo

    ### 12c 新特性:Temporary Undo #### 一、Temporary Undo 概念与优势 在Oracle 12c版本中引入了一项重要的新特性——Temporary Undo,这项技术旨在优化临时表的操作性能,并减少对Redo日志的空间占用。传统的临时...

    专题之Undo工作原理剖析

    ### 专题之Undo工作原理剖析 #### 一、Oracle 10g中Undo表空间的原理 在深入了解Oracle 10g中Undo的工作原理之前,我们先简要回顾一下Undo的概念及其在数据库中的作用。Undo数据是用于实现事务的一致性、隔离性和...

    Undo

    在IT行业中,“Undo”是一个非常基础且重要的概念,它广泛应用于各种软件和应用程序中,特别是在文本编辑器、图像处理软件以及编程环境中。这个功能允许用户撤销最近的操作,恢复到操作前的状态,极大地提高了工作...

    redo undo framework source code

    在IT行业中,"redo undo"框架是用于实现撤销/重做功能的核心技术,常见于各种软件和应用程序中,如文本编辑器、图像处理软件、数据库系统等。它允许用户取消最近的操作并恢复先前的状态,提供了对用户交互的强大支持...

    oracle undo详解

    Oracle数据库的Undo机制是其核心特性之一,它主要用于支持事务的回滚、读取一致性和闪回查询。本文将深入探讨Undo的详细功能及其优势。 首先,数据操纵语言(DML)包括INSERT、UPDATE、DELETE和MERGE等SQL语句,...

    mfc support redo/undo

    5. **undo.h和undo.txt文件**:在提供的文件列表中,`undo.h`可能包含了自定义undo对象的定义,例如`CMyUndoObject`类。`undo.txt`可能是一个文本文件,其中包含了关于如何实现撤销/重做的更详细说明或示例代码。 ...

    C# undo\redo框架

    本文将深入探讨“C# undo/redo框架”的核心概念、设计模式以及如何实现。 1. **命令模式**: 撤销/重做框架通常基于命令模式设计。命令模式是一种行为设计模式,将请求封装为一个对象,使发出请求与执行请求解耦。...

    数据库undo表空间问题集锦

    在Oracle数据库系统中,"undo表空间"是一个至关重要的组成部分,它主要负责存储事务的回滚(rollback)信息。本文将深入探讨undo表空间的概念、作用、管理以及常见问题的处理,帮助你全面理解并有效地解决数据库undo...

    oracle undo

    Oracle UNDO 机制详解 Oracle UNDO 机制是 Oracle 数据库中的一种重要机制,用于记录和回滚事务的操作。UNDO 段是 Oracle 数据库中的一种特殊类型的段,用于存储事务的回滚信息。 undo 段的介绍 undo 段是 ...

    达梦修改UNDO_RETENTION.zip

    本文将围绕“达梦修改UNDO_RETENTION”这一主题,详细探讨这一设置对数据库性能的影响及其调整方法。 UNDO RETENTION参数在数据库中扮演着至关重要的角色,它定义了撤销段(UNDO SEGMENT)中数据保留的时间长度。...

    Oracle中重做undo表空间

    Undo表空间由一系列的undo段组成,每个undo段又包含多个undo块。当事务开始时,系统会为事务分配一段undo空间来记录它的更改。当事务提交或回滚时,这些记录的undo信息会根据需要保留一定时间,这个时间段称为UNDO_...

    oracle 收缩undo表空间

    ### Oracle收缩Undo表空间 #### 一、概述 在Oracle数据库管理中,有时需要对Undo表空间进行管理和优化。特别是当Undo表空间因为历史数据积累而变得过大时,可能会影响数据库性能。本文将详细介绍如何通过新建一个...

    C#做的简单的Undo、Redo功能的实现

    在编程领域,撤销(Undo)和重做(Redo)功能是用户界面中常见的操作,它们允许用户取消或恢复最近的更改。在C#中,我们可以利用.NET框架提供的事件驱动和面向对象特性来实现这样的功能。这篇实验主要探讨了如何在...

    脚本-Oracle释放过度使用的Undo表空间

    ### 关于Oracle释放过度使用的Undo表空间的知识点 在Oracle数据库管理中,Undo表空间扮演着极其重要的角色。它主要用于存储事务处理过程中产生的Undo记录,这些记录对于事务回滚、一致性读取以及恢复操作至关重要。...

    多步Undo_Redo的实现

    ### 多步Undo/Redo实现详解 #### 一、引言 在现代软件开发中,尤其是图形编辑或文档编辑应用程序中,Undo/Redo功能是用户体验的重要组成部分。它不仅提高了用户的工作效率,还能增强软件的易用性。在本篇文章中,...

    在qt下实现了undo的代码

    在Qt框架下实现撤销(Undo)功能是许多GUI应用程序中常见的需求,这使得用户能够回溯他们的操作,恢复到之前的状态。Qt库提供了一个强大的工具,即`QUndoStack`,来帮助开发者轻松地实现这一功能。下面我们将深入...

    Oracle的Temp表空间和UNDO表空间的处理

    ### Oracle的Temp表空间与UNDO表空间处理详解 #### 一、Temp表空间处理 在Oracle数据库中,Temp表空间主要用于存储临时对象,如排序、分组等操作产生的临时数据。这些操作可能会导致Temp表空间迅速增大。然而,...

    图像编辑中的undo

    在图像编辑软件中,撤销(Undo)功能是用户体验的关键组成部分,它允许用户在操作失误时回退到前一个状态,从而避免了永久性错误或不必要的重新工作。在给定的文件信息中,虽然代码片段主要关注于框架类CChildFrame...

    undo表空间恢复

    标题和描述均提到了“undo表...综上所述,undo表空间的管理和恢复是Oracle数据库管理员必须掌握的关键技能之一,它直接影响到数据的完整性和系统的稳定性。通过合理配置和及时维护,可以有效提升数据库的性能和可靠性。

Global site tag (gtag.js) - Google Analytics