数据库权限管理

系统权限分类

注意,这里提到的都是"角色",而非“用户

DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
————————————————
版权声明:本文为CSDN博主「junmail」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/junmail/article/details/4381287

用户和角色

“角色”用于把权限分成预定义的组,并把这个组授予用户。

(Error:This picture is not found in the List!)>
Oracle安装会自动生成sys用户和system用户:

(1) sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install

(2) system用户是管理操作员,拥有次级权限。具有sysoper角色,没有create database的权限,默认的密码是manager

一般讲,对数据库维护,使用system用户登录就可以拉

也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。

dba权限的用户

注意,dba实际上是一种角色而非用户,我们所说的dba用户是指具有dba角色的数据库用户。特权用户可以执行启动实例,关闭实例等特殊操作,而dba用户只有在启动数据库后才能执行各种管理工作。

(相当于说dba连startup和shutdown这两个权限都没有)
————————————————
版权声明:本文为CSDN博主「还不算晕」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/haibusuanyun/article/details/11192187

DBA角色进行系统授权命令

最一开始有DBA角色的只有sys,system用户。之后我们可以给其他用户授予这些权限:

SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;

1569307904280
1569307926046
1569307945535

权限相关指令:

  1. 查询当前用户的系统权限:select * from session_privs;

1569308103403

  1. 查询当前用户的角色:select * from user_role_privs;

    1569308310324

查询权限分配情况

数据字典视图 描述

ROLE_SYS_PRIVS 角色拥有的系统权限

ROLE_TAB_PRIVS 角色拥有的对象权限

USER_TAB_PRIVS_MADE 查询授出去的对象权限(通常是属主自己查)

USER_TAB_PRIVS_RECD 用户拥有的对象权限

USER_COL_PRIVS_MADE 用户分配出去的列的对象权限

USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限

USER_SYS_PRIVS 用户拥有的系统权限

USER_TAB_PRIVS 用户拥有的对象权限

USER_ROLE_PRIVS 用户拥有的角色
————————————————
版权声明:本文为CSDN博主「可乐丶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013412772/article/details/52733050

猜你喜欢

转载自www.cnblogs.com/jiading/p/11747964.html