实验十二:用户与角色管理

2021/5/25 10:29:29

本文主要是介绍实验十二:用户与角色管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 用户管理(本练习将创建一个本人姓名首字母的用户(例如:张三,则创建的用户为zs),密码为m(指本人学号的后两位)),并为其分配相应的系统权限和角色,以便可以在数据库中执行相应的操作。将所有执行正确的PL/SQL语句记录下来。(其中n为本人学号的末两位)

(1)使用SYSTEM身份连接到数据库。

在这里插入图片描述

create user tb identified by m17 default tablespace users quota 15M on users temporary tablespace temp; 

(2)创建用户账号(本人姓名首字母),其口令为自设,默认表空间为USERS,在USERS上的最大配额为15m,临时表空间为TEMP。

create user tb identified by m17 default tablespace users quota 15M on users temporary tablespace temp; 

在这里插入图片描述

(3)创建一个用户配置文件EXEn_PROF,包含的资源及口令限制如下。
该用户最多可以建立3个并发的会话连接。
用户执行语句使用的CPU最长时间为10分钟。
空闲时间超过15分钟后,断开与用户的连接。
限制用户密码的有效期为10天,宽限时间为3天.
限制用户在登录到ORACLE数据库时允许失败的次数为3,锁定天数为10。

create profile exe17_prof limit 
sessions_per_user 3
cpu_per_call 60000 
idle_time 15 
failed_login_attempts 3 
password_lock_time 10
password_life_time 10 
password_grace_time 3; 

在这里插入图片描述

(4)为用户指定资源配置文件为EXEn_PROF。

alter user tb profile  exe17_prof; 

在这里插入图片描述

(5)向用户授予连接数据库系统权限。

grant connect to tb;

在这里插入图片描述

(6)向用户授予对对象HR.EMPLOYEES的SELECT,UPDATE权限,并以用户身份连接到数据库,查询EMPLOYEES表。

grant select,update on hr.employees to tb; 

select * from hr.employees;

在这里插入图片描述

(7)撤销向用户授予的系统权限和对象权限,取而代之向用户授予CONNECT角色。

revoke select,update on hr.employees from tb;
revoke create session from tb;
grant connect to tb;

2.角色管理

参见教材p334-337页管理自定义角色。将所有执行正确的PL/SQL语句记录下来。

(1)使用SYSTEM身份连接到数据库。

在这里插入图片描述

(2)使用 CREATE ROLE语句创建角色UserManRole。

create role UserManRole;

在这里插入图片描述

(3)使用GRANT语句将角色UserManRole授予CONNECT、RESOURCE、CREATE TABLE和UNLIMITED TABLESPACE权限。

grant CONNECT,RESOURCE,CREATE TABLE,UNLIMITED TABLESPACE to UserManRole with admin option;

(4)使用GRANT语句将角色UserManRole授予对对象SCOTT.EMP的SELECT、INSERT和UPDATE权限。

grant SELECT,INSERT,UPDATE on SCOTT.EMP to  UserManRole;

(5)使用GRANT语句将用户(指已创建好的本人姓名首字母的用户)指定为角色UserManRole。

grant  UserManRole to tb with admin option;

(6)以用户(指已创建好的本人姓名首字母的用户)身份连接到数据库,查询SCOTT.EMP表。

select * from scott.emp;
  1. 检索并了解下列预定义角色所具有的系统权限。
    (1).CONNECT角色
Create cluster/database link/sequence/session/synonym/view/table

(2).RESOURCE角色

Create cluster/procedure/sequence/table/trigger/type

(3).DBA角色

具有所有的系统权限,但不具有sysdba,sysoper的权限哦

(4).EXP_FULL_DATABASE角色

Backup any table,execute any procedure,select any table,execute any type,administem_resource_manager,execute_catalog_role,select_catalog_role

(5).IMP_FULL_DATABASE角色

包含了execute_catalog_role,select_catalog_role和大量的系统角色

(6).EXECUTE_CATALOG_ROLE 角色

所有的系统PL/SQL的EXECUTE权限

(7).DELETE_CATALOG_ROLE角色

Sys,auds上的delete权限

(8).SELECT_CATALOG_ROLE角色

所有的数据字典的select权限

(9).RECOVERY_CATALOG_OWNER角色

恢复目录所有者的系统权限
	Create cluster /sequence/session/synonym/view/table
	Create cluster/procedure/sequence/table/trigger

【不写了,吃饭去了~】

——木心《从前慢》
记得早先少年时
大家诚诚恳恳
说一句 是一句
清早上火车站
长街黑暗无行人
卖豆浆的小店冒着热气
从前的日色变得慢
车,马,邮件都慢
一生只够爱一个人
从前的锁也好看
钥匙精美有样子
你锁了 人家就懂了



这篇关于实验十二:用户与角色管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程