RESIZE DATAFILE的时候会失败,因为一些OBJECT的EXTENTS已经扩展到DATAFILE的边缘(最大的地方)。
 下面的SQL可以让我们找到前5个最边缘的OBJECT
select *
 from (
select owner, segment_name,
      segment_type, block_id
 from dba_extents
 where file_id =
  ( select file_id
      from dba_data_files
     where file_name = :FILE )  --用你的DATAFILE代替
 order by block_id desc
      )
 where rownum <= 5

--这个在我的数据库里没有查出数据,先存放在这,以后会用到的

运行下面的这个脚本可以得到相应file做resize的命令

SQL> variable blocksize number;
SQL> begin execute immediate 'select value from v$parameter where name = ''db_block_size''' into :blocksize; end;
2 /
SQL>print :blocksize;
SQL> select 'alter database datafile ''' ||
2 file_name || ''' resize ' ||
3 ceil( nvl(hwm,1)*:blocksize/1024/1024 ) || 'm;' cmd
4 from dba_data_files a,
5 ( select file_id,
6 max(block_id+blocks-1) hwm
7 from dba_extents
8 group by file_id ) b
9 where a.file_id = b.file_id(+) and b.file_id in (7, 8, 10);

下面的这个是个总的,和上面的这个脚本功能类似,都可以得到alter的cmd

SELECT
  a.file_id,
  a.file_name
  file_name,
  CEIL( ( NVL( hwm,1 ) * blksize ) / 1024 / 1024 ) smallest,
  CEIL( blocks * blksize / 1024 / 1024 ) currsize,
  CEIL( blocks * blksize / 1024 / 1024 ) -
  CEIL( ( NVL( hwm,1) * blksize ) / 1024 / 1024 ) savings,
  'alter database datafile ''' || file_name || ''' resize ' ||
  CEIL( ( NVL( hwm,1) * blksize ) / 1024 / 1024 ) || 'm;' cmd
FROM
  DBA_DATA_FILES a,
  (
     SELECT  file_id, MAX( block_id + blocks - 1 ) hwm
     FROM    DBA_EXTENTS
     GROUP BY file_id
  ) b,
  (
     SELECT TO_NUMBER( value ) blksize
     FROM   V$PARAMETER
     WHERE  name = 'db_block_size'
  )
WHERE
  a.file_id = b.file_id(+)
AND
  CEIL( blocks * blksize / 1024 / 1024 ) - CEIL( ( NVL( hwm, 1 ) * blksize ) / 1024 / 1024 ) > 0
ORDER BY 5 desc

alter完后 ,可以达到释放存储空间的止的,

还可以 exp/imp expdp/impdp(自我理解没有实践:可以导出整个数据库,也可以导出要清理表空间的数据,再DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES; )

或者 一个表或者少量的表在那个表空间,可以通过creat table as select ...的方式或者move的方式,move完成后再干掉表空间,干掉表空间的时候,including contents and datefiles就可以了。

alter database datafile resize(+释放空间)相关推荐

  1. alter database datafile offline drop 与 alter tablespace drop datafile 区别

    以前整理的: Oracle 表空间基本操作 http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4681973.aspx 这篇Blog里真的是 ...

  2. oracle datafile offline,alter database datafile offline drop 与 alter ...

    以前整理的: Oracle表空间基本操作 这篇Blog里真的是最基本的操作.其实今天写的内容,也可以放到那里面去.但是还是打算分开来讲.引起一个重视吧. 1. alter database dataf ...

  3. oracle删除表并释放空间,oracle删除(释放)数据文件/表空间流程

    1)批量将niptest表空间中的表move到USERS表空间,再删除表空间niptest首先看下此表空间内的表move到其他表空间防止数据丢失 select * from dba_tables wh ...

  4. alter database命令

    alter database:修改数据文件 alter database datafile 4 offline; alter database datafile '/opt/oracle/datafi ...

  5. ALTER DATABASE 与 ALTER TABLESPACE OFFLINE的区别

    一.DataFile脱机或联机的两种方法: ① ALTER DATABASE 语句修改单独的DataFile ② ALTER TABLESPACE 语句修改所有的DataFile 1.在ARCHIVR ...

  6. sqlserver drop image类型的列不释放空间问题处理

    一. 背景 drop了sqlserver一个大表image类型的列,感觉作为一个ddl语句应该在drop之后会释放空间,但drop后查询表发现并没有缩小,也不像oracle删除表空间中的表后可以复用原 ...

  7. ALTER DATABASE

    在数据库中添加或删除文件和文件组.也可用于更改文件和文件组的属性,例如更改文件的名称和大小.ALTER DATABASE 提供了更改数据库名称.文件组名称以及数据文件和日志文件的逻辑名称的能力. AL ...

  8. oracle修改temp表空间大小,默认TEMP表空间变更,释放空间

    默认TEMP表空间变更 应用场景:由于TEMP表空间自动增涨,在增涨到一定大小会占用大量存储空间,需要对TEMP表空间减小 处理方法:  建立新的TEMP表空间---&gt将default_t ...

  9. alter database open resetlogs

    问题解决: 先要弄清楚alter database open resetlogs是什么意思,为什么要用resetlogs打开数据库,这个命令发出后oracle都做了什么? alter database ...

最新文章

  1. 豪华版飞机大战系列(六)--附源代码
  2. base64加密原理及python、C语言代码实现
  3. wireshark-win64-3.4.0安装_这9类轴承的安装方法,你可都知道?有哪些需要注意的呢?...
  4. html中评论应该怎么写,HTML-评论
  5. linux下postgresql离线编译安装
  6. 好文力荐 | MySQL 索引、B+树原理以及建索引的几大原则
  7. 嘉峪关计算机网络优化,嘉峪关广播电视大学计算机网络技术专业_甘肃报名_网络教育计算机网络技术专业教学计划_中国教育在线...
  8. 解决request.getSession().getServletContext().getRealPath(“/“)为null问题
  9. 护网杯 task_shoppingCart 记录
  10. 【算法学习】纯高斯模糊算法处理灰度图片
  11. Camera ISP流程概述
  12. Android 用代码Ping网络
  13. 从SVN检出项目下载到本地后出现错误
  14. 基于FPGA的ov5640摄像头简易图像采集装置详解
  15. 清华社英语在线自动教程python版
  16. 手机连上蓝牙耳机没有声音
  17. NDT算法配准代码学习,很详细,很多不懂,一句一句解释。
  18. SpringCloud 微服务网关Gateway常用限流算法以及简单实现
  19. GF系列卫星分辨率介绍
  20. Knol of Fabio Maulo

热门文章

  1. 2001年日语四级能力考试答案
  2. 软件开发的流程--中英文对照
  3. FTP(文件传输协议)及实验搭建详解(本地认证,虚拟用户,加密传输,限制登陆)
  4. 出人意料,这些人竟然也是程序员
  5. 计算机辅助设计简单作品,计算机辅助设计(范文).pdf
  6. 钛备份android9,【实用软件】钛备份9.9.9专业版-解决华为无法备份软件问题
  7. 5G 将如何引爆物联网爆发式的发展
  8. reader小说阅读器 v1.9.2.0
  9. Qcom android L ro.sf.lcd_density属性修改
  10. 区块链安全问题: 研究现状与展望