清理oracle系统表空间,Oracle表空间清理
一、查看表所占空間大小
--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;
二、刪除不需要的表和分區
使用drop命令刪除不需要的表和分區,刪除后再執行[語句1],發現表里多了以BIN開頭的文件,而且仍然占用很大空間。
oracle drop table的時候,不會徹底刪除該表,它將drop的表放到了自己的回收站里,放到回收站的表就是我們看到的形如bin$/rt62vkdt5wmrjfcz28eja==$0的表,其中包含了表的結構定義信息和數據。
三、清理垃圾表
PURGE RECYCLEBIN
四、擴展
--查詢所有垃圾表
select * from recyclebin where type='TABLE';
--刪除回收站中所有的表
PURGE RECYCLEBIN -------這語句就能清除所有以BIN開頭的殘留文件
--刪除指定的垃圾表
PURGE TABLE TABLE_NAME
--閃回被刪除的表
FLASHBACK TABLE table_name TO BEFORE DROP;
--Drop表時不產生Bin型表
DROP TABLE "TableName" purge;
--設置falshback功能的開啟和關閉
startup mount
alter database flashback on(off)
總結
以上是生活随笔為你收集整理的清理oracle系统表空间,Oracle表空间清理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 企业微信群机器人_pyth
- 下一篇: 预约挂号系统技术点详解(一)