--用户(user) SQL> --创建名叫 grace 密码是password 的用户,新用户没有任何权限 SQL> create user grace identified by password; 验证用户: 密码验证方式(用户名/密码) 外部验证方式(主机认证,即通过登陆的用户名) 全局验证方式(其他方式:生物认证方式、token方式) 优先级顺序:外部验证>密码验证 --权限(privilege) 用户权限有两种: System:允许用户执行对于数据库的特定行为,例如:创建表、创建用户等 Object:允许与用户访问和操作一个特定的对象,例如:对其他方案下的表的查询 SQL> --给grace用户授予系统权限 SQL> --create session SQL> grant create session to grace; SQL> --create table SQL> grant create table to grace ; SQL> --分配空间(修改用户grace的空间为不限制) SQL> alter user grace quota unlimited on users; SQL> --对象权限 SQL> --将当前用户emp表的查询的权限授予grace用户 SQL> grant select on emp to grace; SQL> --admin option 系统权限 不会级联 SQL> -- DBA --> create session --> jeff:管理员授予jeff登陆权限 SQL> grant create session to jeff with admin option; SQL> -- jeff --> create session --> emi:jeff授予emi登陆权限 SQL> grant create session to emi; SQL> --管理员撤销jeff的登陆权限,此时emi的登陆权限还在,不会被级联删除 SQL> revoke create session from jeff; SQL> --GRANT OPTION 撤销对象权限会产生级联 SQL> -- scott-->select on emp ---> jeff:scott用户授予jeff查询emp表的权限 SQL> grant select on emp to jeff with grant option; SQL> --jeff:-->select on scott.emp --> emi:jeff授予emi查询scott的emp表的权限 SQL> grant select on scott.emp to emi; SQL> --scott撤销jeff的查询emp表的权限,此时emi的查询权限也被删除 SQL> revoke select on emp from jeff; --角色(role) SQL> --删除角色 SQL> drop role hr_clerk; SQL> --创建经理角色 SQL> create role hr_mgr; SQL> --创建普通员工角色 SQL> create role hr_clerk; SQL> --两个权限 create session, create table SQL> --授予普通员工角色登陆权限 SQL> grant create session to hr_clerk; SQL> --授予经理创建表的权限和普通员工角色的权限 SQL> grant create table,hr_clerk to hr_mgr; SQL> --grant connect,resouce to scott;connect,resouce系统定义好的角色 SQL> --创建用户并授予权限(普通用户能做的基本功能都有) SQL> /* SQL> create user **** SQL> grant connect,resouce to ***; SQL> */ --概要文件和用户 --每个用户只能被关联到一个概要文件 --概要文件:管理账户状态和密码有效期;控制资源消费;