SYS与SYSTEM、DBA与SYSDBA的区别

本文详细解析了Oracle数据库中SYS与SYSTEM、DBA与SYSDBA的区别。SYS拥有最高权限,可创建数据库和数据字典基表;SYSTEM权限次之,无法创建数据字典。SYSDBA是一种登录认证身份,具有数据库管理和恢复等特权,而DBA则是一种用户对象权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SYS与SYSTEM、DBA与SYSDBA的区别

SYS与SYSTEM:

  1. sys 的角色是sysdba system 的角色是sysoper

  2. sys 具有create database的权限 system没有该权限

  3. sys可以建数据字典的基表和视图,也能对其进行修改;system不能建数据字典的基表和视图.也不能对其进行修改

  4. sys、system都有dba权限

用QQ群作个比喻,sys就相当于群主,system就相当于群管理员。

DBA与SYSDBA:

SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。

SYSDBA身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的;

SYSDBA是系统权限,DBA是用户对象权限;

SYSDBA是管理Oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在。只有数据库打开了,或者说整个数据库完全启动后,DBA角色才有了存在的基础;(oracle服务的创建过程:创建实例-启动实例-创建数据库 启动过程:实例启动-装载数据库-打开数据库)

DBA是一种role对应的是对Oracle实例里对象的操作权限的集合,而SYSDBA是概念上的role是一种登录认证时的身份标识而已。而且,DBA是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而SYSDBA是指的一种概念上的操作对象,在Oracle数据里并不存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值