oracle里面的权限分为系统权限和对象权限
群集权限 数据库权限 索引权限
过程权限 概要文件权限 角色权限
回退权限 序列权限 会话权限
同义词权限 表权限 表空间权限
用户权限 视图权限 触发器权限
管理权限 其它权限
角色:
角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。
oracle里面常用的几个角色介绍:
DBA: 拥有全部特权,是系统最高权限,
只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,
不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,
不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource,dba权限。
oracle里的用户:
可以通过字典表all_users,dba_users查出所有的用户。也可以创建用户,当然需要用超级用户登录,如system。
1.创建用户
语法如下所示:
eg. create jack identified by test123; --创建一个jack用户,密码是test123。
用户创建之后,需要给它复权,否则该用户无法登录,当然更无法进行任何操作。
2. 给用户复权
赋权语法如下所示:
当然也可以把角色赋给用户,应为角色里面就包含了很多权限
例如对于开发者用户jack,可以如下赋权:
grant connect,resource to jack;
用户和权限的其它一些常用操作
eg: --系统自带了一些用户默认是锁定的,这里可以一并解锁和修改密码
alter user jack account unlock identified by test123;
eg: --查看用户拥有的角色权限
select * from ROLE_SYS_PRIVS;
eg:--查看用户拥有的对象权限
select * from ROLE_TAB_PRIVS;
eg: --查看用户拥有的系统权限
select * from USER_SYS_PRIVS
eg: --回收权限
revoke connect, resource from jack;
eg: --删除用户及其所有对象
drop user jack CASCADE;
eg:--切换用户登录
conn mytest/test123;
eg: --对所有用户赋权
grant insert on users to public