查看Oracle数据库的表空间

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fhf2424045058/article/details/84028641

查询表空间的完整信息的语句:

SELECT (UPPER(F.TABLESPACE_NAME)) TBS_NAME, (D.TOT_GROOTTE_MB) SIZE_GB, (D.TOT_GROOTTE_MB - F.TOTAL_BYTES) USED_GB,(TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99')) as PERF,(F.TOTAL_BYTES) FREE_GB
FROM
(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024*1024), 2) TOTAL_BYTES, ROUND(MAX(BYTES) / (1024*1024*1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES) / (1024*1024*1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D 
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME 
ORDER BY (D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB DESC ;
直接执行这段sql就可查询当前用户下的表空间啦

查询emp表所在的表空间:

select table_name,tablespace_name from user_tables where table_name='emp';

查询当前用户下所有的表空间大小:

select tablespace_name,sum(bytes)/1024/1024 from dba_segments group by tablespace_name;

查询最后10条数据:

select f.* from  (select name,age,job,rownum rn from  emp  order by rn desc) f where rownum<=10;

猜你喜欢

转载自blog.csdn.net/fhf2424045058/article/details/84028641