
以下为Oracle 19c中 V$ASM_QUOTAGROUP 动态性能视图的详细说明,涵盖作用、场景、字段含义、相关对象、原理及常用SQL:
1. 视图作用
V$ASM_QUOTAGROUP 用于监控 ASM(Automatic Storage Management)配额组(Quota Group) 的磁盘空间使用情况。配额组是ASM 12c引入的特性,用于在磁盘组级别为特定数据库(PDB/CDB)或文件组分配存储限额,防止单一租户耗尽共享存储资源。
2. 使用场景
- 多租户环境:在CDB中为不同PDB分配ASM存储限额。
- 资源隔离:避免某个PDB或应用过度占用ASM磁盘组空间。
- 容量规划:监控配额组使用率,提前预警扩容需求。
- 审计:跟踪各配额组的实际空间消耗。
3. 字段详解 (Oracle 19c)
| 字段名 | 数据类型 | 说明 |
|---|---|---|
GROUP_NUMBER | NUMBER | 磁盘组编号,关联 V$ASM_DISKGROUP.GROUP_NUMBER。 |
QUOTAGROUP_NUMBER | NUMBER | 配额组的唯一标识号(ASM内部生成)。 |
NAME | VARCHAR2 | 配额组名称(用户创建时指定)。 |
BYTES | NUMBER | 配额组当前已用空间(单位:字节)。 |
USED_PERCENT | NUMBER | 已用空间占配额的百分比(BYTES / QUOTA_BYTES * 100)。 |
QUOTA_BYTES | NUMBER | 配额组的总空间限额(单位:字节)。 |
CON_ID | NUMBER | 容器ID(CDB中关联的PDB ID;CDB$ROOT为1)。 |
FILE_COUNT | NUMBER | 配额组中的文件数量。 |
PARENT_QUOTAGROUP | NUMBER | 父配额组ID(用于嵌套配额组结构)。 |
4. 相关视图与基表
关联视图
GV$ASM_QUOTAGROUP:集群所有实例的配额组信息。V$ASM_DISKGROUP:磁盘组元数据(含配额组关联)。V$ASM_FILEGROUP:管理ASM文件组(文件组可关联配额组)。DBA_PDBs:查看PDB信息(关联CON_ID)。
底层基表
X$KFQTG:ASM实例内部表,存储配额组元数据(需SYSASM权限访问)。-- 查询基表结构(仅供诊断) SELECT * FROM X$KFQTG WHERE GROUP_NUMBER=1;
5. 关键原理
- 配额组创建:
ALTER DISKGROUP DATA ADD QUOTAGROUP pdbsales QUOTA '10T' FOR pdb1; - 绑定PDB:配额组通过
CON_ID关联到PDB。 - 文件归属:存储在配额组中的文件计入其
BYTES和FILE_COUNT。 - 配额限制:当
USED_PERCENT达到100%,关联PDB将无法创建新文件(报错ORA-15041)。 - 层级结构:配额组可嵌套(通过
PARENT_QUOTAGROUP实现树形管理)。
6. 常用查询SQL
查看所有配额组空间使用
SELECT
g.NAME AS DISKGROUP,
q.NAME AS QUOTAGROUP,
q.CON_ID,
p.PDB_NAME,
ROUND(q.BYTES/1024/1024/1024, 2) USED_GB,
ROUND(q.QUOTA_BYTES/1024/1024/1024, 2) QUOTA_GB,
q.USED_PERCENT,
q.FILE_COUNT
FROM V$ASM_QUOTAGROUP q
JOIN V$ASM_DISKGROUP g ON q.GROUP_NUMBER = g.GROUP_NUMBER
LEFT JOIN CDB_PDBS p ON q.CON_ID = p.PDB_ID;
检查配额使用率 >90%(预警)
SELECT * FROM (
SELECT NAME, USED_PERCENT, QUOTA_BYTES, BYTES
FROM V$ASM_QUOTAGROUP
) WHERE USED_PERCENT > 90;
查找PDB的配额组
SELECT q.NAME, q.QUOTA_BYTES, p.PDB_NAME
FROM V$ASM_QUOTAGROUP q
JOIN CDB_PDBS p ON q.CON_ID = p.PDB_ID
WHERE p.PDB_NAME = 'PDB_PROD';
修改配额组限额
ALTER DISKGROUP DATA MODIFY QUOTAGROUP pdbsales QUOTA '20T';
注意事项
- 权限要求:查询
V$ASM_*视图需SYSASM或SYSDBA权限。 - 仅限ASM实例:该视图仅在ASM实例中有效,数据库实例中不可见。
- 配额生效范围:只限制新文件,已有文件不受影响(除非移动)。
- 嵌套配额:子配额组共享父配额限额(需谨慎设计层级)。
通过合理利用
V$ASM_QUOTAGROUP,可有效实现ASM存储资源的精细化管控,尤其适用于云数据库和多租户环境。
欢迎关注我的公众号《IT小Chen》

被折叠的 条评论
为什么被折叠?



