设为首页 收藏本站
查看: 684|回复: 0

[经验分享] normal、sysdba、sysoper登陆oracle的区别理解(转载)

[复制链接]
YunVN网友  发表于 2016-8-13 07:10:04 |阅读模式
sys和system用户的区别
【system】用户只能用normal身份登陆em。
【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。
“SYSOPER”权限,即数据库操作员权限,权限包括:
打开数据库服务器   关闭数据库服务器
备份数据库       恢复数据库
日志归档         会话限制
“SYSDBA”权限,即数据库管理员权限,权限包括:
打开数据库服务器   关闭数据库服务器
备份数据库       恢复数据库
日志归档       会话限制
管理功能       创建数据库


normal 、sysdba、 sysoper有什么区别
normal 是普通用户
另外两个,你考察他们所具有的权限就知道了
sysdba拥有最高的系统权限
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
sysdba登陆后是 sys

SQL> conn / as sysdba
已连接。
SQL> grant sysoper to test;

授权成功。

SQL> conn test/test as sysoper;
已连接。
SQL> show user
USER 为"PUBLIC"
SQL> conn test/test as sysdba
已连接。
SQL> show user
USER 为"SYS"
SQL>

dba和sysdba的区别
dba、sysdba这两个系统角色有什么区别呢
在说明这一点之前我需要说一下oracle服务的创建过程
·创建实例
·启动实例
·创建数据库(system表空间是必须的)
启动过程
·实例启动
·装载数据库
·打开数据库

sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,
只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库
只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础!



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/VBEND/archive/2009/02/18/3904086.aspx





///////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////

看见Csdn的Oracle技术版块有人提出关于dba和sysdba的一些困惑,这里详细的介绍一下两者的区别。

dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。

所以说这两个概念是完全不同的。dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已。

下面我们通过详细的实例来看看他们的区别

1.
物理上的role dba 是可以在数据字典里查到的
SQL> select * from dba_roles where upper(role) = ‘DBA’;

ROLE                          PASSWORD
—————————— ——–
DBA                            NO

而sysdba是概念上的role在数据字典里是查不到的

SQL> select * from dba_roles where upper(role) = ‘SYSDBA’;
no rows selected

2.
grant dba 和grant sysdba的差别
dba是正真的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了

SQL>  grant dba to testuser;
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’;
GRANTEE                        GRANTED_ROLE                  ADM DEF
—————————— —————————— — —
TESTUSER                      RESOURCE                      NO  YES
TESTUSER                      CONNECT                        NO  YES
TESTUSER                      DBA                            NO  YES
SQL>  revoke dba from testuser;
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’;
GRANTEE                        GRANTED_ROLE                  ADM DEF
—————————— —————————— — —
TESTUSER                      RESOURCE                      NO  YES
TESTUSER                      CONNECT                        NO  YES

对于sysdba是不会出现这个情况的,因为他不是正真的role
SQL> grant sysdba to testuser;
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’;
GRANTEE                        GRANTED_ROLE                  ADM DEF
—————————— —————————— — —
TESTUSER                      RESOURCE                      NO  YES
TESTUSER                      CONNECT                        NO  YES

那么这个是sysdba是这么记录的叻,
我在一个文章和帖子里对对sysdba的登录有过详细的叙述
对了,sysdba是登录时候需要的他是和remote_login_passwordfile关联的
我们可以查询v$pwfile_users;
如下:
SQL> select * from v$pwfile_users;
USERNAME                      SYSDB SYSOP
—————————— —– —–
SYS                            TRUE  TRUE
SYSTEM                        TRUE  FALSE
TESTUSER                      TRUE  FALSE
当你grant sysdba后,在这里就多了一条
下面我们revoke一下,再来看
SQL> revoke sysdba from testuser;
SQL> select * from v$pwfile_users;
USERNAME                      SYSDB SYSOP
—————————— —– —–
SYS                            TRUE  TRUE
SYSTEM                        TRUE  FALSE

没有叻。

所以在这里dba和sysdba是根本不同概念了


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/inthirties/archive/2009/05/09/4159489.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257049-1-1.html 上篇帖子: Oracle CRM On Demand Integration Development 下篇帖子: oracle数据库左右内外连接 【回钦波详解】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表