• Oracle 中 dba_*、all_*、user_* 之间的区别


    1. 结论:'权限大小不同': dba_* > all_* > user_*
       (1) dba_* : 可以访问 '数据库' 中所有的对象(前提:该用户是 dba 用户)
       (2) all_* :某一用户 '拥有' 的或 '可以访问' 的所有的对象
       (3) user_*:某一用户 '拥有' 的所有对象
    
    2. 查询是否是 dba 用户
       select * from dba_role_privs t where t.granted_role = 'DBA';
    -- 如:查询表定义信息
    select * from dba_tab_comments;
    select * from all_tab_comments;
    select * from user_tab_comments;
    
    
    若现在有两个普通用户 scott 和 hr,其中 hr 中存在表 jobs,以 scott 为例
    1. user_tab_comments 和 all_tab_comments '均无法查询' 到表 jobs
    
    2. 当 hr 将表 jobs 的 select 权限授予 scott 时
       (1) user_tab_comments 依旧查询不到表 jobs('表 jobs 不是 scott 拥有的对象')
       (2) all_tab_comments  中能够查询到表 jobs('授权,虽不拥有,但可以访问'3. system 是 'dba' 用户,可以访问任何对象(不需要授权, '我是老板,我很牛皮!'

  • 相关阅读:
    LeetCode Minimum Path Sum
    第六章-2-数组练习
    第六章-1-数组练习
    第五章-for循环的练习
    第四章:if else switch使用
    第三章
    实训篇-JavaScript-打地鼠
    实训篇-Html-注册页面【简单】
    实训篇-Html-计算器
    实训篇-JavaScript-陶渊明去没去过桃花源
  • 原文地址:https://www.cnblogs.com/javabg/p/14201703.html
Copyright © 2020-2023  润新知