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 offdata_pages() 或者data_pgs()
curunreservedpgs()
通过这两个函数自己计算。
查看数据库内使用对象占用的空间
use xxxx ----你的数据库名字
go
--查看数据库内所有对象使用的数据空间:
select count( data_pages(db_id(),id,doampg) + data_pages(db_id(),id,ioampg)) from sysindexes where id <>8
--查看数据库内日志空间:
select count( data_pages(db_id(),id,doampg) + data_pages(db_id(),id,ioampg)) from sysindexes where id
= 8
函数data_pages的第一个参数为数据库id,第二个参数为对象ID,第三个参数为 doampg或者ioampg分别表示统计数据、日志所占空间。
函数curunreservedpgs统计设备上面指定段的剩余空间。
评论列表(0条)