alter database datafile resize(+释放空间)
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(+释放空间)相关推荐
- alter database datafile offline drop 与 alter tablespace drop datafile 区别
以前整理的: Oracle 表空间基本操作 http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4681973.aspx 这篇Blog里真的是 ...
- oracle datafile offline,alter database datafile offline drop 与 alter ...
以前整理的: Oracle表空间基本操作 这篇Blog里真的是最基本的操作.其实今天写的内容,也可以放到那里面去.但是还是打算分开来讲.引起一个重视吧. 1. alter database dataf ...
- oracle删除表并释放空间,oracle删除(释放)数据文件/表空间流程
1)批量将niptest表空间中的表move到USERS表空间,再删除表空间niptest首先看下此表空间内的表move到其他表空间防止数据丢失 select * from dba_tables wh ...
- alter database命令
alter database:修改数据文件 alter database datafile 4 offline; alter database datafile '/opt/oracle/datafi ...
- ALTER DATABASE 与 ALTER TABLESPACE OFFLINE的区别
一.DataFile脱机或联机的两种方法: ① ALTER DATABASE 语句修改单独的DataFile ② ALTER TABLESPACE 语句修改所有的DataFile 1.在ARCHIVR ...
- sqlserver drop image类型的列不释放空间问题处理
一. 背景 drop了sqlserver一个大表image类型的列,感觉作为一个ddl语句应该在drop之后会释放空间,但drop后查询表发现并没有缩小,也不像oracle删除表空间中的表后可以复用原 ...
- ALTER DATABASE
在数据库中添加或删除文件和文件组.也可用于更改文件和文件组的属性,例如更改文件的名称和大小.ALTER DATABASE 提供了更改数据库名称.文件组名称以及数据文件和日志文件的逻辑名称的能力. AL ...
- oracle修改temp表空间大小,默认TEMP表空间变更,释放空间
默认TEMP表空间变更 应用场景:由于TEMP表空间自动增涨,在增涨到一定大小会占用大量存储空间,需要对TEMP表空间减小 处理方法: 建立新的TEMP表空间--->将default_t ...
- alter database open resetlogs
问题解决: 先要弄清楚alter database open resetlogs是什么意思,为什么要用resetlogs打开数据库,这个命令发出后oracle都做了什么? alter database ...
最新文章
- 豪华版飞机大战系列(六)--附源代码
- base64加密原理及python、C语言代码实现
- wireshark-win64-3.4.0安装_这9类轴承的安装方法,你可都知道?有哪些需要注意的呢?...
- html中评论应该怎么写,HTML-评论
- linux下postgresql离线编译安装
- 好文力荐 | MySQL 索引、B+树原理以及建索引的几大原则
- 嘉峪关计算机网络优化,嘉峪关广播电视大学计算机网络技术专业_甘肃报名_网络教育计算机网络技术专业教学计划_中国教育在线...
- 解决request.getSession().getServletContext().getRealPath(“/“)为null问题
- 护网杯 task_shoppingCart 记录
- 【算法学习】纯高斯模糊算法处理灰度图片
- Camera ISP流程概述
- Android 用代码Ping网络
- 从SVN检出项目下载到本地后出现错误
- 基于FPGA的ov5640摄像头简易图像采集装置详解
- 清华社英语在线自动教程python版
- 手机连上蓝牙耳机没有声音
- NDT算法配准代码学习,很详细,很多不懂,一句一句解释。
- SpringCloud 微服务网关Gateway常用限流算法以及简单实现
- GF系列卫星分辨率介绍
- Knol of Fabio Maulo
热门文章
- 2001年日语四级能力考试答案
- 软件开发的流程--中英文对照
- FTP(文件传输协议)及实验搭建详解(本地认证,虚拟用户,加密传输,限制登陆)
- 出人意料,这些人竟然也是程序员
- 计算机辅助设计简单作品,计算机辅助设计(范文).pdf
- 钛备份android9,【实用软件】钛备份9.9.9专业版-解决华为无法备份软件问题
- 5G 将如何引爆物联网爆发式的发展
- reader小说阅读器 v1.9.2.0
- Qcom android L ro.sf.lcd_density属性修改
- 区块链安全问题: 研究现状与展望