You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Oracle中仅分配给物化视图的权限?

获取仅分配给物化视图的权限查询语句

直接通过关联DBA_TAB_PRIVS和DBA_OBJECTS视图,筛选出对象类型为MATERIALIZED VIEW的权限记录,即可排除物化视图底层表的权限:

SELECT grantee, privilege, table_name, owner
FROM dba_tab_privs tp
INNER JOIN dba_objects o 
    ON tp.table_name = o.object_name 
    AND tp.owner = o.owner
WHERE o.object_type = 'MATERIALIZED VIEW';

如果需要排除系统自动生成的物化视图相关辅助表(比如物化日志表MLOG$_xxx、快速刷新表RUPD$_xxx),可以添加额外过滤条件:

SELECT grantee, privilege, table_name, owner
FROM dba_tab_privs tp
INNER JOIN dba_objects o 
    ON tp.table_name = o.object_name 
    AND tp.owner = o.owner
WHERE o.object_type = 'MATERIALIZED VIEW'
  AND tp.table_name NOT LIKE 'MLOG$_%'
  AND tp.table_name NOT LIKE 'RUPD$_%';

说明

  • DBA_OBJECTS中的OBJECT_TYPE = 'MATERIALIZED VIEW'确保只针对物化视图对象筛选权限
  • 关联条件tp.table_name = o.object_name AND tp.owner = o.owner保证权限记录和物化视图对象一一对应
  • 第二个查询的额外条件用于排除系统生成的辅助表,这些表不属于用户手动创建的物化视图

内容的提问来源于stack exchange,提问作者Anupam K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 09:25:32