当前位置:   article > 正文

oracle查看具体表占用空间 & oracle查看表属于哪个用户_查看表空间

查看表空间

前言

表空间是数据库的逻辑组成部分
从物理上讲:数据库数据存放在数据文件中
从逻辑上讲:数据库则是存放在表空间中
表空间由一个或是多个数据文件组成


oracle查看具体表占用空间

1、查看表空间总大小、使用率、剩余空间

SELECT --B.file_name "文件名",
       A.TABLESPACE_NAME "表空间名",
       TOTAL "表空间大小",
       FREE "表空间剩余大小",
       (TOTAL - FREE) "表空间使用大小",
       TOTAL / (1024 * 1024 * 1024) "表空间大小(G)",
       FREE / (1024 * 1024 * 1024) "表空间剩余大小(G)",
       (TOTAL - FREE) / (1024 * 1024 * 1024) "表空间使用大小(G)",
       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,
             --  file_name,
               SUM(BYTES) TOTAL
        FROM   DBA_DATA_FILES
        GROUP  BY TABLESPACE_NAME/*,file_name*/) B
WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

2、查看所有表的占用空间大小

select * from (
  select t.tablespace_name,t.owner, t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) mb
  from dba_segments t
  where t.segment_type='TABLE'
  group by t.tablespace_name,t.OWNER, t.segment_name, t.segment_type
) t
order by t.mb desc;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3、查看表空间对应日志文件

select
  tablespace_name, file_id, file_name,
  round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
  • 1
  • 2
  • 3
  • 4
  • 5

4、查看所有表空间的总容量

select dba.TABLESPACE_NAME, sum(bytes)/1024/1024 as MB  
from dba_data_files dba 
group by dba.TABLESPACE_NAME;
  • 1
  • 2
  • 3

5、查询表所属哪个空间

SELECT table_name, tablespace_name
FROM user_tables
WHERE table_name = 'your_table_name';
  • 1
  • 2
  • 3

这将返回名为“your_table_name”的表所属的表空间名称。如果您要查询其他用户的表,可以将“user_tables”更改为“all_tables”或“dba_tables”,具体取决于您对这些表的访问权限。

oracle查看表属于哪个用户

1、oracle怎么查看表属于哪个用户

SELECT * FROM DBA_TABLES WHERE TABLE_NAME='表名';
  • 1

2、Oracle查询视图所属用户

SELECT * FROM ALL_VIEWS WHERE VIEW_NAME='视图名';
  • 1

3、Oracle查询存储过程所属用户

SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE='PROCEDURE' and OBJECT_NAME='存储过程名';
  • 1

总结

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!

参考1
参考2
参考3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/866888
推荐阅读
相关标签
  

闽ICP备14008679号