查询数据库表空间

来源:互联网 发布:中俄翻译软件在线 编辑:程序博客网 时间:2024/06/06 16:36

最近项目上遇到数据库表空间空间不足的问题,上网查找了一下原因 并找到了一些sql语句来查询这个问题。

数据库是oracle数据库

查询的语句

SELECT a.tablespace_name "表空间名",
a.bytes / 1024 / 1024 "表空间大小(M)",
(a.bytes - b.bytes) / 1024 / 1024 "已使用空间(M)",
b.bytes / 1024 / 1024 "空闲空间(M)",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "使用比"
FROM (SELECT tablespace_name, sum(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, sum(bytes) bytes, max(bytes) largest
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
ORDER BY ((a.bytes - b.bytes) / a.bytes) DESC;

查询完成以后会出现类似下面的记录,找到对应的表空间名 查看使用的空间和空闲的空间



SELECT * FROM dba_data_files t WHERE t.tablespace_name='YYSQ_UAT';


SELECT file_id, file_name, tablespace_name, autoextensible, increment_by
FROM dba_data_files
WHERE tablespace_name = 'YYSQ_UAT'
ORDER BY file_id desc;


解决方法网上有很多,我也试过一些,在增加过程中提示磁盘空间不足,我这个是因为虚拟机的磁盘空间不足造成的,联系管理员给扩了一些空间就搞定了 。 



0 0