oracle 收缩表空间数据文件

oracle 收缩表空间数据文件

ID:20504537

大小:30.00 KB

页数:3页

时间:2018-10-10

oracle 收缩表空间数据文件_第1页
oracle 收缩表空间数据文件_第2页
oracle 收缩表空间数据文件_第3页
资源描述:

《oracle 收缩表空间数据文件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在实际的应用中经常会遇到TRUNCATE或者DELETE表中的数据后发现表空间并没有将空间进行释放,磁盘空间被告占用感觉空间白白被浪费掉了。提供一个回收表空间的简单方法供参考:通过下面的SQL语句查看表空间总大小及实用大小,然后拼出来一个SQL语句将表空间的数据文件重新设定大小select'alterdatabasedatafile'''

2、

3、a.file_name

4、

5、'''resize'

6、

7、round(a.filesize-(a.filesize-c.hwmsize-100)*0.8)

8、

9、'M;',a.filesize

10、

11、'M'as"数据

12、文件的总大小",c.hwmsize

13、

14、'M'as"数据文件的实用大小"from(selectfile_id,file_name,round(bytes/1024/1024)asfilesizefromdba_data_files)a,(selectfile_id,round(max(block_id)*8/1024)asHWMsizefromdba_extentsgroupbyfile_id)cwherea.file_id=c.file_idanda.filesize-c.hwmsize>100;上面的那个SQL语句运行可能是有点慢下面的

15、语句更快:注意:对于此SQL语句由于dba_free_space这个视图在统计空闲空间时没有考虑表空间中的数据文件自动扩展时产生的可使用空间。同时,对于分配给行的空间,在删除行以后,仍可继续用于表的插入操作,但不将其作为可用于其他数据库对象的空间算入下面SQL查询结果中,但是对于截取表时,该空间就可用于其他的数据库对象。如果不考虑数据文件扩展的情况下用此SQL语句基本上可以满足要求了,如果要很精确的话可以考虑上面SQL语句就是太慢了点。selecta.tablespace_name,a.file_name,a.totalsize,b.fr

16、eesize,'ALTERDATABASEDATAFILE'''

17、

18、a.file_name

19、

20、'''RESIZE'

21、

22、round((a.totalsize-b.freesize)+200)

23、

24、'M;'as"alterdatafile"from(selecta.file_name,a.file_id,a.tablespace_name,a.bytes/1024/1024astotalsizefromdba_data_filesa)a,(selectb.tablespace_name,b.file_id,sum(b.bytes/1024/10

25、24)asfreesizefromdba_free_spacebgroupbyb.tablespace_name,b.file_id)bwherea.file_id=b.file_idandb.freesize>100anda.tablespace_namenotlike'UNDO%'从网上查了一个关于回收表空间的语句:altertablespaceTABLESPACENAMEcoalesce此语句是整合表空间的碎片增加表空间的连续性,但是他不会收缩一个文件的大小的。回收某个表使用空间的步骤:(1)、选择某个表空间中超过N个blocks的

26、segments,通过此语句可以看出那个表占用的空间大。selectsegment_name,segment_type,blocksfromdba_segmentswheretablespace_name='TABLESPACENAME'andblocks>Norderbyblocks;(2)、分析表,得知表的一些信息analyzetableTABLENAMEestimatestatistics;执行完后再执行selectinitial_extent,next_extent,min_extents,blocks,empty_blocksf

27、romdba_tableswheretable_name='HISHOLDSINFO'andowner='hs_his';(3)、使用altertable...deallocateunused命令回收表的空间例如:altertablehs_his.HISHOLDSINFO'deallocateunusedkeep1k;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。