解决表空间撑满问题

上一篇 / 下一篇  2008-07-21 15:51:30 / 个人分类:概念总汇

为了解决表空间不足告警,到如今,我已经使用过下面三种形式:

 

一、添加数据文件

这个方法最为简单有效,但是需要足够的存储介质。

如果数据文件放在系统文件上则需要数据库主机上空间充裕;如果是裸设备的话,则需要有足够的lv。

脚本为:

alter tablespacets_nameadd datafile 'file_name' size 4095M autoextend off;(裸设备:一般选择autoextend off,因为lv已经提前划好容量,而已最好设size比lv稍小一点)

 

二、压缩table和index

这种方法一般不推荐,除非是实在没有扩展的空间了,而且表或索引不能经常进行DDL操作的,这才允许。就算compress了,能节约出来的空间也是十分可怜的。

如果对已经压缩了的表或索引做update、insert等DDL操作,那将会牺牲无数的IO来做代价的……

脚本为:

alter tableowner.table_namemove compress parallel 8 nologging;

 

alter indexowner.index_namerebuild compress nologging;

不知道为什么索引不能采用parallel(并行)操作,呵?

 

三、Move an object to a different tablespace

顾名思义,就是挪动对象到其它表空间去。将原来表空间容量紧张里的某些对象,挪到其它不紧张的表空间里,以解燃眉之急。

也不推荐,仅仅解燃眉之急而已。

具体步骤在下篇文档中说明

 

其实无论是那种方法,如果存储介质实在紧张了,让应用开发商清理旧的没用的数据,才是解决表空间告警的最佳方法。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-03  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 199
  • 日志数: 6
  • 建立时间: 2008-06-11
  • 更新时间: 2008-07-21

RSS订阅

Open Toolbar