如何查看oracle表空间已使用大小Select Segment
发布网友
发布时间:2022-04-22 21:45
我来回答
共3个回答
热心网友
时间:2022-04-28 06:31
1. 给你个最实用的工具:SQL Developer 这个是oracle官方的工具
下载地址:http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
下载完成连接了数据库之后 右键 点击管理数据库就可以看到所有的表空间实用情况
2.也可以使用 Toad for Oracle
3.当然你还可以在你使用的sql工具中用sql查询 比如plsql
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;
热心网友
时间:2022-04-28 07:49
转:
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
热心网友
时间:2022-04-28 09:24
查看所有表空间使用情况 :
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权限进行查看。