Oracle中如何查询所有表及其所使用的表空间

 我来答
帐号已注销
2019-06-30 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:5908
展开全部

Oracle中查询所有表及其所使用的表空间可以使用SQL语句:

select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name;

在数据库管理员的日常工作中,应该经常查询表空间的利用率,按照数据库系统的具体情况估算表空间的增长量,当表空间的利用率超过90%时,要及时采取措施。

扩展资料

oracle一些其他表空间查询方法介绍:

1、查询oracle系统用户的默认表空间和临时表空间

select default_tablespace,temporary_tablespace from dba_users;

2、查询单张表的使用情况

select segment_name,bytes from dba_segments where segment_name = 'tablename' and owner = USER;

3、查询所有用户表使用大小的前三十名

select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30;

4、查看表空间物理文件的名称及大小

SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files ORDER BY tablespace_name;

badkano
推荐于2017-09-13 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

一条sql语句即可:

select table_name 表名 ,tablespace_name 所使用表空间 from user_tables;

结果截图:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyman365
2012-01-13 · TA获得超过2135个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:379万
展开全部
select owner,table_name,tablespace_name from dba_tables;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
五老星2011
2012-01-13
知道答主
回答量:25
采纳率:0%
帮助的人:11.3万
展开全部
SELECT SEGMENT_NAME,BTYES FROM DBA_SEGMENTS WHERE SEGMENT_NAME='表名'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傅梓暄S3
2012-01-13 · TA获得超过111个赞
知道答主
回答量:88
采纳率:0%
帮助的人:66.7万
展开全部
dba_tables,自己去查看,不过要有相应的权限
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式