博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
resize datafile以节省磁盘空间
阅读量:2447 次
发布时间:2019-05-10

本文共 2163 字,大约阅读时间需要 7 分钟。

因为磁盘空间不够,而表空间data中的很多表已经被迁移走,现在需要从表空间data中回收空间;

一个数据文件能够resize(缩小)的最大限度需要取决于其max extent,通过以下sql可以查看

select a.FILE#,

       a.name,
       ceil(HWM * a.BLOCK_SIZE) / 1024 / 1024 ResizeTO,
       a.BYTES / 1024 / 1024 CurrentMB
  from v$datafile a,
       (select file_id, max(block_id + blocks - 1) HWM
          from dba_extents
         group by file_id) b,
       dba_data_files d
 where a.file# = b.file_id
   and d.FILE_ID = a.FILE#
   and d.TABLESPACE_NAME = 'DATA'
   and (a.BYTES - b.HWM * a.BLOCK_SIZE) > 0;

查询结果如下
     FILE# NAME                                                                                                   RESIZETO  CURRENTMB
---------- ---------------------------------------------------------------------------------------------------- ---------- ----------
         6 /data/oracle/oradata/justin/data02.dbf                                                               8191.0625       8192
        14 /data/oracle/oradata/justin/data43.dbf                                                              201.992188       8192
        84 /data/oracle/oradata/justin/data24.dbf                                                               8191.0625       8192
       105 /data/oracle/oradata/justin/data32.dbf                                                              8000.99219       8001
       106 /data/oracle/oradata/justin/data33.dbf                                                              8000.99219       8001
       107 /data/oracle/oradata/justin/data34.dbf                                                              8000.99219       8001
       115 /data/oracle/oradata/justin/data35.dbf                                                              8191.99219       8192
       118 /data/oracle/oradata/justin/data36.dbf                                                              8000.99219       8001
       124 /data/oracle/oradata/justin/data37.dbf                                                              8191.99219       8192
       129 /data/oracle/oradata/justin/data38.dbf                                                              8191.99219       8192
       130 /data/oracle/oradata/justin/data39.dbf                                                              8191.99219       8192
       131 /data/oracle/oradata/justin/data40.dbf                                                              5218.99219      10240
       133 /data/oracle/oradata/justin/data41.dbf                                                              4045.99219      10240
       134 /data/oracle/oradata/justin/data42.dbf                                                              3731.99219      10240
      
按照以上结果可以执行      
alter database datafile 134 resize 3740m;

对于temp file,则需要查看v$sort_usage视图

select max(segblk#)*8192/1024/1024/1024 from v$sort_usage;

SQL> select max(segblk#)*8192/1024/1024/1024 from v$sort_usage;

MAX(SEGBLK#)*8192/1024/1024/1024

--------------------------------
                      7.68756866

alter database tempfile '/data/oracle/oradata/justin/temp01.dbf' resize 7700m;

 
如果是undo数据文件,则不必这么麻烦
可以新建一个undo tablespace,指定较小的数据文件,并且执行alter system set undo_tablespace = new_undo scope =both;
观察v$rollstat,待到旧的undo segment都offline时执行drop tablespace old_undo including contents and datafiles即可

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15480802/viewspace-708520/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15480802/viewspace-708520/

你可能感兴趣的文章
如何将音乐添加到PowerPoint演示文稿
查看>>
fitbit手表中文说明书_Fitbit OS达到3.0版,这是新功能
查看>>
ublock origin_Chrome可能会在打破uBlock起源的同时更快地阻止广告
查看>>
电邮地址_我如何找出电子邮件的真正来源?
查看>>
windows虚拟桌面_在Windows中使用虚拟桌面的最佳免费程序
查看>>
ipad iphone开发_如何在iPhone或iPad上的消息中快速选择表情符号
查看>>
在windows使用gpu_如何选择Windows 10上游戏使用的GPU
查看>>
什么是适用于iPhone和iPad的iOS最新版本?
查看>>
成为产品不一定是坏事
查看>>
Ubuntu 18.04 LTS现在在Microsoft Store中
查看>>
如何检查已安装的Ubuntu版本
查看>>
如何在Windows 10上禁用附近共享
查看>>
gmail_Gmail将提供自毁电子邮件
查看>>
google 禁止广告_是否应禁止针对个人的广告?
查看>>
Plover.io在本地设备之间快速共享文件
查看>>
如何在OS X照片中禁用iCloud照片同步
查看>>
Minecraft的官方网站分发了受恶意软件感染的皮肤
查看>>
word模板快速填内容_如何快速轻松地在Word中选择内容块
查看>>
如何在Word 2013中直接从一个表导航到另一个表
查看>>
twitch 录像_如何通过NVIDIA GeForce Experience将您的PC游戏玩法传送到Twitch
查看>>