gpt4 book ai didi

oracle - 如何从单个查询中获取所有表空间名称、分配大小、可用大小、容量?

转载 作者:行者123 更新时间:2023-12-03 23:21:53 27 4
gpt4 key购买 nike

如何以以下格式获取有关数据库中所有表空间的信息。

TABLESPACE_NAME | FILE_NAME |  ALLOCATED_MB  | FREE_MB |  CAPACITY |

有没有办法自动将所有表空间的每日大小存储在另一个表中?实际上,我需要每天准备有关表空间的 list 。所以我不想创建前端,它会根据每天存储有关表空间大小信息的表自动向我发送表空间大小详细信息。

最佳答案

尝试以下查询以获取 oracle 中的所有表空间详细信息。假设您具有访问 dba 表的必要权限。

SELECT a.file_name,
substr(A.tablespace_name,1,14) tablespace_name,
trunc(decode(A.autoextensible,'YES',A.MAXSIZE-A.bytes+b.free,'NO',b.free)/1024/1024) free_mb,
trunc(a.bytes/1024/1024) allocated_mb,
trunc(A.MAXSIZE/1024/1024) capacity,
a.autoextensible ae
FROM (
SELECT file_id, file_name,
tablespace_name,
autoextensible,
bytes,
decode(autoextensible,'YES',maxbytes,bytes) maxsize
FROM dba_data_files
GROUP BY file_id, file_name,
tablespace_name,
autoextensible,
bytes,
decode(autoextensible,'YES',maxbytes,bytes)
) a,
(SELECT file_id,
tablespace_name,
sum(bytes) free
FROM dba_free_space
GROUP BY file_id,
tablespace_name
) b
WHERE a.file_id=b.file_id(+)
AND A.tablespace_name=b.tablespace_name(+)
ORDER BY A.tablespace_name ASC;

关于oracle - 如何从单个查询中获取所有表空间名称、分配大小、可用大小、容量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19240276/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com