ORACLE - 用户和角色的权限管理

在ORACLE中,建立用户后须要受权才能使用。数据库

1、用户管理session

1. 用户和角色信息查询ide

--查询全部用户
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. 受权、锁定与解锁、密码更变、用户删除、权限回收等spa

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;code

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

--删除用户,同时删除用户下面的全部表
drop user scott cascade;blog

--权限回收ci

revoke create table from scott cascade constraints;资源

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

建立用户时,没有指定资源配置,则自动设置为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;

 

 

2、角色管理


下面是数据库几种角色拥有的权限关系,能够用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;
相关文章
相关标签/搜索