Oracle 撤销表空间undo

1. 作用

处理事务和还原数据

在这里插入图片描述

2. 事务的属性

ACID

  • 原⼦性:⼀个事务的所有部分必须都完成,或都不完成。
  • ⼀致性:查询的结果必须与数据库在查询开始时的状态⼀致。
  • 隔离性:除了做出表更的会话,其他会话都⽆法看到未提交的数据。
  • 持久性:事务⼀旦完成,不可丢失。

3. UNDO 数据

Undo数据是:

  • 原始的、修改之前的数据副本
  • 是针对更改数据的每个事务处理所捕获的
  • ⾄少保留到事务结束
  • 用于支持 rollback操作
  • 读取⼀致性数据
  • 闪回查询、闪回事务处理和闪回表
  • 从失败的事务中进⾏recover.

4. UNDO vs REDO

在这里插入图片描述

5. Undo的参数

SQL> show parameter undo
NAME TYPE VALUE
--------------------------- ------ ----------- -----------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1

undo_management

  1. manaual:⼿⼯管理重做
  2. uto :⼿⼯管理重做段的创建、分配、调整。这是Oracle9I之前的唯⼀⽅法

udno_retention 指定保留期单位秒,保证在这个期间 commit 的 undo 数据不会被覆盖
undo_tablespace 当前使⽤的undo表空间。

5.1 查看undo表空间

查看当前undo表空间
在这里插入图片描述

5.2 切换UNDO

undo 表空间很难缩⼩,可以替换

SQL> alter system set undo_tablespace=undotbs2;
SQL> show parameter undo_tablespace
SQL> select * from v$rollname;

动态参数,修改⽴即生效

5.3 删除UNDO 表空间

  1. 查看 undo 段中区的状态
SQL >select segment_name,tablespace_name,status from 
_dba_undo_extents order by status;
  1. 删除undo表空间
SQL >drop tablespace undotbs1 including contents and datafiles;

删除未激活 undo 时要慎重操作,之前的 undotbs1 可能仍然在使⽤

即使没有事务⽤之前的 undotbs1,可能有查询语句⽤到 unexpired 状态的undo数据

6. 数据状态和参数

在这里插入图片描述
retention guarantee 属性

  1. 通常情况下,unexpired 数据并不绝对保证在 retention 期内不会覆盖,必要时可考虑设置 在保留期强制不覆盖的 guarantee 属性,同时应该使 undo autoextend on
SQL> select tablespace_name,status,contents,retention from
dbatablespaces;

缺省配置下 undo retention 是 noguarantee (guarantee 属性慎重使⽤)
guarantee 属性可以修改。

SQL > alter tablespace undotbs2 retention guarantee;
  1. 保证 unexpired 状态 undo 数据 在 retention 期间不被覆盖
SQL> select tablespace_name,status,contents,retention from
dba_tablespaces;
  1. 取消 undo 表空间 guarantee 属性
SQL> alter tablespace undotbs2 retention noguarantee;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值