如何查看oracle表空间已使用大小

 我来答
覃微兰吕午
2019-06-27 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:30%
帮助的人:839万
展开全部
1.
查看所有表空间大小
SQL>
select
tablespace_name,sum(bytes)/1024/1024
from
dba_data_files
2
group
by
tablespace_name;
2.
已经使用的表空间大小
SQL>
select
tablespace_name,sum(bytes)/1024/1024
from
dba_free_space
2
group
by
tablespace_name;
3.
所以使用空间可以这样计算
select
a.tablespace_name,total,free,total-free
used
from
(
select
tablespace_name,sum(bytes)/1024/1024
total
from
dba_data_files
group
by
tablespace_name)
a,
(
select
tablespace_name,sum(bytes)/1024/1024
free
from
dba_free_space
group
by
tablespace_name)
b
where
a.tablespace_name=b.tablespace_name;
4.
下面这条语句查看所有segment的大小。
Select
Segment_Name,Sum(bytes)/1024/1024
From
User_Extents
Group
By
Segment_Name
5.
还有在命令行情况下如何将结果放到一个文件里。
SQL>
spool
out.txt
SQL>
select
*
from
v$database;
SQL>
spool
off
尹寄竹晋燕
2020-05-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:31%
帮助的人:1211万
展开全部
查看所有表空间使用情况

select
b.file_id
文件ID号,
b.tablespace_name
表空间名,
b.bytes/1024/1024||'M'字节数,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'
已使用,
sum(nvl(a.bytes,0))/1024/1024||'M'
剩余空间,
100
-
sum(nvl(a.bytes,0))/(b.bytes)*100
占用百分比
from
dba_free_space
a,dba_data_files
b
where
a.file_id=b.file_id
group
by
b.tablespace_name,b.file_id,b.bytes
order
by
b.file_id;
备注:建议用系统管理员dba权限进行查看。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式