oracle查看具体表占用空间 & oracle查看表属于哪个用户
•
数据库
文章目录
- 前言
- oracle查看具体表占用空间
-
- 1、查看表空间总大小、使用率、剩余空间
- 2、查看所有表的占用空间大小
- 3、查看表空间对应日志文件
- 4、查看所有表空间的总容量
- 5、查询表所属哪个空间
- oracle查看表属于哪个用户
-
- 1、oracle怎么查看表属于哪个用户
- 2、Oracle查询视图所属用户
- 3、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;
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;
3、查看表空间对应日志文件
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;
4、查看所有表空间的总容量
select dba.TABLESPACE_NAME, sum(bytes)/1024/1024 as MB from dba_data_files dba group by dba.TABLESPACE_NAME;
5、查询表所属哪个空间
SELECT table_name, tablespace_name FROM user_tables WHERE table_name = 'your_table_name';
这将返回名为“your_table_name”的表所属的表空间名称。如果您要查询其他用户的表,可以将“user_tables”更改为“all_tables”或“dba_tables”,具体取决于您对这些表的访问权限。
oracle查看表属于哪个用户
1、oracle怎么查看表属于哪个用户
SELECT * FROM DBA_TABLES WHERE TABLE_NAME='表名';
2、Oracle查询视图所属用户
SELECT * FROM ALL_VIEWS WHERE VIEW_NAME='视图名';
3、Oracle查询存储过程所属用户
SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE='PROCEDURE' and OBJECT_NAME='存储过程名';
总结
如果此篇文章有帮助到您, 希望打大佬们能关注、点赞、收藏、评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!
参考1
参考2
参考3
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/9fc99a9118.html
