
2.查看Oracle数据库中表空间信息的命令方法: 通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQL..
1. 查看所有表空间大小\x0d\x0aSQL>select tablespace_name,sum(bytes)/1024/1024 || 'M' from dba_data_files\x0d\x0a group by tablespace_name\x0d\x0a2. 已经使用的表空间大小\x0d\x0aSQL>select tablespace_name,sum(bytes)/1024/1024 || 'M'\x0d\x0a from dba_free_space\x0d\x0a group by tablespace_name\x0d\x0a3. 所以使用空间可以这样计算\x0d\x0aselect a.tablespace_name,total,free,total-free used from\x0d\x0a( select tablespace_name,sum(bytes)/1024/1024 || 'M'\x0d\x0a total from dba_data_files\x0d\x0agroup by tablespace_name) a, \x0d\x0a( select tablespace_name,sum(bytes)/1024/1024|| 'M' free from dba_free_space\x0d\x0agroup by tablespace_name) b\x0d\x0awhere a.tablespace_name=b.tablespace_name\x0d\x0a\x0d\x0a4. 下面这条语句查看所有segment的大小。\x0d\x0aSelect Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name\x0d\x0a5. 还有在命令行情况下如何将结果放到一个文件里。\x0d\x0aSQL>spool out.txt\x0d\x0aSQL>select * from v$database\x0d\x0aSQL>spool off--1、查看表空间的名称及大小select
t.tablespace_name,
round(sum(bytes/(1024*1024)),0)
ts_size
from
dba_tablespaces
t,
dba_data_files
d
where
t.tablespace_name
=
d.tablespace_name
group
by
t.tablespace_name
--2、查看表空间物理文件的名称及大小
select
tablespace_name,
file_id,
file_name,
round(bytes/(1024*1024),0)
total_space
from
dba_data_files
order
by
tablespace_name
3.查看所有表空间使用情况
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'
剩余空间,
round(100
-
sum(nvl(a.bytes,0))/(b.bytes)*100,2)||
'%'
占用百分比
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
总有一款适合你!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)