truncate table tablename DROP STORAGE; drop 执行drop table xx 语句drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除.通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to be
http://www.2cto.com/database/201107/95313.html 一种是分配给一个表的物理空间数量,而不管空间是否被使用.可以这样查询获得字节数:select segment_name, bytes from user_segments where segment_type = 'TABLE'; 或 Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name; 另一种
select TABLE_NAME , num_rows * avg_row_len /1024/1024 AS KJfrom ALL_tables WHERE TABLE_NAME IN (select TABLE_NAME from all_tables where owner='PRODDTA')ORDER BY KJ DESC
SELECT T.OWNER, T.SEGMENT_NAME, SUM(T.BYTES) / 1024 / 1024 M FROM DBA_SEGMENTS T WHERE T.OWNER = 'user_name' AND T.SEGMENT_NAME = 'table_name' GROUP BY T.OWNER, T.SEGMENT_NAME; 或者 select sum(bytes/1024/1024) M from user_segments where segment_name
1.查看一个表所占的空间大小:SELECT bytes/1024/1024 ||'MB' TABLE_SIZE ,u.* FROM USER_SEGMENTS U WHERE U.SEGMENT_NAME='JK_TEST';2.查看一个表空间所占的实际大小:SELECT SUM(BYTES) / 1024 / 1024 ||'MB' FROM USER_SEGMENTS U WHERE TABLESPACE_NAME = 'DATA01';3.查看一个表空间对应的数据文件:SELECT *
在oracle中由于表结构设计不合理或者需要清楚老数据的时候,经常需要对大表数据进行清理. 一般有一下几种方法: 1. 删除大部分数据,留下小部分数据.我们可以把需要保留的数据转移到别的表,然后再把大表drop掉,然后改名就行了: a) create table tablename_min as select * from tablename_max a where 需要保留的数据. b) drop table tablename_max ; c) rename tablename_min as