如何查看oracle表空间已使用大小
2个回答
展开全部
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
查看所有表空间大小
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
展开全部
查看所有表空间使用情况
:
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权限进行查看。
:
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权限进行查看。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |