CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

表空间撑满问题的解决方法

作者: doi17,  出处:blog, 责任编辑: 王晓晨, 
2008-07-25 08:02
  为了解决表空间不足告警,我已经使用过下面三种形式。其实无论是那种方法,如果存储介质实在紧张了,让应用开发商清理旧的没用的数据,才是解决表空间告警的最佳方法。

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

  一、添加数据文件

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

  如果数据文件放在系统文件上则需要数据库主机上空间充裕;如果是裸设备的话,则需要有足够的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

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

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

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

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

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i