1 / 15

ORACLE

ORACLE. 第三讲 DCL 、 TCL. 本章目标. 熟练掌握用户的创建和删除 熟练掌握 GRANT 与 REVOKE 的使用 熟练掌握事务控制命令 掌握数据的导入与导出. 数据控制语言 DCL. 什么是数据控制语言 数据控制语言为用户提供权限控制命令。 为什么使用数据控制语言 数据库对象(比如表)的所有者对这些对象拥有独有的控制权限。所有者可以根据自己的意愿决定其他用户如何访问对象,授予其他用户权限( INSERT 、 SELECT 、 UPDATE…… ),使他们可以在其权限范围内执行操作。. 数据控制语言 DCL.

sherri
Download Presentation

ORACLE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ORACLE 第三讲 DCL、TCL

  2. 本章目标 • 熟练掌握用户的创建和删除 • 熟练掌握GRANT与REVOKE的使用 • 熟练掌握事务控制命令 • 掌握数据的导入与导出

  3. 数据控制语言DCL • 什么是数据控制语言 数据控制语言为用户提供权限控制命令。 • 为什么使用数据控制语言 数据库对象(比如表)的所有者对这些对象拥有独有的控制权限。所有者可以根据自己的意愿决定其他用户如何访问对象,授予其他用户权限(INSERT、SELECT、UPDATE……),使他们可以在其权限范围内执行操作。

  4. 数据控制语言DCL 例如,如果一个用户被授予对某个表的SELECT权限,那么他只可以查看数据,而不能对该表执行其他任何DML操作。授予的权限还可以由所有者随时撤消。 • 数据控制语言包含的命令 • GRANT • REVOKE

  5. 数据控制语言DCL • 创建一个用户 • 1、使用SYSTEM用户登陆ORACLE数据库,即在 SYSTEM用户模式下进行创建用户的操作。 CREATE USER peri --创建用户的用户名 IDENTIFIED BY peri; --创建用户的登陆密码 • 2、给创建的用户授予登录权限和创建对象权限 GRANT connect,resource TO peri;

  6. 数据控制语言DCL • 使用GRANT 命令授予对象权限 • 语法:GRANT 操作权限 ON 对象名 TO 用户 • 注意:用户可以执行授予权限操作必须满足 • 是对象的所有者 • 被授予with grant option权限

  7. 数据控制语言DCL • 使用GRANT 命令授予对象权限 • 1、在SCOTT用户模式下将emp表的SELECT权限授予peri • grant select on emp to peri; • 2、在SCOTT用户模式下将emp表的所有权限授予peri • grant all on emp to peri; • 3、将可以进行授权操作的权限授予peri • grant all on emp to summer with grant option;

  8. 数据控制语言DCL 使用了“WITH GRANT OPTION”授予用户权限,则接受该权限的用户可以将此权限授予其他用户。 • 4、学生练习:自己创建一个用户,获得某权限以后,使用“WITH GRANT OPTION”授予该用户权限,并再创建一个用户,将第一个用户拥有的权限授予第二个用户。

  9. 数据控制语言DCL • 使用REVOKE 命令收回对象权限 • 语法: REVOKE 操作权限 ON 对象名 FROM 用户 • 注意:当收回上级权限以后,由上级授权的下级拥有的权限也被收回。 • 收回peri用户拥有的对emp表操作的权限 • revoke all on emp from peri;

  10. 事务控制语言TCL • 什么是事务 • 事务是一个最小的工作单元,不论成功与否都作为一个整体进行工作。不会有部分完成的事务。 • 事务是由几个任务组成的,因此,如果一个事务作为一个整体是成功的,则事务中的每个任务都必须成功。如果事务中有一部分失败,则整个事务失败。 • 当事务失败时,系统返回到事务开始前的状态,这个取消所有变化的过程称为“回滚”(ROLLBACK)。

  11. 事务控制语言TCL • 为什么要使用事务控制语言 • 例如,如果一个事务成功更新了两个表,在更新第三个表时失败,则系统将两次更新恢复原状,并返回到原始状态。保证事务的整体成功或失败的完整性,称为事务控制。

  12. 事务控制语言TCL • 在哪里使用事务控制语言 • 事务只有在提交(COMMIT)后,对数据库的更改才可以永久保持。事务以执行更新操作的SQL语句开始,并显示的一ROLLBACK或COMMIT语句结束,但使用DDL语句时,事务处理将隐式的自动结束。

  13. 事务控制语言TCL • COMMIT命令 • 此命令用于提交并结束事务。只用使用COMMIT命令,才可以对数据库执行永久性的事务更改。 • 语法:commit;

  14. 事务控制语言TCL • ROLLBACK命令 • 此命令用于撤消在当前事务中已完成的操作。可以回滚整个事务处理,以便撤消由SQL语句做出的所有修改;也可以将事务回滚到某个保存点,以回滚该保存点后的修改。 • 语法:rollback;

  15. 事务控制语言TCL • SAVEPOINT命令 • 保存点类似于标记,它将很长的事务处理划分为较小的部分。它们用来标记事务中可以应用回滚的点。因此,SAVEPOINT和ROLLBACK一起用于回滚当前事务的一部分。 • 语法:savepoint 保存点名称; rollback to 保存点名

More Related