as sysdba 就是以sysdba登录,oracle登录身份有三种:
normal 普通身份
sysdba 系统管理员身份
sysoper 系统操作员身份
每种身份对应不同的权限

sysdba权限:
●启动和关闭操作
●更改数据库状态为打开/装载/备份,更改字符集
●创建数据库
●创建服务器参数文件spfile
●日志归档和恢复
●包含了“会话权限”权限

sysoper权限:
●启动和关闭操作
●更改数据库状态为打开/装载/备份
●创建服务器参数文件SPFILE
●日志归档和恢复
●包含了“会话权限”权限

请关注2个视图:dba_role_privs与 v$pwfile_users。

言简意赅的说下就是 dba跟dba_role_privs有关,而sysdba跟v$pwfile_users有关
下面引用下csdn一网友的小实验:

1. 物理上的role dba 是可以在数据字典里查到的 
SQL> select * from dba_roles where upper(role) = ‘DBA’;

ROLE                          PASSWORD 
—————————— ——– 
DBA                            NO

而sysdba是概念上的role在数据字典里是查不到的

SQL> select * from dba_roles where upper(role) = ‘SYSDBA’; 
no rows selected

2. grant dba 和grant sysdba的差别 
dba是正真的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了

SQL>  grant dba to testuser; 
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’; 
GRANTEE                        GRANTED_ROLE                  ADM DEF 
—————————— —————————— — — 
TESTUSER                      RESOURCE                      NO  YES 
TESTUSER                      CONNECT                        NO  YES 
TESTUSER                      DBA                            NO  YES 
SQL>  revoke dba from testuser; 
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’; 
GRANTEE                        GRANTED_ROLE                  ADM DEF 
—————————— —————————— — — 
TESTUSER                      RESOURCE                      NO  YES 
TESTUSER                      CONNECT                        NO  YES

对于sysdba是不会出现这个情况的,因为他不是正真的role 
SQL> grant sysdba to testuser; 
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’; 
GRANTEE                        GRANTED_ROLE                  ADM DEF 
—————————— —————————— — — 
TESTUSER                      RESOURCE                      NO  YES 
TESTUSER                      CONNECT                        NO  YES

那么这个是sysdba是这么记录的
sysdba是登录时候需要的他是和remote_login_passwordfile关联的 
我们可以查询v$pwfile_users; 
如下: 
SQL> select * from v$pwfile_users; 
USERNAME                      SYSDB SYSOP 
—————————— —– —– 
SYS                            TRUE  TRUE 
SYSTEM                        TRUE  FALSE 
TESTUSER                      TRUE  FALSE 
当你grant sysdba后,在这里就多了一条 
下面我们revoke一下,再来看 
SQL> revoke sysdba from testuser; 
SQL> select * from v$pwfile_users; 
USERNAME                      SYSDB SYSOP 
—————————— —– —– 
SYS                            TRUE  TRUE 
SYSTEM                        TRUE  FALSE

消失了对吧。

所以在这里dba和sysdba是根本不同概念了。

normal 普通身份 sysdba 系统管理员身份 sysoper 系统操作员身份 dba和sysdba的更多相关文章

  1. Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别

    sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己 ...

  2. 【转】Oracle Sys和system用户、sysdba 和sysoper系统权

    一:最重要的区别,存储的数据的重要性不同 [sys]所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更 ...

  3. 翻译Oracle文档--SYSDBA和SYSOPER系统权限

    SYSDBA和SYSOPER是管理权限,被用户来执行高级管理操作例如:创建 开启/关闭 备份/恢复 数据库.SYSDBA系统权限是针对想给予完全授权的数据库管理员SYSOPER系统权限允许一个用户执行 ...

  4. Windows系统HTTP身份验证方法

    当Windows客户端尝试使用HTTP协议访问基于Web的资源时,会在客户端和服务器之间建立"对话".换句话说,服务器告诉客户端,访问资源之前进行身份验证 ,并且服务器还告诉客户端 ...

  5. Win7系统管理员设置了系统策略,禁止进行此安装,怎么办

    系统管理员设置了系统策略,禁止进行此安装,怎么办 最佳答案 尝试方法一:   windows开始菜单,运行里面输入gpedit.msc打开组策略,   在"计算机配置"→管理模板→ ...

  6. Win7 系统管理员设置了系统策略_禁止进行此安装_怎么办

    系统管理员设置了系统策略,禁止进行此安装,怎么办 最佳答案 尝试方法一:   windows开始菜单,运行里面输入gpedit.msc打开组策略,   在"计算机配置"→管理模板→ ...

  7. SYS与SYSTEM、DBA与SYSDBA的区别

    SYS与SYSTEM: 1. sys 的角色是sysdba system 的角色是sysoper 2. sys 具有create database的权限 system没有该权限 3. sys可以建数据 ...

  8. Oracle开发:dba和sysdba的区别

    oracle dba和sysdba的区别如下: 1.dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已.而且,dba是 ...

  9. ASP.NET Core - 基于IHttpContextAccessor实现系统级别身份标识

    问题引入: 通过[ASP.NET Core[源码分析篇] - 认证]这篇文章中,我们知道当请求通过认证模块时,会给当前的HttpContext赋予当前用户身份标识,我们在需要授权的控制器中打上[Aut ...

随机推荐

  1. linux下安装redis及PHP扩展应用

    一.redis安装 1 下载redis安装包 wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz (若无法下载请手动下载) 2 编译安 ...

  2. maven pom.xml指定jdk

    <plugins> <!-- 指定jdk --> <plugin> <groupId>org.apache.maven.plugins</grou ...

  3. 【linux】netstat 详解

    Linux netstat命令用于显示网络状态. 利用netstat指令可让你得知整个Linux系统的网络情况. 在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访 ...

  4. Redis 的Hashs(哈希表)数据类型

    在Memcached中,我们经常将一些结构化的信息打包成hashmap,在客户端序列化后存储为一个字符串的值,比如用户的昵称.年龄.性别.积分等,这时候在需要修改其中某一项时,通常需要将所有值取出反序 ...

  5. css中的单位和css中的颜色表示方法

    css中颜色的表示方式: 图片来源http://www.w3school.com.cn

  6. CSS基础语法与选择器

    CSS基础 语法 : <head> <style type="text/css"> 选择器(即修饰对象){ 修饰属性:属性值; 修饰属性:属性值; } &l ...

  7. 数据结构复习之C语言malloc()动态分配内存概述

    #include <stdio.h> #include <malloc.h> int main(void) { ] = {, , , , }; // 计算数组元素个数 ]); ...

  8. wxpython wx.windows的API

    wx.Window is the base class for all windows and represents any visible object on screen. All control ...

  9. 获取apk package name(包名)以及activity name

    通过adb 查看最上层成activity名字: linux: adb shell dumpsys activity | grep "mFocusedActivity" window ...

  10. django模型详解(四)

    1 概述 (1)概述 : Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API,根据不同的业务需求选择不同的数据库 (2)定义模型 模型,属性,表,字段间的关系 一 ...