• 第05讲.oracle用户管理综合案例


    第05讲.oracle用户管理综合案例

    删除用户

    概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有 drop user的权限。

    比如:drop user 用户名 [cascade]

    当我们删除一个用户的时候,如果这个用户自己已经创建过数据对象,那么我们在删除用户的时候,需要加选项 cascade,表示把这个用户删除同时,把该用户的数据对象一并删除。


    用户管理的综合案例

    概述:创建的新用户是没有任何权限的,甚至连登录的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令 revoke。

    基本语法:grant 权限/角色 to 用户

    为了给讲清楚用户的管理,这里我给大家举一个案例。

    创建一个用户 xiaohong,然后给她分配两个角色,可以让 xiaohong 登录,创建表,可以操作(crud)自己创建的表,然后回收角色,最后删除用户。

    1)使用 system 创建 xiaohong

    • create user xiaohong identified by m123;

    2)给 xiaohong 分配两个常用角色

    • grant connect to xiaohong;
    • grant resource to xiaohong;

    3)让 xiaohong 登录

    • connect xiaohong/m123

    4)xiaohong 修改密码

    • password xiaohong

    5)xiaohong 创建一张最简单的表

    • create table users(id number);
    • insert into users values(1);
    • select * from users;

    6)使用 system 登录,然后回收角色

    • revoke connect from xiaohong;
    • revoke resource from xiaohong;

    7)删除用户

    • drop user xiaohong cascade;

    方案(schema)

    理解:当一个用户创建好后,如果该用户创建了任意一个数据对象,这时,我们的DBMS就会创建一个对应的方案与该用用户对应,并且该方案的名字和用户名一致。


    方案这个概念的实际运用

    要求:让 xiaohong 用户可以去查询 scott 的 emp 表

    1)先用 scott 登录

    • conn scott/tom

    2)赋予权限

    • grant select[update|delete|insert|all] on emp to xiaohong;

    xiaohong 查询 scott 的 emp 表时,需要

    • select * from scott.emp;
  • 相关阅读:
    利用idea里面的mysql插件进行导入sql文件
    JSTL标签
    deepin20系统下配置JAVA开发环境
    deepin20安装及问题解决
    SpringBoot 在项目启之后执行自定义方法的两种方式
    Nick 的经验书
    Java 经验书
    SpringBoot 经验书
    Linux 经验书
    在MacOS中启动SSH服务
  • 原文地址:https://www.cnblogs.com/zhangsonghui/p/13458198.html
Copyright © 2020-2023  润新知