oracle绝密培训 5.管理用户

  • 格式:doc
  • 大小:256.50 KB
  • 文档页数:12

第五章:管理用户 学习目标  了解如何管理数据库用户  管理角色  了解创建新用户  更改用户属性  授予权限  解除帐户锁定  重置密码 第五章: 管理用户 ITjob就业培训

第 2 页 共 12 页 2  利用图形界面创建新用户

我们可以通过企业管理器的图形界面创建自己的用户,步骤如下: 登录-点击“管理”页面-点击“用户”-创建“用户”, 如下图:

再进入“限额”页面,将USERS表空间修改无限制,如下图:  利用图形界面解除帐户锁定和重置密码 Oracle系统安装完毕后,所有的用户(除了系统管理员之外)都是锁定的,通过登录到企业管理器的“管理”页面,选择“用户”可以解锁,比如我们为HR用户解锁,如下图: 第五章: 管理用户 ITjob就业培训

第 3 页 共 12 页 3  利用图形界面了解权限 给用户分配对象权限,如下图:

Oracle中的对象权限指作用在表、视图、序列、过程、函数或包等对象上执行特殊动作的权利,具体权限见下图: 权限 ALTER DELETE EXECUTE INDEX INSERT READ REFERENCE SELECT UPDATE Directory No No No No No Yes No No No

Function No No Yes No No No No No No Procedure No No Yes No No No No No No

DB Object No No Yes No No No No No No Library No No Yes No No No No No No Operation No No Yes No No No No No No

Sequence Yes No No No No No No No No Table yes Yes No Yes Yes No Yes Yes Yes 第五章: 管理用户 ITjob就业培训 第 4 页 共 12 页 4 Type No No Yes No No No No No No

View No Yes No No Yes No No Yes Yes

再给用户分配系统权限,如下图:

一般我们分配Unlimited tablespace给用户就可以了, Unlimited tablespace表示不受配额限制地使用表空间。 对象权限和系统权限都是通过GRANT语句授予的。可以通过“显示SQL”按钮显示相应的grant语句。

再给用户分配角色,如下图:

角色权限就是将属于用户的权限授予一个角色,任何权限都可以授给一个角色。 创建一个新用户的时候,默认分配一个角色connect,我们一般给用户增加一个角色resource。 角色就是一个系统权限包,常用的角色中的权限如下: 第五章: 管理用户 ITjob就业培训 第 5 页 共 12 页 5 Connect角色 Alter session Create cluster

Create database link Create sequence Create session Create synonym Create table Create view

Resource角色 Create cluster Create indextype

Create operator Create procedure Create sequence Create table Create trigger Create type

Dba:具有所有的系统权限。  练习 下面我们来做一个练习: (1)利用图形界面创建新角色,步骤如下: 登录-选择“管理”页面-选择“角色”-创建一个角色“fsclerk”,并分配系统权限(‘CREATE SESSION’),如下图: 第五章: 管理用户 ITjob就业培训

第 6 页 共 12 页 6 (2)我们给用户test增加一个角色fsclerk,步骤如下: 登录-选择“管理”页面-选择“用户”,为test添加角色fsclerk,如下图:

 权限与数据字典 我们知道数据字典 是Oracle存储有关数据库结构信息的地方,当然也包括存储了权限。 ――从数据字典视图user_role_privs查找用户角色,如下图:

――从数据字典视图user_sys_privs查找用户系统权限,如下图: 第五章: 管理用户 ITjob就业培训

第 7 页 共 12 页 7 所有与权限相关的数据字典如下表: 视图 作用

ALL_COL_PRIVS 表示列上的授权,用户和PUBLIC是被授予者

ALL_COL_PRIVS_MADE 表示列上的授权,用户是属主和被授予者

ALL_COL_RECD 表示列上的授权,用户和PUBLIC是被授予者

ALL_TAB_PRIVS 表示列上的授权,用户和PUBLIC或被授予者或用户

是属主 ALL_TAB_PRIVS_MADE 表示列上的授权,用户是属主或授予者

ALL_TAB_PRIVS_RECD 表示列上的授权,用户是PUBLIC或被授予者

DBA_COL_PRIVS 数据库列上所有授权

DBA_ROLE_PRIVS 显示已授予用户或其他角色的角色

DBA_SYS_PRIVS 已授予用户或角色的系统权限

DBA_TAB_PRIVS 数据库对象上的所有权限

ROLE_ROLE_PRIVS 显示已授予用户的角色

ROLE_SYS_PRIVS 显示通过角色授予用户的系统权限

ROLE_TAB_PRIVS 显示通过角色授予用户的对象权限

SESSION_PRIVS 显示用户现在可利用的所有系统权限

USER_COL_PRIVS 显示列上的权限,用户是属主、授予者或被授予者

USER_COL_PRIVS_MADE 显示列上已授予的权限,用户是属主或授予者

USER_COL_PRIVS_RECD 显示列上已授予的权限,用户是属主或被授予者

USER_ROLE_PRIVS 显示已授给用户的所有角色

USER_SYS_PRIVS 显示已授给其他用户的系统权限

USER_TAB_PRIVS 显示已授给其他用户的对象权限 第五章: 管理用户 ITjob就业培训 第 8 页 共 12 页 8 USER_TAB_PRIVS_MADE 显示已授给其他用户的对象权限,用户是属主

USER_TAB_PRIVS_RECD 显示已授给其他用户的对象权限,用户是被授予者

我们还可以通过图形界面删除用户和角色,其步骤如下: (1)登录-选择“管理”页面-选择“用户“-删除test用户 (2)登录-选择“管理“页面-选择”角色“-删除FSCLERK角色

 创建和修改用户指令 创建一个新用户的语法如下: CREATE USER 用户名 IDENTIFIED BY 口令 [DEFAULT TABLESPACE 默认表空间] [TEMPORARY TABLESPACE 临时表空间] 修改一个用户的密码如下: ALTER USER 用户名 IDENTIFIED BY 口令 [DEFAULT TABLESPACE 默认表空间] [TEMPORARY TABLESPACE 临时表空间]

 授予用户系统权限指令 授用户系统权限的语法如下: GRANT system_priv[, system_priv„] TO user_name 常用系统权限有: --CREATE SESSION --CREATE TABLE --CREATE VIEW --CREATE PROCEDURE

 授予对象权限指令 其语法如下: GRANT ALTER ON tab_name TO user_name GRANT INDEX ON tab_name TO user_name GRANT [UPDATE | INSERT](col_name) ON tab_name TO user_name GRANT SELECT ON tab_name TO user_name

 取消用户权限指令 REVOKE命令用于取消(回收)用户权限,其语法如下: REVOKE system_privs[,system_privs„] FROM user_name

 生成DDL指令 这些指令其实都可以通过企业管理器生成,如下图: 第五章: 管理用户 ITjob就业培训 第 9 页 共 12 页 9 --通过生成DDL选项,生成DDL语言

--结果如下: --分配一个系统权限 --通过“显示SQL”按钮,生成DDL语言,如下:

--给用户分配一个对象权限,如下: