zoukankan      html  css  js  c++  java
  • Oracle用户管理

    创建用户

    概述:在oracle中要创建一个新的用户使用create user 语句,一般是具有dba(数据库管理员)的权限才能使用。

    create user 用户名 identified by 密码;

    (Oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户)

    给用户修改密码

    概述:如果给自己修改密码可以直接使用

    password 用户名

    如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限

    SQL>alter user 用户名 identified by 新密码

    删除用户

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

    比如

    drop user用户名[cascade]

    在删除用户时,注意:

    如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade。

    用户管理的综合案例

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

    案例:

    SQL> conn xiaoming/m12;
    ERROR:
    ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
    警告: 您不再连接到 ORACLE。
    SQL> show user;
    USER 为 ""
    SQL> conn system/p;
    已连接。
    SQL> grant connect to xiaoming;
    授权成功。
    SQL> conn xiaoming/m12;
    已连接。
    SQL>
    注意:grant connect to xiaoming;

    在这里,准确的讲,connect 不是权限,而是角色。。 看图:

    现在说下对象权限,现在要做这么件事情:

    * 希望xiaoming 用户可以去查询emp 表
    * 希望xiaoming 用户可以去查询scott 的emp 表

    grant select on emp to xiaoming

    * 希望xiaoming 用户可以去修改scott 的emp 表

    grant update on emp to xiaoming

    * 希望xiaoming 用户可以去修改/删除,查询,添加scott 的emp 表

    grant all on emp to xiaoming

    * scott 希望收回xiaoming 对emp 表的查询权限

    revoke select on emp from xiaoming

    对权限的维护

    * 希望xiaoming 用户可以去查询scott 的emp 表/还希望xiaoming 可以把这个权限继续给别
    人。

    --如果是对象权限,就加入 with grant option
    
    grant select on emp to xiaoming with grant option

    我的操作过程:

    SQL> conn scott/tiger;
    已连接。
    SQL> grant select on scott.emp to xiaoming with grant option;
    授权成功。
    SQL> conn system/p;
    已连接。
    SQL> create user xiaohong identified by m123;
    用户已创建。
    SQL> grant connect to xiaohong;
    授权成功。
    SQL> conn xiaoming/m12;
    已连接。
    SQL> grant select on scott.emp to xiaohong;
    授权成功。

    如果是系统权限
    system 给xiaoming 权限时:

    grant connect to xiaoming with admin option

    问题:如果scott 把xiaoming 对emp 表的查询权限回收,那么xiaohong 会怎样?

    答案:被回收。
    下面是我的操作过程:

    SQL> conn scott/tiger;
    已连接。
    SQL> revoke select on emp from xiaoming;
    撤销成功。
    SQL> conn xiaohong/m123;
    已连接。
    SQL> select * from scott.emp;
    select * from scott.emp
    第 1 行出现错误:
    ORA-00942: 表或视图不存在

    结果显示:小红受到诛连了。

  • 相关阅读:
    jQuery(七) jQuery $(document).ready()和javaScript onload事件
    jQuery(六) jQuery修改class属性和CSS样式
    jQuery(五) jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解
    jQuery(四) jQuery操作DOM元素
    jQuery(三) jQuery选择器
    jquery(二) jQuery选取和操作元素的特点
    jquery(一) DOM对象与jQuery对象的转换与区别
    fastclick插件使用 移动端点击延时问题
    移动端click事件300毫秒延时解决
    返回顶部
  • 原文地址:https://www.cnblogs.com/hongmaju/p/4587690.html
Copyright © 2011-2022 走看看