Oracle UNDO表空间

1. 作用

1.1 事物回滚

1.2 数据库恢复

    Oracle Server 自动完成

1.3 读一致性

    对更新前的数据回避 /备份,查询时显示回避信息

1.4 闪回查询

    查询过去某时刻状态

※ 事物提交后,回避信息不可回滚,不可进行数据恢复

2. UNDO参数

通过【show parameter undo】可以查看UNDO 的各参数值

show parameter undo								

\NAME                      TYPE          VALUE
temp_undo_enabled         boolean       FALSE
undo_management           string        AUTO
undo_retention           integer        900
undo_tablespace           string        UNDOTBS1

2.1 temp_undo_enabled(临时undo)

由于信息不会写入undo日志,undo表空间的开销得以减少并且产生的undo数据会更少。

修改方法:

alter system set temp_undo_enabled=false;

2.2 undo_management

auto:自动重做管理
    Oracle 服务器自动管理重做段的创建、分配、和调整
manaul:手工管理重做
    手工管理重做段的创建、分配、调整。这是Oracle9I之前的唯一方法

Automatic Tuning of undo retention

※ 更推荐设置undo空间的自动扩展 + 限制文件最大大小的方式来解决。

2.3 undo_retention

事物提交后,数据保存期间,默认是900s

修改方法:

alter system set undo_retention= 设定值 scope=spfile;

关闭undo retention优化建议:

show parameter undo

alter system set "_undo_autotune" = true; 

undo数据相关统计信息:

动态性能表
V$UNDOSTAT //10分钟一更新

其他
V$TEMPUNDOSTAT
DBA_HIST_UNDOSTAT

GUARANTEE:強制设定数据超过保存期間才可覆盖

create undo tablespace undotbs3 datafile size 10M autoextend off retention guarantee;
Tablespace created

select tablespace_name, contents, retention from dba_tablespaces where contents='UNDO';
// alert tablespace undotbs1 retention guarantee;
UNDOTBS1                       UNDO      NOGUARANTEE
UNDOTBS2                       UNDO      NOGUARANTEE
UNDOTBS3                       UNDO      GUARANTEE

UNDO UNDOTBS1 NOGUARANTEE //テスト環境:EE(ISIDG64144)

NOGUARANTEE:UNDO空间所剩无几时,未过期的数据也会被覆盖;
GUARANTEE:不考虑UNDO剩余空间大小,只有在数据过期的情况下才可以覆盖。

2.4 undo_tablespace

autoextend on
select max(maxquerylen) From v$undostat 

3. 状态

3.1 Free:未被分配

3.2 Active:被分配,且被事物使用,但未提交

3.3 Unexpired:事物已提交,未过期(Undo_retention 判断),不可覆盖

3.4 Expired:已提交,已过期,可覆盖。(何时转化为Free 不详)

4. 缩小UNDO 文件大小方法

方针:删除旧UNDO 文件,创建新UNDO 文件

4.1 UNDO 文件状况确认

SELECT TABLESPACE_NAME, FILE_NAME,BYTES/1024/1024 MBYTES 
FROM DBA_DATA_FILES 
WHERE 
	TABLESPACE_NAME IN ( SELECT TABLESPACE_NAME FROM DBA_TABLESPACES WHERE CONTENTS
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值