14、管理undo

14、管理 oracle undo

1、DML与undo

undo data:

原始的、修改之前的数据副本

用于支持:回退操作、读一致性查询、闪回查询、闪回事务处理及闪回表、从失败事务中进行恢复。

undo:旧数据

redo:改变的数据

SQL> show parameter undo

NAME     TYPE VALUE

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

undo_management     string AUTO

undo_retention     integer 900

undo_tablespace     string UNDOTBS1

undo_retention指定已经提交的还原信息要保留多长时间(秒)

undo表空间大小设置多大合适呢?

select name,BLOCK_SIZE/1024/1024 from v$datafile;

设置undo手动管理(需要重启数据库) ==不建议手动管理

alter system set undo_management=manual scope=spfile;

v$rollname

select * from v$rollname;

如何创建undo表空间?

SQL> select name from v$datafile;

NAME

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

+DATA/orcl/datafile/system.256.943301251

+DATA/orcl/datafile/sysaux.257.943301251

+DATA/orcl/datafile/undotbs1.258.943301251

+DATA/orcl/datafile/users.259.943301251

+DATA/orcl/datafile/example.265.943301433

+DATA/orcl/datafile/tbs.dbf

create undo tablespace untotbs2 datafile ‘+DATA/orcl/datafile/undotbs2.dbf‘ size 3m;

show parameter undo

alter system set undo_tablespace=untotbs2;//设置undo表空间为untotbs2

SQL> show parameter undo;

NAME     TYPE   VALUE

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

undo_management     string AUTO

undo_retention     integer 900

undo_tablespace     string UNTOTBS2

2、undo管理及使用

查看表空间是否自动扩展

SQL> select TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;

TABLESPACE_NAME       AUT

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

USERS       YES

UNDOTBS1       YES

SYSAUX       YES

SYSTEM       YES

EXAMPLE       YES

TBS_16K       NO

UNTOTBS2       NO

undo快照过旧

SQL> select CURRENT_SCN from v$database;

CURRENT_SCN

-----------

2366951

################################################

例子:scn 闪回查询 15分钟。

SQL> create table t2 as select * from scott.emp;

Table created.

SQL> select CURRENT_SCN from v$database;

CURRENT_SCN

-----------

2367095

SQL> delete t2;

14 rows deleted.

SQL> commit;

Commit complete.

SQL> select count(*) from t2 as of scn 2367095;

COUNT(*)

----------

14

###################################################

时间: 2024-10-14 07:27:21

14、管理undo的相关文章

Oracle11g温习-第十一章:管理undo

2013年4月27日 星期六 10:40 1.undo tablespace 功能 undo tablespace 功能:用来存放从datafiles 读出的数据块旧的镜像 [             1)   回滚事务:rollback             2)   读一致性:正在做DML操作的数据块,在没有提交前,其他用户不能读,其他用户读undo里面的数据块信息             3)   事务的恢复:instance recover   (undo -------->rollb

【oracle11g,13】表空间管理2:undo表空间管理(调优) ,闪回原理

一.undo空间原理: dml操作会产生undo数据. update时,sever process 会在databuffer 中找到该记录的buffer块,没有就从datafile中找并读入data buffer.在修改之前,原始数据先放到undo段,并在数据块头记录undo段(acitve 状态)中该数据块的位置,读写这个块时会占用事务槽,会将该事务号记录在数据块的头部.然后在进行update,并将该块放到dirty list检查点队列,等待dbwr进行写操作. 二.创建新的undo表空间替换

Undo管理

本篇文章中的内容来自ORACLE 11GR2版本的<Administrator's Guide>第16章,该章主要介绍了管理Undo表空间的相关知识.建议有英文基础的同学直接去看<Administrator's Guide>. 一.Undo记录的作用 1.事务未提交时的回滚: 2.恢复数据库 3.保证数据库的读一致性: 4.闪回查询.闪回事务.闪回表 二.自动回滚段管理(Automatic Undo Managent,简称为AUM) 1.在11g中,Oracle使用AUM作为管理U

监控和管理Oracle UNDO表空间的使用

监控和管理Oracle UNDO表空间的使用 对Oracle数据库UNDO表空间的监控和管理是我们日常最重要的工作之一,UNDO表空间通常都是Oracle自动化管理(通过undo_management初始化参数确定):UNDO表空间是用于存储DML操作的前镜像数据,它是实例恢复,数据回滚,一致性查询功能的重要组件:我们常常会忽略对它的监控,这会导致UNDO表空间可能出现以下问题: 1).空间使用率100%,导致DML操作无法进行. 2).告警日志中出现大量的ORA-01555告警错误. 3).实

Oracle Undo tablespace恢复(无备份)

Oracle Undo tablespace恢复 系统环境:   操作系统:RedHat EL55   Oracle:  Oracle 11gR2   Oracle 9i后,采用了undo tablespace管理undo数据,实现undo的自动管理,本案例演示了undo表空间被破坏后如何恢复:如果有备份,通过备份恢复非常容易,但在没有备份的情况下,就需要采用非常规手段来恢复了,呵呵. 1.案例应用环境 undo表空间undo segments: 14:34:44 [email protecte

oracle的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤

 产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况: 2. 有较大事务没有收缩或者没有提交所导制: 说明:本问题在ORACLE系统管理中属于比较正常的一现象,日常维护多注意对磁盘空间的监控. UNDO表空间介绍 UNDO表空间用于存放UNDO数据,当执行DML操作(INSERT,UPDATE和DELETE)时,oracle会将这些操作的旧数据写入到UNDO段,在oracle9i之前,管理UNDO数据时使用(Rollback Seg

联想IPMI固件SMASH-CLP 管理

这几天配置一批联想服务器,ipmi管理时,有时管理页面打不开,所以尝试了下使用ssh登录ipmi,然后进行管理,顺便总结下. 一. SMASH-CLP介绍 SMASH-CLP 是由 DMTF 和 SMWG 推动的一项协议,提供了系统管理 CLI 实施的标准. 定义的 SMASH 体系结构做了很多工作,旨在为更多标准系统管理组件建立基础. SMWG SMASH-CLP 是 DMTF 推动的整个 SMASH 工作中的一部分. 联想RD550服务器集成的SMASH-CLP版本为: CLP Versio

09 redo and undo

本章提要-----------------------------------------------redo, undo 定义redo, undo 如何工作如何访问 redo, undo提交和回滚-----------------------------------------------redo: 用来重做(前滚)undo: 用来回滚(后滚) redo: 重做日志文件, 数据库的事务日志, online redo, archived log两类(都是磁盘文件)    如果数据库所在的机房掉电

Oracle redo与undo 第二弹

首先看一下undo与redo的字面意思:   undo:撤销,也就是取消之前的操作.   redo:重做,重新执行一遍之前的操作. 什么是REDO REDO记录transaction logs,分为online和archived.以恢复为目的. 比如,机器停电,那么在重起之后需要online redo logs去恢复系统到失败点. 比如,磁盘坏了,需要用archived redo logs和online redo logs去恢复数据. 比如,truncate一个表或其他的操作,想恢复到之前的状态