当前位置:Gxlcms > 数据库问题 > oracle-用户管理与权限分配

oracle-用户管理与权限分配

时间:2021-07-01 10:21:17 帮助过:36人阅读

 

修改用户:alter...

1.修改用户的磁盘配额

alter user east quota 20m on tbsp_1;

2修改用户的口令

alter user east identified by 123456;

3.解锁被锁住的用户

alter user SH account unclock;

 

删除用户

drop user df cascade

cascade:级联删除,如果用户包含数据库对象,则必须加cascade,此时连同该用户所拥有的对象一起删除

 

用户权限管理

  在创建了用户之后,只是在Oracle中进行了注册,这样的用户不能连接到数据库,必须让具有DBA角色的用户对该用户进行授权

权限分类:

  系统权限--系统级对数据库进行存取和使用的机制,SESSSION,DDL(CREATE,ALTER,DROP)...

  对象权限--某一用户对其他对象用户的表、视图、序列、存储过程、函数、包等的操作权限。不同类型的对象具有不同的对象权限,对于某些模式对象,比如簇、索引、触发器、数据库连接等没有相应的实体权限,这些权限由系统权限进行管理。

 

授权操作

  system_privilege_map数据目录视图

--with admin option

  表示被授权者可以再将权限授予另外的用户

如:为用户east 授予连接和开发系统权限,并尝试使用east连接数据库:

grant connect,resource to east;

 

如:在创建用户dongfang和xifang后,首相system将创建session和table的权限授给dongfang,然后dongfang再将这两个权限传递给xifang,最后通过xifang用户创建一个数据表

create user dongfang identified by mrsoft default tablespace users quota 10m on users;

create user xifang identified by mrsoft default tablespace users quota 10m on users;

grant create session,create table to dongfang with admin option;

connect dongfang/mrsoft

grant create session,create table to xifang

connect xifang/mrsoft

create table tb_xifang

(

id number,

name varchar2(20)

);

 

回收系统权限

 

使用revoke命令可以撤销用户不必要的系统权限

如:revoke resource from east

  如果DBA用grant命令给用户A授予系统权限带有with admin option,则该用户A有权将系统权限再次授予另外的用户B。在这种情况,如果DBA使用revoke命令撤销用户A的系统权限,则用户B的系统权限仍然有效

 

对象授权

如:给用户xifang授予select ,insert,delete 和update表soctt.emp的权限

grant select,insert,delete,update on scott.emp to xifang

 

回收对象权限

 

如:revoke delete,update on scott.emp from xifang;

  和授权系统权限不同,如果是wiht admin option授权的用户,会级联回收其他用户

 

查询用户与权限

数据字典名称 说明
dba_users 数据库用户基本信息表
dba_sys_privs 已授予用户或角色的系统权限
dba_tab_privs 数据库对象上的所有权限
user_sys_privs 登录用户可以查看自己的系统权限
role_sys_privs 登录用户查看自己的角色
all_tables 用户可以查看自己的角色
user_tab_privs 用户自己将哪些基表权限授予哪些用户
all_tab_privs 哪些用户给自己授权

 

角色管理

 

  角色是一个独立的数据库实体,它包括一组权限。也就是说,角色是包括一个或多个权限的集合,它并不被哪个用户所拥有。角色可以被授予任何用户,与可以从用户中将角色收回

预定义角色

  在数据库系统完成后,由系统自动创建的。

connect

resource

dba

exp_full_database--操作数据库的导出工具

imp_full_database--操作数据库的导入工具

一般数据库管理员分别授予connect,resource,dba

数据库开发人员:connect resource

 

创建角色与授权

--identified by exeternally:表示角色名在操作系统下验证

--identified by globally:表示用户是Oracle安全域中心服务器来验证,此角色由全局用户来使用

如:创建一个名为designer角色,该角色的口令为123456:

create role designer identified by 123456;

grant create view,create table to designer

把角色授给某个用户

grant designer to dongfang;

 

管理角色

1.查看角色所包含的权限

  role_sys_privs

如:select * from role_sys_privs where role=‘DESIGNER‘;

2.修改角色密码

--取消密码:alter role designer not identified;

--修改角色密码:alter role designer identified by mrsoft;

 

3.设置当前用户要生效的角色

如:set role  designer (identified by mrsoft)

 

4.删除角色

如:drop role queryer

 

角色与权限的查询

DD--dba_col_privs

  数据库列上的所有权限

DD--session_roles

  当前用户所有有效权限

 

 

 

                                                                

 

          

 

oracle-用户管理与权限分配

标签:

人气教程排行