文章目录
前言
表空间是数据库的逻辑组成部分
从物理上讲:数据库数据存放在数据文件中
从逻辑上讲:数据库则是存放在表空间中
表空间由一个或是多个数据文件组成
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='存储过程名';
总结
如果此篇文章有帮助到您, 希望打大佬们能
关注
、点赞
、收藏
、评论
支持一波,非常感谢大家!
如果有不对的地方请指正!!!