• Oracle(控制用户权限)


    权限允许用户访问属于其它用户的对象或执行程序,

    ORACLE系统提供权限:Object 对象级、System 系统级

    查看权限的数据字典:

    字典名 含义

    ROLE_SYS_PRIVS System privileges granted to roles

    ROLE_TAB_PRIVS Table privileges granted to roles

    USER_ROLE_PRIVS Roles accessible by the user

    USER_TAB_PRIVS_MADE Object privileges granted on the user's objects

    USER_TAB_PRIVS_RECD Object privileges granted to the user

    USER_COL_PRIVS_MADE Object privileges granted on the columns of the user's objects

    USER_COL_PRIVS_RECD Object privileges granted to the user on specific columns

    1.系统权限(系统权限是对用户而言):

    DBA拥有最高的系统权限:

    1,可以创建用户

    语法:create user username identified by password;

    例如:create user briup identified by briup;

    当用户创建成功之后,此用户什么权限都没有,甚至不能登录数据库。

    2. 赋予权限:

    一个用户应该具有的基本权限包含:

    CREATE SESSION

    CREATE TABLE

    CREATE SEQUENCE

    CREATE VIEW

    CREATE PROCEDURE

    如果有多个用户他们都具有相同的权限(create session,create table,create sequence),赋予权限的动作过于麻烦,要给每个用户分别制定这些权限,因此oracle提出角色的概念,可以将权限赋值给角色,然后再将角色赋值给用户。

    例如,我们当初在进行操作时写的:

    grant resource,connect to briup;

    此时resourceconnect就是角色。

    查询resource,connect 具有哪些权限可以使用:

    select privilege,role

    from role_sys_privs

    where role = 'CONNECT' or role ='RESOURCE';

    语法:

    grant xxxx to user_name ;

    例如:

    grant create view to briup;

    3.回收权限

    语法:revoke xxx  from user_name;

    例如:

      revoke create view from briup;

    4.修改密码:

    语法:alter user xxx identified by xxxx;

    例如:

    alert user briup identified by briup;

    5.删除用户:

    语法:drop user username [cascade];

    note: cascade:当用户下有表的时候,必须使用cascade级联删除。

    例如: drop user test cascade;

    2.对象权限(针对对象,类似表对象等)

    对象权限:select, update, insert, alter, index, delete, all  //all包括所有权限

    对象的 拥有者拥有所有的权限。

    1.给用户赋予操作对象的权限:

    GRANT object_priv [(columns)]

    ON object

    TO {user|role|PUBLIC}

    [WITH GRANT OPTION]; //允许分配到权限的用户继续将权限分配给其它用户

      例如:

    grant select on s_emp to jd1613;

    jd1613用户赋予在s_emp表上进行查询的权利。

    grant update(id) on s_emp to jd1613;

    jd1613赋予能够更新s_emp表上id列的权限。

    2.回收权限:同系统权限。

    语法:revoke xxx on obj from user;

    note: 通过with grant option赋予额权限也会被回收。

    例如:

     revoke select , update  on s_emp from jd1613;

    3.创建同义词: 相当于给对象起别名

    语法:create[public] synonym sy_name for obje_name;

    note:只有dba才有权利创建public的同义词

    例如:

    create synonym emp for s_emp;

    4.删除同义词:

    语法: drop synonym syn_name;

    例如:

    drop synonym emp;

    5.导出数据库

      exp,imp不属于sqlplus的命令,所以不是在sqlplus终端执行的。

      系统终端:exp userid=briup/briup full=y file=briup.dmp

      导入:imp userid=briup/briup full=y file=briup.dmp;

  • 相关阅读:
    php数组的循环遍历
    Mysql中的字符串函数
    关于给居于网络里面的计算机发送消息的问题
    WINDOWS系统服务详解
    GET DATA
    无法移动或重命名“Documents and Settings”文件夹
    瑞星升级包 下载网站
    ARP本机绑定 批处理
    如何获得各个运行进程的id
    如何通过程序知道有哪些计算机与自己的电脑连接
  • 原文地址:https://www.cnblogs.com/yzqm666/p/5886925.html
Copyright © 2020-2023  润新知