oracle查看具体表占用空间 oracle查看表属于哪个用户
文章目录
- 前言
- oracle查看具体表占用空间
- 1、查看表空间总大小、使用率、剩余空间
- 2、查看具体表的占用空间大小
- 3、查看表空间对应日志文件
- 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) mbfrom dba_segments twhere t.segment_type='TABLE'group by t.tablespace_name,t.OWNER, t.segment_name, t.segment_type
) t
order by t.mb desc;
3、查看表空间对应日志文件
selecttablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
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