Oracle中sys和system用户的区别

1.数据库的启动需要以SYSDBA/SYSOPER身份登录。

2.如果在同一主机上使用IPC连接到数据库使用操作系统授权,登录任何一个用户都可以拥有as sysdba和as sysoper。

3.sys和system用户的区别

    SYS用户具有DBA权限,并具有SYS模式。只能通过SYSDBA登录数据库,是Oracle数据库中权限最高的帐号。sys用户具有“SYSDBA”和“SYSOPER”权限,登陆em时也只能用这两个身份,不能用normal。而system登录em时只能用normal模式登录。sys拥有数据字典(dictionary),或者说dictionary属于sys schema。

    system用户具有DBA权限,但是没有SYSDBA权限。平常一般用该帐号管理数据库。登录em时只能使用normal登录。 

4.SYSDBA权限和SYSOPER权限区别

    “SYSOPER”权限,即数据库操作员权限,sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public。权限包括:打开数据库(STARTUP, ALTER DATABASE OPEN/MOUNT/OPEN),服务器(CREATE SPFILE,etc)

  关闭数据库服务器 
  备份数据库 
  恢复数据库RECOVERY 
  日志归档ARCHIVELOG 
  会话限制RESTRICTED SESSION

    “SYSDBA”权限,即数据库管理员权限,最高的系统权限。任何具有sysdba登录后用户是“SYS”。权限包括:管理功能, 创建数据库(CREATE DATABASE)以及 “SYSOPER”的所有权限

      其他用户需要手动grant权限,show user为该用户的名称。

SQL>conn / as sysdba 
已连接。 
SQL>grant sysoper to test; 
授权成功。 
SQL>grant sysdba 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>conn test/test; 
已连接。 
SQL>show user 
USER 为"test"

5.dba和sysdba的区别:

    sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库。

    只有在数据库完全启动后,dba角色才有了存在的基础.

posted @   chengeng  阅读(7201)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示