oracle dba和sysdba的区别如下:
1、dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已。而且,dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。
2、SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的;
sysdba 是系统权限(例如登录qq,qq后台管理员启动qq程序),dba是用户对象权限(qq群主可以管理qq群如加人,减人,屏蔽人等);
在说明这一点之前我需要说一下oracle服务的创建过程- ·创建实例
- ·启动实例
- ·创建数据库(system表空间是必须的)
启动过程:
- ·实例启动
- ·装载数据库
- ·打开数据
sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,
只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础!