Oracle 隐藏参数:_undo_autotune、一个吃力不讨好的活
2013-03-07 15:57
218 查看
虽然谈论那些隐藏的参数必定是无意义的、但那些隐藏的参数却是有价值的、我们不得不对那些隐藏的参数"心怀敬意"
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表空间、然后切换过去、把以前的干掉、通过这种方式来回收空间
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表空间、然后切换过去、把以前的干掉、通过这种方式来回收空间
相关文章推荐
- Oracle 隐藏参数:_undo_autotune、一个吃力不讨好的活
- Oracle 隐藏参数:_undo_autotune
- Delphi 中的 procedure of object (类方法存在一个隐藏参数self),简单深刻 good
- 查Oracle的隐藏参数
- 查Oracle的隐藏参数
- Oracle pfile UNDOTBS参数配置错误案例模仿
- Mos针对oracle 10g以后一个不错的检查和建议UNDO设置的脚本
- oracle查看隐藏参数的方法
- 如何查询oracle隐藏参数
- Oracle 查看隐藏参数
- oracle的隐藏参数字典是 x$ksppi,x¥ksppstvl
- 查Oracle隐藏参数的脚本
- 查看oracle 隐藏参数
- oracle 查看隐藏参数
- Oracle undo_management参数不一致错误
- oracle隐藏参数查询
- Oracle 11.2.0.1的又一个隐藏在ORA-03113后的bug: 通信通道的文件结尾
- oracle 查看隐藏参数
- Oracle undo_management参数不一致错误
- 查看oracle隐藏参数