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

在这里插入图片描述

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

核心作用:管理ASM实例的用户认证和权限信息,控制对ASM磁盘组的管理访问。


1. 视图核心作用

  • 用户管理:显示ASM实例中定义的用户账户
  • 权限控制:展示用户的系统权限级别(SYSASM, SYSDBA, SYSOPER)
  • 安全审计:跟踪ASM用户访问和权限变更
  • 密码验证:管理用户密码状态(仅元数据,不存储实际密码)

📌 注意:ASM用户独立于数据库用户,仅用于ASM实例管理。


2. 关键使用场景

  1. 权限审计:检查哪些用户拥有ASM管理权限
  2. 安全加固:验证最小权限原则的实施
  3. 故障排查:诊断因权限不足导致的ASM操作失败
  4. 用户管理:创建/修改ASM用户后的确认
  5. 合规检查:满足安全审计要求

3. 字段详解 (Oracle 19c)

字段名数据类型说明
USER_NUMBERNUMBER用户唯一标识号(ASM内部生成)
USER_NAMEVARCHAR2(30)ASM用户名(不区分大小写)
USER_IDNUMBER操作系统用户ID(外部认证时使用)
PRIVILEGEVARCHAR2(10)权限级别SYSASM(推荐)/SYSDBA/SYSOPER
CONNECTABLEVARCHAR2(3)是否允许连接YES/NO
PASSWORDVARCHAR2(30)密码占位符(出于安全考虑,始终显示NULL
SYS_USERVARCHAR2(3)是否系统用户YES(如SYS用户)/NO
EXTERNAL_AUTHVARCHAR2(3)是否外部认证YES(OS认证)/NO(密码认证)

4. 相关视图与基表

关联视图
  • GV$ASM_USER:集群所有ASM实例的用户信息
  • V$PWFILE_USERS:显示密码文件中的用户(包含实际权限)
  • V$ASM_OPERATION:结合用户查看当前ASM操作
  • DBA_ASM_USERS(12c+):CDB中ASM用户视图
底层基表
  • X$KZUSR:ASM用户元数据存储表(需SYSASM权限访问)
    -- 查询基表示例(诊断用)
    SELECT * FROM X$KZUSR WHERE kzusrnum = 1;
    

5. 核心原理

权限层级
最高权限
受限权限
SYSASM
管理ASM实例
创建/删除磁盘组
管理文件模板
添加/删除磁盘
SYSOPER
启动/停止实例
挂载/卸载磁盘组
认证机制
  • 密码认证
    CREATE USER asmadmin IDENTIFIED BY "Password123" PRIVILEGE SYSASM;
    
  • 操作系统认证
    $ sqlplus / as sysasm  # 要求用户属于OSDBA/OSASM组
    
权限生效规则
  1. SYSASM > SYSDBA > SYSOPER
  2. 权限变更需重连ASM实例生效
  3. 密码修改立即生效

6. 常用操作SQL

查看所有ASM用户
SELECT 
    USER_NAME, 
    PRIVILEGE,
    EXTERNAL_AUTH,
    CONNECTABLE
FROM V$ASM_USER
ORDER BY USER_NUMBER;
检查SYSASM权限用户
SELECT USER_NAME 
FROM V$ASM_USER 
WHERE PRIVILEGE = 'SYSASM';
创建新ASM用户
CREATE USER asm_auditor IDENTIFIED BY "Secur3Pass" 
  PRIVILEGE SYSOPER;
修改用户权限
GRANT SYSASM TO asm_auditor;  -- 提升权限
REVOKE SYSASM FROM asm_auditor; -- 降级权限
删除用户
DROP USER asm_auditor;
跨视图权限验证
SELECT 
    u.USER_NAME,
    p.SYSASM, 
    p.SYSDBA,
    p.SYSOPER
FROM V$ASM_USER u
JOIN V$PWFILE_USERS p ON u.USER_NAME = p.USERNAME;

注意事项

  1. 默认用户
    • SYS用户默认拥有SYSASM权限
    • 新建ASM实例时自动创建
  2. 安全实践
    ALTER USER sys IDENTIFIED BY "NewStrongPass"; -- 定期修改SYS密码
    
  3. 权限最小化
    • 生产环境避免使用SYSDBA管理ASM
    • 优先使用SYSASM(Oracle推荐)
  4. 审计日志
    SELECT * FROM V$ASM_AUDIT;  -- 跟踪用户操作
    
  5. 集群同步
    • 用户变更自动同步到所有ASM实例
    • 使用GV$ASM_USER验证集群一致性

💡 最佳实践

  • 为不同管理员创建专属ASM用户(如asm_storage, asm_backup
  • 禁用默认SYS用户的远程登录
  • 定期审计V$ASM_USER并删除闲置账户

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值