0
点赞
收藏
分享

微信扫一扫

Oracle管理员用户及身份认证详解

M4Y 2022-01-18 阅读 145
👨‍🎓 博主介绍:
IT邦德,江湖人称jeames007,10年DBA工作经验
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、
Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证

擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,
安装迁移,性能优化、故障应急处理等。

文章目录

前言

针对Oracle管理员用户及身份认证,本文做了详细的阐述~

1.sys 和 system 用户区别

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

在这里插入图片描述

2.sysdba 和 sysoper 身份认证区别

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

在这里插入图片描述

3.如何将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"

4.dba 角色权限

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

在这里插入图片描述

举报

相关推荐

0 条评论