Oracle数据库:如何查询已用尽存储空间的用户
针对DBA_TS_QUOTAS查询存储空间用尽用户的判断条件说明
要判断用户的表空间配额是否用尽,需要结合DBA_TS_QUOTAS视图的两个核心字段做判断:
BYTES:用户当前在该表空间已经使用的存储空间大小,单位为字节MAX_BYTES:用户在该表空间被分配的最大可用配额,值为-1时表示无配额限制,这类用户不存在配额用尽的情况
核心判断条件如下:
MAX_BYTES != -1 AND BYTES >= MAX_BYTES
你可以使用如下完整查询语句直接获取结果:
SELECT USERNAME, TABLESPACE_NAME, BYTES / 1024 / 1024 AS USED_MB, MAX_BYTES / 1024 / 1024 AS QUOTA_MAX_MB FROM DBA_TS_QUOTAS WHERE MAX_BYTES != -1 AND BYTES >= MAX_BYTES;
如果你需要按存储块数维度做判断,也可以替换为MAX_BLOCKS != -1 AND BLOCKS >= MAX_BLOCKS逻辑,查询结果和按字节判断完全一致。
内容的提问来源于stack exchange,提问作者CrazyCoder
相关产品推荐
相关产品推荐

