oracle数据库表占大小查看和清空表以及表所占空间

来源:互联网 发布:淘宝美津浓官方旗舰店 编辑:程序博客网 时间:2024/05/16 14:13
主要针对表数据被delete后,而表空间不能被释放的情况
手工释放表空间
alter table cbsd_log_t enable row movement;
alter table cbsd_log_t shrink space


查看数据库表的对象脚本
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_NAME','SCHEMA') from dual;
PCTUSE需要设置为40,如果是0会导致delete语句不释放表空间


========================================================================


最近,项目上ORACLE数据库越来越大,需要查看下数据库数据量占用大的原因。


1、查看ORACLE表空间及表数据大小


Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents group By Segment_Name order by Sum(bytes)/1024/1024 desc;


2、从返回的结果看,有一个segment名为"SYS_LOB0000053810C00004$$"的对象占用了大量的空间;即LOB(BLOB和CLOB)对象占用的大小对象


3、根据segment_name,就可以从 dba_lobs 表里查到是哪个表,哪个字段;


select * from dba_lobs where segment_name like 'your_segment_name';


里面显示的TABLE_NAME和COLUMN_NAME为表名和字段名。
0 0
原创粉丝点击