当前位置:文档之家› oracle用户权限管理分解

oracle用户权限管理分解


Oracle 11G数据库应用开发
概要文件(续)
CONNECT_TIME :指定一个会话连接到数据库 的最大时间 IDLE_TIME DEFAULT:指定一个会话可以连续空 闲的最长时间,单位:分钟 COMPOSITE_LIMIT:设置用户对系统资源的综 合消耗。由: CPU_PER_SESSION、 LOGICAL_READS_PER_SESSION、 PRIVATE_SGA、CONNECT_TIME综合决定
Oracle 11G数据库应用开发
第四讲用户权限管理 用户管理
权限管理
角色管理
概要文件
Oracle 11G数据库应用开发
用户
定义:也叫方案,是一组逻辑对象的所有者。
验证方式:数据库验证和操作系统验证 表空间和临时表空间:表空间为用户创建数据 对象的存储表空间;临时表空间用于创建临时 段。
Revoke r_teach from r_stu
删除角色 drop role r_teach
Oracle 11G数据库应用开发
角色(续)
数据库预定义角色:
Connect (登录执行基本函数)、 Resource(建立用户自己的数据对象)、 DBA(所有系统权限,包括无限的空间限额、给 其他用户授予全部权限的能力)
2、新建一个用于网上购物系统管理的用户 shoppingdba,其中默认表空间为tpshopping, 角色为DBA
Oracle 11G数据库应用开发
创建用户
语法: (简单方式) create user mary --用户名 identified by abc ;--密码 说明:以上为创建用户的必须语句 默认表空间均为users
连接数
临时表空间
概要文件 在表空间上的使用配额
Oracle 11G数据库应用开发
Oracle 11G数据库应用开发
概要文件(续)
控制资源参数: SESSIONS_PER_USER : 限制用户当前会话的数量 CPU_PER_SESSION: 限制一个会话使用的CPU时间 CPU_PER_CALL :限制一个SQL语句使用的CPU时间 LOGICAL_READS_PER_SESSION:限制每个会话读取的数 据库数据块数,包括从内存和磁盘读取的总和 LOGICAL_READS_PER_CALL:限制SQL语句读取的数据库 数据块数,包括从内存和磁盘读取的总和 PRIVATE_SGA :SGA中私有区域的大小
Oracle 11G数据库应用开发
删除用户
删除用户: Drop user annie; 删除拥有对象的用户: Drop user annie cascade; 注意:如果要删除的用户正在连接数据库,不 能将其删除
Oracle 11G数据库应用开发
查询用户
视图DBA_Users 查看所有用户名、用户ID、用户创建日期 视图all_Users
Oracle 11G数据库应用开发
权限查询
视图USER_SYS_Privs:系统权限 视图USER_TAB_Privs:对象权限
Oracle 11G数据库应用开发
角色
定义:角色是一系列权限的集合
功能:简化权限管理
创建角色: Create role r_teach 为角色授权: grant select on class to r_ teach
空间分配:表空间中,必须要为一个用户指派 空间配额,用于存储数据库对象。
Oracle 11G数据库应用开发
用户、角色、权限关系
用户
A
B
C
角色
HR_MGR
HR_CLERK
权限 SELECT ON JOBS CREATE TABLE CREATE SESSION INSERT ON JOBS UPDATE ON JOBS
Oracle 11G数据库应用开发
权限回收(续)
注意:




一个用户被多用户授予权限后,其中一个用户收回权限, 不影响其他用户授予的权限 收回With grant option 或 With admin option,要首先回收 相应的权限,再重新授予该权限而不再授予With grant option 或 With admin option 传递权限With admin option给其他用后,如果此系统权 限被回收,其他用户仍然拥有该系统权限 传递权限With grant option给其他用后,如果此对象权限 被回收,其他用户该对象权限也被收回

– –

连接到数据库需要create session权限 删除其他用户的Table需要drop any table权限 Select、insert、update、delete是对象权限,而 Select any、insert any、update any、delete any是 系统权限 使用 With admin option 进行系统权限传递
Oracle 11G数据库应用开发
角色(续)
删除角色 Drop Role r_teach
Oracle 11G数据库应用开发
概要文件(续)
功能: 控制用户对系统和数据库资源的使用,保证系 统正常运行,防止用户消耗大量资源造成的系 统性能下降。 方法: 设置预定义资源参数。 这些参数包含在概要文件中,如果没有为用户 指定概要文件,则使用Default概要文件
– grant select on class to – grant teach to
teach;
annie;
Oracle 11G数据库应用开发
权限(续)
权限分类:系统权限和对象权限

对象权限(objects Privilege) : 赋予在某一具体数据对象的 操作能力 1) 9种对象权限: Select 、Update、Delete、Insert、Execute、Index、 reference、Alter、Read 2) 对象权限传递 权限: With Grant Option 被授予With Grant Option对象权限的用户,可将该对象权 限授予其他用户
视图User_Users 查看当前用户信息
Oracle 11G数据库应用开发
权限
定义:控制用户在数据库中所能进行的操作 授予权限的方法: 1)直接授予用户:
grant create session to annie;
2)先将权限授予角色,再将角色授予用户:

Create role teach;
Oracle 11G数据库应用开发
权限(续)
3) 谁有权授予对象权限给其他人?
对象的所有者 DBA 被授予With grant option的用户
4) 权限可以授予给谁? 其它用户 角色 Public
Oracle 11G数据库应用开发
系统权限
系统权限(system Privilege):允许执行一组特定 的命令 几点补充:
回收角色权限
revoke select on class from r_ teach 将角色授予用户 Grant r_ teach to annie
Oracle 11G数据库应用开发
角色(续)
从用户回收角色
Revoke annie from r_teach 将角色授予角色 Grant r_teach to r_stu [with admin option] 从角色回收角色
Oracle 11G数据库应用开发
概要文件(续)
创建概要文件
CREATE PROFILE "TEMPPROFILE" LIMIT CPU_PER_SESSION 1000 CPU_PER_CALL 1000 CONNECT_TIME 30 IDLE_TIME DEFAULT SESSIONS_PER_USER 10 LOGICAL_READS_PER_SESSION 1000 LOGICAL_READS_PER_CALL 1000 PRIVATE_SGA 16K COMPOSITE_LIMIT 1000000 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 5 PASSWORD_GRACE_TIME 60 PASSWORD_LIFE_TIME 30 PASSWORD_REUSE_MAX DEFAULT
Role r_Stu
4) Alter User Annie Default Role None
Oracle 11G数据库应用开发
角色(续)
查询角色信息
– –


视图DBA_Roles: 角色信息 视图Role_role_privs:角色与传递权限 信息 视图Role_SYS_privs:角色系统权限 视图Role_tab_privs:角色对象权限
创建用户
Oracle 11G数据库应用开发 密码认证 OS 认证
默认表空间
临时表空间
在表空间上的使用配额 概要文件
是否密码过期
是否锁上用户
Oracle 11G数据库应用开发
准备好网上购物系统的表空间和用户
1、新建一个网上购物系统的表空间tpshopping: 数据文件初始10M大小,增发
系统权限(续)
例子: grant select any to annie;
grant select any to annie with admin option;
Oracle 11G数据库应用开发
权限回收
授予的对象权限和系统权限可以通过Revoke语 句收回 例子: revoke select any from annie;--回收系统权限 revoke select on class from annie; --回收对象权限
相关主题