面试宝典:介绍下Oracle数据库动态性能视图 V$ASM_QUOTAGROUP

在这里插入图片描述
以下为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_NUMBERNUMBER磁盘组编号,关联 V$ASM_DISKGROUP.GROUP_NUMBER
QUOTAGROUP_NUMBERNUMBER配额组的唯一标识号(ASM内部生成)。
NAMEVARCHAR2配额组名称(用户创建时指定)。
BYTESNUMBER配额组当前已用空间(单位:字节)。
USED_PERCENTNUMBER已用空间占配额的百分比BYTES / QUOTA_BYTES * 100)。
QUOTA_BYTESNUMBER配额组的总空间限额(单位:字节)。
CON_IDNUMBER容器ID(CDB中关联的PDB ID;CDB$ROOT为1)。
FILE_COUNTNUMBER配额组中的文件数量
PARENT_QUOTAGROUPNUMBER父配额组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。
  • 文件归属:存储在配额组中的文件计入其BYTESFILE_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';

注意事项

  1. 权限要求:查询V$ASM_*视图需SYSASMSYSDBA权限。
  2. 仅限ASM实例:该视图仅在ASM实例中有效,数据库实例中不可见。
  3. 配额生效范围:只限制新文件,已有文件不受影响(除非移动)。
  4. 嵌套配额:子配额组共享父配额限额(需谨慎设计层级)。

通过合理利用V$ASM_QUOTAGROUP,可有效实现ASM存储资源的精细化管控,尤其适用于云数据库和多租户环境。

欢迎关注我的公众号《IT小Chen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值