身份验证:
1、密码验证:用户视图连接数据库时,数据库会核实用户名是否是有效的数据库账户,并且密码是否和数据库中存储的密码箱匹配
2、外部验证:用户视图连接数据库时,数据库会核实用户名书否是一个有效的用户并且确认用户已经完成了操作系统级别的身份验证
3、全局验证:用户不在数据库中存储验证密码,而是通过身份验证服务进行
查看用户 select * from dba_users;
创建用户:
create user leiguoxin identified by 123
default tablespace users
temporary tablespace temp
quota 10m on tbsp_1; //在tbsp_1表空间上最大配额为10m(数据对象最多10m)
修改用户:语法与创建用户差不多
alter user leiguoxin identified by 123;
锁定账户:alter user leiguoxin account lock;
解锁账户:alter user leiguoxin account unlock;
删除用户:
drop user leiguoxin [cascade]
当该用户创建了数据对象时无法删除用户,要使用cascade级联删除用户和该用户的数据对象
角色:
角色是一个独立的数据库实体,是包括一个或者多个权限的集合,角色可以赋予任何角色,页可以将角色收回。
优点:通过改变角色的权限,就可以实现多个用户的权限的改变(不用多个用户一个一个地改变)
预定义角色:数据库安装完成后系统自动创建的角色,这些角色已经被系统授予了相应的系统权限。可以将这些角色授予用户,用户便具有角色包含的系统权限。
常用的系统预定义角色:
1、CONNECT
2、RESOURCE
3、DBA
4、EXP_FULL_DATABASE
5、IMP_FULL_DATABASE
创建角色与授权:
connect system/123 //连接数据库
create role designer indentified by 123
为角色授权:
grant create view,create table to designer;
将角色授予用户:
grant disingner to leiguoxin;
管理角色:查询、修改、删除
查询角色具有的权限:select * from role_sys_privs where role='DESINGER';
修改角色密码:alter role designer not identified;(取消密码)
alter role deisigner identified by 123;
设置角色生效:set role designer identified by 123;
只有角色生效,角色的权限才能被授予的用户使用
角色与权限的查询:创建角色和用户后,给角色和用户授予的权限被记录在Oracle的数据字典中。
我们需要知道角色被授予哪些权限以及用户被授予了哪些权限和角色