今天看数据库的表空间,感觉赛了很多东西,表空间文件太大了。
找了下资料,先查询表所占空间大小,使用如下语句查看:
SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MBYTESE
FROM USER_SEGMENTS
WHERE SEGMENT_TYPE = 'TABLE'
GROUP BY SEGMENT_NAME;
或者
Select Segment_Name,Sum(bytes)/1024/1024 as sizeof From User_Extents Group By Segment_Name order by sizeof desc
一般大数据量的删全表数据时,使用truncate table
truncate table会释放表空间。
delete table需要ALTER TABLESPACE *** COALESCE; 才有空间
truncate table没有事务概念,执行完了就数据全清了。
truncate 会把 highwatermark 回归至 0 当下一次再插入新记录时就会快一些啦。
truncate table Index也会删掉不是指drop index ;
注意:
删除数据不能缩小表空间,只是可再利用的多了.
要实际缩小,让操作系统可以利用,需要先把表move tablespace
也可以在原来的tablespace上move一遍,再缩小tablespace就可以了.
例如:
alter table your_table move tablespace yourtablespace;
分享到:
相关推荐
oracle增加表空间大小oracle增加表空间大小oracle增加表空间大小
oracle表空间信息,查看Oracle表空间空闲与已用大小
调整oracle内存及调整表空间大小方法
查询一个Oracle表所占的物理空间大小
ORACLE临时段表空间不足,修改表空间大小
ORACLE表空间大小统计语句,比较详细的。。。。
查看oracle表空间和临时表空间的使用情况、当前用户下的表所占空间大小表空间物理文件的名称和大小,是oracle DBA的利器哦
在oracle中,使用查询语句查看表空间使用情况
创建表空间,创建用户分配权限,设置表空间自增长,修改大小
oracle表空间相关查询语句-查询表空间大小,表空间剩余大小,表空间使用大小,表空间大小(G),表空间剩余大小(G),表空间使用大小(G),使用率 %,查看Oracle用户占了哪几个表空间及大小
帮助您查看oracle的表空间大小,已使用百分比,剩余大小,总大小,表空间名
oracle表空间常用操作,包括表空间剩余使用大小、名称及大小、物理文件的名称及大小 、回滚段名称及大小 、控制文件 、日志文件 、数据库的创建日期和归档方式 、创建表空间、修改表空间等操作,供大家参考。
查询oracle表空间使用情况,表空间文件详情,创建或者变更表空间大小
通过修改表空间文件大小或者添加表空间文件方式修改Oracle表空间
select b.tablespace_name 表空间, c.owner 用户, c.segment_name 表名, b.file_name 物理文件名, sum(nvl(b.bytes, 0)) / 1024 / 1024 总共大小M, round((sum(nvl(b.bytes, 0)) - sum(nvl(a.bytes, 0))) ...
Oracle查看各表占用空间 利用SQL语句查看表空间中,用户所有表所占用的空间大小
针对ORACLE ORA-01653: unable to extend table 的错误,首先查看Oracle数据库表空间大小,然后看一下表空间下的所有的数据文件的自动扩展功能是否打开;若确实是表空间不够用了,那么我们就需要扩大表空间了
oracle数据库表空间监控实用脚本/a.查看某个表空间内所占空间大于查看所有表空间的碎片程度(值在30以下表示碎片很多)某个值的段/b查看某个表空间内最大连续的自由空间大小/c
运维脚本,查询数据库表空间大小及使用情况,增加表空间,扩展表空间等。
ORACLE_表空间扩展方法详细介绍,查看表空间的名字及文件所在位置,对于oracle数据库的表空间,除了用手动增加大小外,还可以增加数据文件等方式扩展表空间大小