Oracle开发:dba和sysdba的区别

 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角色才有了存在的基础!

原文地址:https://www.cnblogs.com/recognition/p/5388123.html