系统权限:系统规定用户使用数据库(系统权限是针对用户而言的)
实体权限:某种权限的用户对于表或者视图的存取控制权限(针对表或者视图而言)
常见的权限列表(仅供参考)见附录一:
Oracle的角色管理
一:概念
角色:一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限
二:一些常用的系统预定义角色
1:CONNECT,RESOURCE, DBA
这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。
oracle建议用户自己设计数据库管理和安全规划
而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色
DBA :拥有全部权限是系统最高权限,只有DBA才可以创建数据库结构
Resource :拥有Resource权限的用户只可以创建实体,不可以创建数据库结构
Connect :拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构
2:DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE
这些角色主要用于访问数据字典视图和包
3:EXP_FULL_DATABASE, IMP_FULL_DATABASE
这两个角色用于数据导入导出工具的使用。
4:AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE
这两个角色用于oracle高级查询功能
备注:AQ:Advanced Query
5:SNMPAGENT
用于oracle enterprise manager和Intelligent Agent
6:RECOVERY_CATALOG_OWNER
用于创建拥有恢复库的用户。
三:角色管理
1:创建一个角色
createrole rolename; --创建一个名叫rolename的角色
2:给角色授权
grantcreate any table,create procedure to rolename; --给rolename这个角色赋予创建表和过程
3:给用户授予指定的角色
grantrolename to username; --给username这个用户授予rolename角色
4:查看角色所包含
select *from role_sys_privs;
5.创建带有口令以角色(在生效带有口令的角色时必须提供口令)
createrole role1 identified by password1;
6.修改角色:是否需要口令
alterrole role1 not identified;
alterrole role1 identified by password1;
7.修改指定用户,设置其默认角色
alteruser user1 default role role1;
alteruser user1 default role all except role1;
9.删除角色
drop role role1;
备注:角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应也就没有了。
Oracle的用户管理
一:Oracle用户的创建步骤
step1:创建用户的Profile文件
create profile student limit --student为资源文件名
failed_login_attempts 3 --指定锁定用户的登录失败次数
password_lock_time 5 --指定用户被锁定天数
password_life_time 30 --指定口令可用天数
备注:关于Profile
作用:ORACLE的PROFILE文件是限制数据库用户使用资源的一种手段。
如:控制session或sql能使用的CPU、控制用户的密码管理策略等。
用法:参见:《ORA02_Profile文件》
step2:创建用户
create user user1 --创建用户,指定用户名
Identified by pwd1 --指定用户密码
default tablespace spname1 --指定用户的defauttablespace