首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Oracle中,DBA、SYSDBA、SYSOPER角色和SYS系统用户之间的关系如何?

在Oracle中,DBA、SYSDBA、SYSOPER角色和SYS系统用户之间的关系如何?
EN

Database Administration用户
提问于 2021-03-19 19:10:27
回答 1查看 1.5K关注 0票数 1

我不知道我是否正确地理解了这些内置角色和用户的特权,但这是我发现的信息列表:

  • DBA和SYSDBA角色使您能够完成所有操作。如果这是真的,那为什么同一件事有两个名字呢?
  • SYSOPER角色使您除了访问用户的数据之外,可以做任何事情;
  • SYS用户有DBA和SYSDBA角色,所以他们可以做任何事情;
  • 系统用户具有DBA角色,因此他们似乎可以做任何事情,但我读到他们不能进行备份、恢复和DB升级。

我的理解正确吗?

EN

回答 1

Database Administration用户

发布于 2021-03-19 20:34:20

我认为DBA和SYSDBA角色能够完成所有事情--如果这是真的,那么为什么同一件事情有两个名称呢?

他们不是一回事。SYSDBA本身并不是一个角色,而是一个特殊的特权。它赋予了被授权人最终的权限,包括发出关机和启动命令的能力,覆盖了其他一些限制,以及一些逃避我的其他项目。与角色不同,当一个角色被授予SYSDBA时,它们被添加到密码文件(数据库的外部)中,允许它们通过网络连接到空闲实例。

DBA只是一个角色。虽然它是默认创建的,并在默认情况下分配给用户系统,但它与您可能创建和分配特权的任何角色根本没有什么不同。虽然不建议添加或删除privs,但是没有什么可以阻止您这样做。

SYSOPER角色允许做任何事情,除了访问用户的数据,

与SYSDBA一样,SYSOPER不是一个角色,而是一个特殊的硬编码特权。在我的头上,我不记得那些限制,但它的主要目的是允许授予的用户关闭和启动的能力,而不给予它许多其他的特权。在默认情况下,它不会授予任何人,在我的整个职业生涯中(在小商店工作,最多有3个DBA),我从来没有理由给予它。

SYS用户有DBA和SYSDBA角色,所以他可以做任何事情,

是。

系统用户有DBA角色,所以他似乎可以做任何事情,但我读到他不能做备份、恢复和DB升级。

如果没有被授予SYSDBA或SYSOPER (他不应该这样做),他就不能停止或启动实例。如果无法停止实例,则无法执行升级或恢复。他可以执行在线备份(如果数据库处于存档模式),因为这不需要关闭。但有什么意义呢?

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/287356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档