ITPub博客

首页 > 数据库 > Oracle > Oracle Undo表空间达到100%问题分析

Oracle Undo表空间达到100%问题分析

Oracle 作者:cqvienet 时间:2017-04-10 16:20:57 0 删除 编辑
问题描述
最近巡检oracle数据库发现Oracle Undo表空间使用率几乎达到100%,预警系统频繁报Undo表空间使用率过高
问题分析:
1、undo的作用
    用于事务的回滚
    用于数据库的恢复
    提供读一致性
    用于数据库的闪回查询
    通过闪回恢复数据库的逻辑错误
2、查看数据库版本信息
3、查询undo表空间使用率
4、查看undo参数信息
    show parameter undo
5、查看Alert日志信息
6、使用undo说明
    如果undo 表空间是自动扩展的,那么数据会尝试使用UNDO_RETENTION 参数,如果表空间不足时,不会去重写没有过期(仅仅是没有过期的committed的数据)的undo数据,而是会自动扩展undo 表空间。当undo 表空间扩展达到MAXSIZE值时,数据库开始重写没有过期的undo 数据。
   如果UNDO 表空间的大小是固定的,即不可自动扩展,那么在这种情况下,UNDO_RETENTION参数是会自动忽略,不会生效,数据库根据系统活动情况和undo表空间大小来调整undo retention period为最佳值。
7、Undo Retention Period 说明
    事务提交之后,UNDO 数据就不需要用来rollback 或者事务恢复,但是为了一致性读,比如long-runing的查询可能还是需要这些旧的undo 数据来获取block的前镜像。此外,Flashback的特性也会受undo信息的影响,因为这些原因,旧的undo 信息还是需要尽可能的长。
     当启用AUM后,就会涉及到undo retention period,其是保存最小的undo信息的时间。 Old undo 信息(已经committed)如果超过了这个retentionperiod,那么其就会被标记为expiered,对应的空间也可以被其他的事务重写。
     Oracle 会根据undo 表空间的大小和系统的活动情况自动调整undoretention period的时间。我们也可以手动在初始化参数里修改UNDO_RETENTION参数,该参数单位是秒

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29108856/viewspace-2136965/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-03-03

  • 博文量
    86
  • 访问量
    101537