如何查看ORACLE数据库剩余空间?

如何查看ORACLE数据库剩余空间?,第1张

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

data_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统计设备上面指定段的剩余空间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6713791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存