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

  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. C#基础知识之Sender

    /// <summary> /// sender就是事件发起者,e存储事件发起者的一些参数 /// 例如: /// private void button1_Click(object se ...

  2. Mybatis基础核心类说明

    1:  org.apache.ibatis.mapping.ParameterMapping 为Mybatis参数的抽象表示,包括Java类型与数据库类型以及类型处理器属性名字等等!! 例如: 其中i ...

  3. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  4. 在新建的python3环境下运行jupyter失败的原因

    在deeplearning中再运行jupyter notebook就出现了错误: (deeplearning) userdeMBP:~ user$ jupyter notebook -bash: ju ...

  5. Spring Security(五):2.2 History

    Spring Security began in late 2003 as "The Acegi Security System for Spring". A question w ...

  6. c++面经积累<1>

    引用和指针 指针是一个实体,需要分配内存空间,而引用只是一个别名,不需要分配内存空间 指针可以有多级,而引用只能有一级. 指针和引用的自增运算不一样,指针是指向下一个空间,而引用是引用的变量值增加 s ...

  7. Django:安装和启动

    最近在学习利用python语言进行web站点开发,使用的框架是Django.这篇博客主要介绍Django的安装和简单使用. 一.Django介绍 Django是一个开源的Web应用框架,由Python ...

  8. Docker镜像存储-overlayfs

    一.概述 Docker中的镜像采用分层构建设计,每个层可以称之为“layer”,这些layer被存放在了/var/lib/docker/<storage-driver>/目录下,这里的st ...

  9. Java多线程学习(一)---并发与多线程

    Java并发与多线程 摘要: 1. 并发与并行的区别,何为并发编程,并发编程的优势在哪 2. 多线程.多任务.多进程机制概述 3. 多线程.多任务.多进程机制与编程思想的关系 一.并发 1.1 并发与 ...

  10. Nginx学习之如何搭建文件防盗链服务

    前言 大家都知道现在很多站点下载资料都是要收费的,无论是积分还是金币,想免费只能说很少很少了,那么这些网站是如何做到资源防盗链的呢? 这里推荐一款比较容易上手的神器,Nginx本身提供了secure_ ...