用户管理是系统管理员最基本的任务之一,用户想要连接数据库并且使用相应的系统资源就必须是系统的合法用户且具有对应的权限。

  1 创建用户

default tablespace default_tablespace
temporary tablespace temp;

创建用户时限制用户对空间的使用量

default tablespace default_tablespace
temporary tablespace temp02
quota 20m on default_tablespace;

2 修改用户

2.1 修改密码

alter user test2 identified by 12345678;

2.2 修改用户磁盘使用量

alter user test2 quota 50m on default_tablespace;

2.3 解锁用户

alter user test2 account unlock/lock;

3 删除用户

drop user test2 cascade; cascase 级联删除,如果用户包含数据库对象,则必须加此关键字才能删除该用户

4 权限管理

用户成功创建之后没有任何权限,不能登录数据库,更不能对数据进行任何操作,只有当被赋予一定的权限之后才能使用。

4.1 授权操作

grant connect, resource to test2;   -- 系统权限

grant select, update, delete on scott.emp to test2;  --对象权限 

4.2  回收权限

revoke connect, resource from test2;   -- 系统权限

revoke select, update, delete on scott.emp from test2; --对象权限

 

4.3 查询用户与权限

DBA_USERS      数据库用户基本信息

DBA_SYS_PRIVS   已授予用户或角色的系统权限

DBA_TAB_PRIVS   数据库对象上的所有的权限

USER_SYS_PRIVS   用户可以查看的自己的系统权限

ROLE_SYS_PRIVS   用户可以查看的自己的角色

ALL_TABLES     用户可以查询的基表信息

USER_TAB_PRIVS  用户将自己的对象权限授予情况

ALL_TAB_PRIVS   哪些用户给自己授权

5 角色管理

角色是一个独立的数据库实体,它包含一组权限,是一个权限或者多个权限的集合,它不属于某个单独用户,可以被授权给任何用户,也可以被收回。当某一些权限需要被经常授权给多个用户时,就可以把这些权限创建成一个角色授权给用户,这样就不必一一授权。角色的存在非常方便数据管理员对系统权限与对象权限的管理。

5.1 预定义权限

系统预定义角色指在数据库安装完成后系统自动创建的一些常用角色,这些角色的已由系统授予对应的权限,可以由数据库管理员直接使用。常见的预定义权限如下:

connect

resource

dba

exp_full_database

imp_full_database

角色connect, resource, dba 主要用于数据库管理,这些角色之间互相没有包含关系,互相独立。数据库管理员需要被赋予这3个角色,一般的开发人员需要被赋予connect, resource角色。

角色exp_full_database, imp_full_database 是用于操作数据库的导入与导出的权限集合,在使用expdp, impdp 或者系统的exp, imp这些工具时,需要具备这两个角色才有权限进行操作。

查看系统预定义角色:

select *
from dba_roles;

5.2 创建角色与授权

创建角色role_test1

create role role_test1 identified by 123456;

给角色授对象权限,将emp与dept的select, update, insert 权限赋予角色role_test1

grant select, update, insert on scott.emp to role_test1;
grant select, update, insert on scott.dept to role_test1;

给角色授予系统权限或者预定义角色(connect, resource 角色包含多个系统权限)

grant connect, resource to role_test1;

将角色role_test1 授予用户test1

grant role_test1 to test1;

查看自己的对象权限与系统权限

select *
from user_tab_privs;

select *
from role_sys_privs;

查看角色具有的预定义角色

select *
from dba_role_privs
where grantee='ROLE_TEST1';

查看用户具有的对象权限

select *
from dba_tab_privs
where grantee='TEST1';

5.3 删除角色

drop role role_test1;

Oracle 用户管理与权限分配的更多相关文章

  1. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  2. Mysql用户管理及权限分配

    早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...

  3. 吴裕雄--天生自然ORACLE数据库学习笔记:用户管理与权限分配

    create user mr identified by mrsoft default tablespace users temporary tablespace temp; create user ...

  4. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  5. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  6. Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理

    1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...

  7. Oracle 用户、对象权限、系统权限

    --================================ --Oracle 用户.对象权限.系统权限 --================================  一.用户与模式 ...

  8. Oracle—用户管理的完全恢复(一)

    一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...

  9. 四、oracle 用户管理(Profile)

    oracle 用户管理 :profile + tablespace + role + user  一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...

随机推荐

  1. [WeChall] Training: Encodings I (Training, Encoding)

    Training: Encodings I (Training, Encoding) We intercepted this message from one challenger to anothe ...

  2. own address as source address

    1222.762730] br0: received packet on nbif0 with own address as source address[ 1222.769697] br0: rec ...

  3. postgreSQL 应用case when的例子

    selectname,md5(indvl_id_nbr) as indvl_id_nbr,case when char_length(indvl_id_nbr)=18 or char_length(i ...

  4. visual studio发布到远程服务器的IIS

    visual studio发布到远程服务器的IIS 1.打开项目,选中发布的项目. 2.右键发布的项目,点击菜单中的“发布”,弹出发布配置窗体,如下图 3.选择“自定义”,如下图 4.填写发布配置的名 ...

  5. 安装NVIDIA

    安装NVIDIA显卡驱动 $ ubuntu-drivers devices; $ sudo apt install nvidia-340 (安装指定版本) 重启系统: $ nvidia-smi (查看 ...

  6. Egg入门学习(一)

    一:什么是Egg? 它能做什么?Egg.js是nodejs的一个框架,它是基于koa框架的基础之上的上层框架,它继承了koa的,它可以帮助开发人员提高开发效率和维护成本.Egg约定了一些规则,在开发中 ...

  7. 【LOJ 2145】「SHOI2017」分手是祝愿

    LOJ 2145 100pts 这题...BT啊 首先我们很容易想出\(dp(msk)\)表示现在灯开关的情况是\(msk\),期望通过多少步走到终结态. 很明显\(dp(msk)=\frac{1}{ ...

  8. python魔法方法、构造函数、序列与映射、迭代器、生成器

    在Python中,所有以__双下划线包起来的方法,都统称为"魔术方法".比如我们接触最多的__init__,魔法方法也就是具有特殊功能的方法. 构造函数 构造函数不同于普通方法,将 ...

  9. D. Artsem and Saunders

    一个变换题 给定f(x),[1,n]->[1,n] 构造g(x),h(x)满足: g(h(x))=x [1,n]->[1,m] h(g(x))=f(x) [1,m]->[1,n] 根 ...

  10. KNN-笔记(1)

    1 - 背景 KNN:k近邻,表示基于k个最近的邻居的一种机器学习方法.该方法原理简单,构造方便.且是一个非参数化模型. KNN是一个"懒学习"方法,也就是其本身没有训练过程.只有 ...