ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:131.67KB ,
资源ID:3956384      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3956384.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(并发和安全.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

并发和安全.docx

1、并发和安全SQL实验七 并发和安全实验目标: 提交事务 回滚事务 发出保存点 创建用户 授予权限 撤消权限7.1 保存更改无论何时发出命令,都不会对数据库作直接更改。我们必须明确地发出提交语句来保存更改。实验7-1:我们现在来看一下实际的提交是如何实现的。按照下列给出的步骤理解该过程。 如图 1 中所示,在“dept”表中插入一条新记录。 发出一个选择语句,检验记录的插入。图 7-1 打开一个以上的 SQL plus 的实例,即重新启动 SQL plus 会话,并连接到您上次使用的相同登录。现在您可看到两个同时处于活动状态的 SQL plus 会话,如图 7-2 所示。会话 2会话 1图 7-

2、2 对同一 dept 表发出选择语句。在第一个实例中插入的记录不会在第二个实例中显示,因为没有在第一个实例中保存该记录, 单击任务栏上的第一个 SQL 实例。将激活第一个会话。 在 SQL 提示符下发出一个提交语句。 单击任务栏上的第二个会话。 为 dept 表发出选择语句。在第一个会话中插入的记录也不会在第二个会话中显示。因为该记录是通过提交语句保存的。实验7-2:要理解提交的概念,下面我们看另外一个问题。执行下面的步骤来理解这个概念。1. 单击第一个 SQL 实例。2. 如图 3 所示,插入一项新记录。图 7-33. 单击第二个会话。4. 在此插入同一项记录。由于记录是插入到第一个会话中的

3、,我们又试图把相同的记录插入第二个会话中,并且由于 deptno 是主键,因此第二个会话不允许用户插入记录;而且在第一个会话发出提交语句或回滚语句(以后讨论)之前,挂起第二个会话。这样就由 ORACLE 系统内部维护数据完整性。实验7-3:在试过了向表中插入记录后,我们再来看看如何保存记录,遵循下面给出的步骤,我们将理解整个过程背后的逻辑。1. 单击任务栏上 SQL 的第一个会话。2. 将雇员的薪水更新为 Rs.4000。3. 单击任务栏上的第二个 SQL 会话。4. 试着更新相同记录的值。第二个会话处于挂起状态,因为无论何时更新一个记录,在用户提交或回滚它之前,该记录是锁定的。因此,如果您发

4、出提交或回滚语句,第二个会话一直是锁定的,直到解锁。注意:DDL 语句是自动提交的,所以没有必要使用任何提交语句来保存 DDL 语句所作的更改。7.2 撤消更改我们已用提交语句保存更改,下面看看如何使用回滚语句来达到我们的目的。回滚语句用于撤消未提交的更改。实验7-4:执行下面给出的步骤,用回滚语句进行操作。1. 如图 4 中所示,在“dept”表中插入一条新记录。2. 发出一个选择语句查看如图 4 中所示的新记录。可以看到新记录。图8- 43. 发出一个如图 4 中所示的回滚语句。4. 给出一个选择语句查看记录。您将会看到上次插入的记录没有显示。因我们已撤消更改,所以记录不显示。注意:提交更

5、改之后,就不能执行回滚语句。7.3 插入保存点保存点只是在事务中插入的书签。这些书签用于标注事务,并配合回滚语句工作。由于回滚撤消整个任务,与保存点一起使用的回滚可用来撤消事务的某个部分。实验7-5:通过下面的操作步骤了解如何使用保存点:1. 删除 deptno 70 和 80 的记录。2. 发出一个如图 5 中所示的保存点。图8- 53. 把 deptno 40 的位置更新为“SAN DIEGO”。更新记录之后,您会意识到没有必要更改位置,因为前一个位置就是正确的。现在您可以要么发出一个回滚命令来撤消甚至是先前发出的删除语句,要么给出一个提交命令来提交到现在为止所执行的全部操作,然后再发出一

6、个更新语句把位置改回到初始位置。如果不进行上述操作,我们可以给出一个如下所示的命令来只撤消更新的记录。图8- 67.4 创建用户创建用户就是在数据库中增加一个用户帐户,用户可以使用该帐户访问数据库。可以使用 create user 创建账户,语法形式如下:create user user_nameidentified by password其中:user_name指定将要创建的数据库用户的名称password指定该数据库用户的口令。在创建用户时,创建者应该具有create user系统权限。练习8-1:以scott/tiger身份创建一个用户Hillary,其口令是window. 创建用户之后

7、,如果没有为该用户授予相应的连接数据库的权限,该用户依然不能连接到数据库中。需要为用户授予create session的权限。语法如下:grant create session to user_name为了保护数据库的安全,用户口令应该经常修改。可以使用两种方式修改用户口令。第一种方式是使用alter user语句修改用户的口令,语法形式如下:alter user user_namidentified by new_password第二种方式是使用password命令。 前一种既可以修改当前用户的口令,也可以修改其他用户的口令;后一种只能用来修改当前用户的口令。 7.5 授予权限下面讲述假定您

8、在 SCOTT 登录中工作如何授予和撤消权限。而且,我们将对 DEMO 授予权限或从 DEMO 登录撤消权限。注意:SCOTT 登录的密码是 TIGER,而 DEMO 登录的密码在 DEMO 之中。7.5.1 授予特定的权限实验7-6:要将 SELECT 权限授予 emp 表上的 DEMO,请给出如图 7-7 中所示的命令。图 7-7现在就由 SCOTT 授予了 DEMO 选择记录的权限。那么,DEMO 将如何访问记录。为此,请执行如图8-8 中所示的步骤。图8- 8在上面的命令中,我们首先连接到 DEMO 登录,然后发出选择语句,在那里,在指定表名称时我们把授权人登录名放在了表名称的前面现在

9、,由于授予人(即 SCOTT)只给了选择权限,DEMO 用户只能选择记录。如果 DEMO 用户试图进行其他操作,就会收到出错信息。尝试给出如图8-9 中所示的命令,以便理解该命令之后的逻辑。图 7-97.5.2 授予所有权限在上面的示例中,我们已经了解如何授予特定权限。实验7-7:下面我们将举一个我们可以向其他用户授予所有权限的实例。执行如图8-10中所示的步骤,向其他用户授予所有权限。图 7-10在上图中,我们首先连接到 SCOTT。然后,我们向 DEMO 授予了所有权限。授予权限后,我们连接到 DEMO 登录。我们首先发出从授予表中查看所有记录的选择语句。然后,我们更新记录以更改表中的值。

10、授予所有权限后,被授权人就可执行所有 DML 任务。注意:被授权人不能删除表,即使授权人给予其 ALL 权限。7.5.3 理解 WITH GRANT OPTION到现在为止,我们明白了对象的所有者(授权人)向另一个用户(被授权人)授予权限。而且,被授权人根据其所拥有的权限利用对象。但是,有时被授权人本身想向第三个用户授予授权人表。假如主授权人利用 WITH GRANT OPTION 授予了该表,正常情况下,被授权人无法这样做。实验7-8:下面看看一个使用 WITH GRANT OPTION 的示例。执行如图8-11 中所示的步骤。图 7-11DEMO 将 Scott 的表授予用户 ANI 之后

11、,ANI 访问该表的方式显示在图8-12 之中。执行如下步骤,了解整个情况。图 7-12现在,由于 SCOTT 已授予 DEMO 所有权限。DENO 在向 ANI 授予表时可授予任何权限。但是,假定 SCOTT 只授予对表的选择权限,则 DEMO 就只能向 ANI 授予选择权限。接下来的步骤是,DEMO 向 ANI 授予权限,DEMO 只授予对表的插入权限。因此,当 ANI 试图使用选择语句时,他就会收到出错信息。但是,他可以正常插入值。7.6 撤消权限我们使用 GRANT 命令向用户授予权限。而 REVOKE 用来从用户那里撤消权限。实验7-9:执行如图8-13 中所示的步骤,撤消 DEMO 对 ret_emp 表的权限。图 7-13注意:当 SCOTT 撤回 DEMO 的权限后,DEMO 授予 ANI 的权限也自动撤消。您也可以一次只从被授权人撤回某项特定权限。练习:1. 利用下列字段信息创建表: cno number cname varchar2(10) ctele number2. 在表中插入 8 项记录。3. 更新任意一项记录。4. 删除第四项记录。5. 现在,保存插入和更新的记录,并撤消删除的记录。6. 用 WITH GRANT OPTION 选项向 DEMO 授予上面的表的访问权限。7. 然后,DEMO 将该表授予其他用户。8. 撤消 DEMO 的权限。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1