一、查看表所占空间大小
--1、查看用户表、索引、分区表占用空间
select segment_name, sum(bytes)/1024/1024 as Mbytes from user_segments group by segment_name order by Mbytes desc;
--2、表占用空间:
select segment_name, sum(bytes)/1024/1024 as Mbytes from user_segments where segment_type='TABLE' group by segment_name order by Mbytes desc;
--3、索引占用空间:
select segment_name ,sum(bytes)/1024/1024 as Mbytes from user_segments where segment_type ='INDEX' group by segment_name order by Mbytes desc;
--4、分区表TABLE PARTITION占用空间:
select segment_name,sum(bytes)/1024/1024 as Mbytes from user_segments where segment_type='TABLE PARTITION' group by segment_name order by Mbytes desc;
1、查询各个表空间使用率
SELECT a.tablespace_name "表空间名",
total/1024/1024 "表空间大小单位M",
free/1024/1024 "表空间剩余大小单位M",
(total - free)/1024/1024 "表空间使用大小单位M",
Round((total - free) / total, 4) * 100 "使用率 [[%]]"FROM
(SELECT tablespace_name,Sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a,
(SELECT tablespace_name,
Sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name;
2、删除对应多的表数据
清理审计的数据,如果要保留部分AUD$里面记录的审计数据,可以把想要的数据插入到一张临时表,然后直接truncate这张表就可以了,truncate操作会直接回收AUD$占用的空间。
truncate table AUD$;
3、删除
--查询所有垃圾表
select * from recyclebin where type='TABLE';
--删除回收站中所有的表
PURGE RECYCLEBIN -------这语句就能清除所有以BIN开头的残留文件
--删除指定的垃圾表
PURGE TABLE TABLE_NAME
4.表空间的扩展
alter tablespace MOF add datafile 'D:\Oracle\oradata\oracl\mofss.dbf' size 500M AUTOEXTEND on next 100m;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。