赞
踩
一、 实验目的和要求
(1) 巩固事务的概念
(2) 正确理解并发及锁机制
(3) 熟悉DBMS的安全控制
二、实验原理及内容
1. 创建用户U1和U2
CREATE USER U1 IDENTIFIED BY B123;
GRANT CONNECT, RESOURCE TO U1;
CREATE USER U2 IDENTIFIED BY B1234;
GRANT CONNECT, RESOUECE TO U2;
2. 对系统中SCOTT用户的员工(emp)表,用授权机制完成以下存取控制:
(1) 所有用户具有对员工编号 EMPNO、姓名 ENAME 和所在部门 DEPTNO 的查询权限。
以SCOTT的身份进入SQL *Plus
建立视图 CONNECT SCOTT/TIGER;
CREATE VIEW EMP VIEW(EMPNO,ENAME,DEPTNO) AS SELECT EMPNO,ENAME,DEPTNO
FROM EMP;
授予权限 GRANT SELECT ON EMP VIEW TO PUBLIC;
(2) 使用户 U1 拥有对表 EMP 的删除权限和对奖金(COMM)的修改权限,并具备转授这些
权限的权力。
GRANT DELETE,UPDATE(COMM) ON EMP TO U1 WITH GRANT OPTION;
(3) 用户 U1 授予用户 U2 对员工表的删除权限。
CONNECT U1/B213;
GRANT DELECT ON SCOTT.EMP TO U2;
(4) 回收用户 U1 和用户 U2 对员工表的删除权限。
CONNECT SCOTT/TIGER;
REVOKE DELECT ON EMP FROM U1;
3.为自己的用户授予对scott用户的员工表EMP的所有操作权
CONNECT SCOTT/TIGER;
GRANT ALL PRIVILEGES ON EMP TO U1 WITH GRANT OPTION.
4.观察多事务并发时的数据库保护
(1) 分别以 scott 和自己的用户名登录到 SQL PLUS,并分别输入命令 SET AUTO OFF。
SQL>CONNECT SCOTT/TIGER;
SQL>SET AUTO OFF;
在另一个窗口:
SQL>CONNECT U1/B123;
SQL> SET AUTO OFF;
(2) SCOTT 将 EMP 表中 10 号部门所有员工工资(SAL)增加 200 元,此即事务 1。
SQL>UODATE EMP
SET SAL=SAL+200 WHERE DEPTNO=10;
(3) 自己的用户将 EMP 表中工号以 77 开头的员工工资增加 300 元,此即事务 2。
SQL>UPDATE SCOTT EMP
SET SAL=SAL+300 WHERE EMPNO LIKE “77%”;
(4) 观察发生现象,分析原因,找出解决办法。
发生现象:事务二处于等待状态。
原因:SCOTT用户的加X锁作用。
解除事务2挂起的方法是,在SCOTT窗口中键入命令COMMIT或者是ROLLBACK.
(5)SCOTT 分别输入 COMMIT 和 ROLLBACK 命令时,观察两个 SQL * Plus 界面的信息及变化,并用 SELECT 语句查看将 EMP 表中的 SAL 属性的值的变化。
SQL> SELECT SAL FROM EMP WHERE DEPTNO=10 AND EMPNO LIKE ‘77%’;
SQL>SELECT SAL FROM SCOTT. EMP WHERE DEPTNO=10 AND AMPNO LIKE ‘77%’;
SQL>COMMIT;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。