魏_寒冰人

导航

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数据里并不存在。

posted on 2013-07-10 10:35  魏_寒冰人  阅读(2246)  评论(0编辑  收藏  举报