• ORACLE


    在ORACLE中,创建用户后需要授权才能使用。

    一、用户管理

    1. 用户和角色信息查询

    --查询所有用户
    SQL> select * from dba_users;
    
    --经授予的用户或角色的系统权限
    select * from dba_sys_privs;
    
    --数据对象上的所有权限
    SQL>select * from dba_tab_privs;
    
    --查看当前用户的权限和角色
    SQL>select * from user_sys_privs;
    SQL>select * from role_sys_privs;
    
    --查询自己把权限授予给其他用户情况
    SQL> select * from user_tab_privs;

    2. 授权、锁定与解锁、密码更变、用户删除、权限回收等

    grant  create session to name//创建session
    grant create table to name//创建表
    grant create view to name//创建视图
    grant unlimited tablespace to name//无表空间使用限制
    grant  dba to name//管理员授权

    --用户锁定/解锁
    alter user username account lock/unlock;

    --更变用户密码
    alter user username identified by yourpassword;

    --删除用户,同时删除用户下面的所有表
    drop user scott cascade;

    --权限回收

    revoke create table from scott cascade constraints;

    3. 用户资源配置(CPU/MEMORY等资源分配)

    创建用户时,没有指定资源配置,则自动设置为default。

    下面示例密码资源并分配给用户:

    SQL>create profile pro_name_xx limit password_reuse_max 30 password_reuse_time 100/unlimited;
    SQL>alter user scott profile  pro_name_xx;
    SQL>alter user scott profile  DEFAULT;
    SQL>drop profile pwd_profile;

    限制用户尝试登陆失败次数的资源:

    SQL> create profile limit_login_failure limit failed_login_attempts 3;

    二、角色管理


    下面是数据库几种角色拥有的权限关系,可以用select * from dba_roles查看所有角色 :

    名称

    脚本

    connect

    SQL.BSQ

    ALTER SESSION

    create cluster/database link/sequence/session/synonym/table/view

    resource

    SQL.BSQ

    create cluster/indextype/operator/producedure/sequence/table/tigger/type

    dba

    SQL.BSQ

    所有管理权限

    exp_full_database

    CATEXP.SQL

    导出权限:

    Select any table

    Backup any table

    Execute any producedure

    Execute any type

    …….

    imp_full_database

    CATEXP.SQL

    所有导入权限

    ......

    与角色相关的表如下:

    DBA_COL_PRIVS 数据库列上的所有权限
    DBA_ROLE_PRIVS 显示已经授予用户或其他角色的角色
    DBA_TAB_PRIVS 数据库对象上的所有权限
    DBA_SYS_PRIVS 已经授予用户或角色的系统权限

    1. 角色的创建、授权、修改与删除

    用户可自定义角色,然后授予上面的一个或者几个权限

    SQL>create roke xxx identified by xxx;  -- 可以为角色设置密码,更改和删除角色需要时需要输入密码才能执行。
    注:角色名与用户名是在同一个域中,不能重名。
    SQL
    >grant create session to role_xxx; -- 将创建会话权限授予角色role_xxx
    SQL
    >grant role_name to user_name; -- 将角色分配给用户
    SQL> revoke roke_r from scott;  -- 回收角色

      SQL>alter roke xxx not identified;

      SQL>alter user user_xxx default role roke_xxx;

      SQL> alter user user_xxx default role all expect role_xxx;

    SQL>drop role role_name;
  • 相关阅读:
    P2176 [USACO14FEB]路障Roadblock
    洛谷 P1187 3D模型
    洛谷 P2777 [AHOI2016初中组]自行车比赛
    洛谷P2896 [USACO08FEB]一起吃饭Eating Together
    洛谷P2983 [USACO10FEB]购买巧克力Chocolate Buying
    洛谷 P2858 [USACO06FEB]奶牛零食Treats for the Cows
    Restaurant
    OR in Matrix
    poj 3321Apple Tree
    Codeforces Round #204 (Div. 2) C. Jeff and Rounding
  • 原文地址:https://www.cnblogs.com/mikevictor07/p/4162967.html
Copyright © 2020-2023  润新知