时间: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-用户管理与权限分配
标签: