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

在这里插入图片描述

Oracle 19c: V$ASM_TEMPLATE 动态性能视图详解

核心作用:管理ASM磁盘组中文件的存储属性模板,控制文件冗余(Redundancy)和条带化(Striping)策略。


1. 视图核心作用

  • 模板定义:存储ASM中各类文件(数据文件、日志文件等)的默认存储属性
  • 策略控制:决定文件在ASM磁盘组中的物理存储方式
  • 继承机制:新文件自动应用关联模板的属性
  • 系统/自定义模板:Oracle预定义模板 + 用户自定义模板

2. 关键使用场景

  1. 文件创建策略:控制新建文件的冗余级别(MIRROR/HIGH/UNPROT)和条带化(FINE/COARSE)
  2. 性能优化:为特定文件类型(如重做日志)配置细粒度条带化(FINE)提升I/O性能
  3. 存储管理:检查磁盘组中不同文件类型的存储策略
  4. 模板定制:创建符合业务需求的自定义存储模板
  5. 问题诊断:验证文件实际存储策略是否符合预期

3. 字段详解 (Oracle 19c)

字段名数据类型说明
GROUP_NUMBERNUMBER磁盘组编号,关联V$ASM_DISKGROUP.GROUP_NUMBER
TEMPLATE_NAMEVARCHAR2(30)模板名称(系统模板如DATAFILE/ONLINELOG或用户自定义名称)
REDUNDANCYVARCHAR2(7)冗余级别MIRROR(双向镜像)/HIGH(三向镜像)/UNPROT(无冗余)/PARITY(奇偶校验)
STRIPEVARCHAR2(6)条带化策略FINE(128KB条带)/COARSE(1MB AU条带)
PRIMARY_REGIONVARCHAR2(30)主存储区域(扩展磁盘组特性)
MIRROR_REGIONVARCHAR2(30)镜像存储区域(扩展磁盘组特性)
SYSTEMVARCHAR2(3)是否系统模板YES(Oracle内置)/NO(用户自定义)
INHERITEDVARCHAR2(3)是否继承父模板YES/NO

4. 相关视图与基表

关联视图
  • GV$ASM_TEMPLATE:集群所有实例的模板信息
  • V$ASM_DISKGROUP:磁盘组基础信息(GROUP_NUMBER关联)
  • V$ASM_FILE:查看文件实际使用的模板(TEMPLATE_NAME关联)
  • V$ASM_ALIAS:模板别名信息
底层基表
  • X$KFFTP:ASM实例内部表,存储模板元数据(需SYSASM权限访问)
    -- 基表查询示例
    SELECT * FROM X$KFFTP WHERE GROUP_KFFTP = 1;  -- 磁盘组1的模板
    

5. 核心原理

模板继承机制
graph TD
    A[磁盘组创建] --> B[加载系统默认模板]
    B --> C[DATAFILE/ONLINELOG/CONTROLFILE等]
    C --> D[用户创建新文件]
    D --> E{是否指定模板?}
    E -->|是| F[应用指定模板属性]
    E -->|否| G[应用文件类型默认模板]
策略生效规则
  • 冗余级别:必须 ≤ 磁盘组的冗余能力(例:EXTERNAL磁盘组不能使用HIGH冗余)
  • 条带化策略
    • COARSE:默认策略,按分配单元(AU)条带化(适合数据文件)
    • FINE:128KB条带化(适合重做日志,提升并发写入性能)
  • 模板绑定:文件创建后模板属性不可更改(除非重建文件)

6. 常用操作SQL

查看所有模板
SELECT 
    g.NAME AS disk_group,
    t.TEMPLATE_NAME,
    t.REDUNDANCY,
    t.STRIPE,
    t.SYSTEM
FROM V$ASM_TEMPLATE t
JOIN V$ASM_DISKGROUP g ON t.GROUP_NUMBER = g.GROUP_NUMBER
ORDER BY g.NAME, t.TEMPLATE_NAME;
创建自定义模板
ALTER DISKGROUP DATA ADD TEMPLAPE fast_log  
  ATTRIBUTES (
    REDUNDANCY HIGH,      -- 三副本镜像
    STRIPE FINE           -- 128KB细粒度条带
);
检查文件使用的模板
SELECT 
    FILE_NAME, 
    TEMPLATE_NAME,
    REDUNDANCY, 
    STRIPE 
FROM V$ASM_FILE 
WHERE GROUP_NUMBER = 1;
修改文件模板(需重建文件)
-- Step 1: 创建新文件并指定模板
ALTER DATABASE ADD LOGFILE '+DATA(fast_log)' SIZE 200M;

-- Step 2: 删除旧文件
ALTER DATABASE DROP LOGFILE '+DATA/old_logfile.log';
删除自定义模板
ALTER DISKGROUP DATA DROP TEMPLATE fast_log;

注意事项

  1. 系统模板保护
    • 预定义模板(DATAFILE/ONLINELOG等)不可删除
    • SYSTEM='YES'的模板属性不可修改
  2. 磁盘组兼容性
    • 使用PARITY冗余需磁盘组兼容性 ≥ 11.2.0.4
    • 区域存储(Region)需兼容性 ≥ 12.1
  3. 性能影响
    • FINE条带增加元数据开销,适合高频写入小IO场景
    • COARSE条带适合大块数据读写
  4. 权限要求
    GRANT SYSASM TO asm_admin;  -- 需SYSASM权限管理模板
    

通过合理配置V$ASM_TEMPLATE,可显著优化ASM存储性能(如日志文件用FINE条带+HIGH冗余,数据文件用COARSE条带)。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值