视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle隐藏参数:_undo_autotune
2020-11-09 12:45:01 责编:小采
文档


有时候DBA会听到诸如上面的一些声音,因为有个参数叫_undo_autotune=true,undo_retention不再适用,Oracle会自行决定tuned_undo_r

虽然谈论那些隐藏的参数必定是无意义的、但那些隐藏的参数却是有价值的、我们不得不对那些隐藏的参数"心怀敬意"

AUM下、为什么我的Undo表空间只增长,不回收,现在都40多G了,还在长,是为什么啊?

为什么在系统不是很繁忙的时候会出现undo不够用的情况呢,如果说不够用,那在波峰时段应该问题更加严重才对?

......

有时候DBA会听到诸如上面的一些声音

因为有个参数叫_undo_autotune=true,undo_retention不再适用

Oracle会自行决定tuned_undo_retention,然后试图增大undo tablespace

从10.2版本开始,oracle默认采用自动调整undo retention的方法

根据你undo tablespace的大小以及系统的繁忙程度(v$undostat中信息)自动调整undo_retention参数

所以在10g的数据库上你会经常发现undo tablespace永远是满的

因为当你undo tablespace有空闲空间时,系统自动调大undo_retention来保留更多的undo blocks

这一方法有利于时间长的查询,但是对于典型的OLTP系统来说不太适用

因为OLTP上不太可能跑如此长时间的查询,而且在很繁忙的 OLTP上还会导致上面所遇到的问题

Oracle真是吃力不讨好

sys@ORCL> ed
Wrote file afiedt.buf

1 select a.ksppinm name,b.ksppstvl value,a.ksppdesc description
2 from x$ksppi a,x$ksppcv b
3 where a.indx = b.indx
4* and a.ksppinm like '%_undo_autotune%'

sys@ORCL> /

NAME VALUE DESCRIPTION
-------------------- -------- ----------------------------------------
_undo_autotune TRUE enable auto tuning of undo_retention

该参数可以在线修改:

alter system set “_undo_autotune” = false;

标注一下:

如果undo不回收、resize可能是会报错的、我遇到很多次了、一般都是、重建个undo表空间、然后切换过去、把以前的干掉、通过这种方式来回收空间。

下载本文
显示全文
专题