Oracle sys 和 system 用户、sysdba 和 sysopr 身份认证及 dba 角色权限的区别

文章目录

1 结论

1. sys 和 system 都是 Oracle '内置用户'
   但 sys ('超级用户') 的权限远大于 system ('一般管理员')   
2. sysdba 和 sysopr 是 'sys' 用户登录时 '用户身份验证' 的方式   
3. dba 是 Oracle 的 '角色权限'

 
 

2 详解

2.1 sys 和 system 用户区别

结论:sys 和 system 都是 Oracle '内置用户'
     且 sys ('超级用户') 的权限远大于 system ('一般管理员')
1. 可通过下面语句进行查询验证:
   select * from dba_users t where t.username in ('SYSTEM', 'SYS');       
2.  sys   :Oracle '超级用户',拥有最高权限。
            存储 Oracle 的数据字典的基表和视图,这些基表和视图对 Oracle 的运行是至关重要的,
            由数据库自己维护,任何用户都不能手动更改。               
    system:Oracle '一般 dba 用户',和其它用户授予 dba 角色权限后差不多
            存储次一级的内部数据,如:Oracle 的一些特性或工具的管理信息。
3. 权限比较:sys 远大于 system
   select t.grantee, count(1)
     from dba_sys_privs t
    where t.grantee in ('SYS', 'SYSTEM')
    group by t.grantee;

 
 

sys 和 system 所拥有的系统权限个数:
在这里插入图片描述

2.2 sysdba 和 sysopr 身份认证区别

结论:sysdba 和 sysopr 是 'sys' 用户登录时 '用户身份验证' 的方式
"sys"   : 只能以 'sysdba''sysopr' 身份登录
"system": 只能以 'normal' 身份登录,或者提升为 'sysdba'
说明    : (1) 若以 'sysdba' 方式认证,登录用户为 'SYS',为 Oracle '最高权限用户'
          (2) 若以 'sysopr' 方式认证,登录用户为 'PUBLIC',仅有 'PUBLIC 对象权限'

 
 

pl/sql 不同权限身份登录截图:
在这里插入图片描述

代码演示:将 system 提升为 sys 用户

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as system@orcl
SQL> conn system/system@orcl as sysdba -- 以 sysdba 身份登录
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as system@orcl AS SYSDBA
SQL> show user
User is "SYS"
SQL>

 
 

2.3 dba 角色权限

结论:dba 是 Oracle 的 '角色权限'
1. 下面语句进行查询验证:
   select * from dba_roles t where t.role = 'DBA';       
2. 查询拥有 dba 权限的用户
   select * from dba_role_privs t where t.granted_role = 'DBA';

 
 

拥有 dba 权限的用户:
在这里插入图片描述

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值