Oracle-7-第七章.ppt_第1页
Oracle-7-第七章.ppt_第2页
Oracle-7-第七章.ppt_第3页
Oracle-7-第七章.ppt_第4页
Oracle-7-第七章.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章,事务与权限控制,本章目标,了解事务的基本概念 掌握事务的操作方式 事务的分类 了解oracle数据库的安全性 掌握帐户管理、权限管理、角色管理,1.1 事务的基本概念,事务的概念: 所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。 定义事务的三条语句: Commit Rollback Savepoint 事务是一个逻辑工作单元,同时又是一个恢复单元。一个事务提交之后,数据库又处于或应该处于一个一致性状态ddl之后,包含一个隐含的commit,事务的基本概念,事务

2、是一个或多个sql语句序列。事务中的每条语句都只执行部分任务,完成任务需要所有sql语句。事务被视为原子单元,要么所有的语句都执行,要么一条语句也不执行。事务概念在程序更新数据库时至关重要,因为数据库的完整性必须得到维持。 只有当事务提交时,事务对数据库的更改才是永久性的。事务以一条可执行sql语句开始,以一条回滚或提交语句显示地结束,事务的基本概念,提供事务的目的:为了更加安全地修改数据库。如:对一个操作不满意,可以回滚以进行重新修改。 事务控制命令的组成:提交Commit、回滚RollBack、保留点SavePoint,提交-commit,commit语句用于结束一个事务。它使得对数据库所

3、做的任何更改成为永久性的。该语句还删除事务中的任何保存点。 commit语句表示下列操作: - 所有sql语句均已执行。 - 事务成功结束。 - 数据库处于一致性状态,事务提交方式,显式提交:就是使用commit命令使得当前事务生效。这个事务所有操作所产生的对数据库的更新都变成永久性的。 自动提交:在sql*plus中,使用set autocommit on。然后所做的所有操作自动提交。oracle系统实现自动提交功能所需的资源多,并且执行效率低,故一般情况下,用户最好别用。 隐式提交:如发出ddl命令、程序终止、关闭数据库等除前两个之外的,保留点-savepoint,定义:是一事务范围内的中

4、间标志,经常用于将一个长事务划分为矩小的部分。 使用范围:可标志长事务的任何点,允许回滚到某个位置。与回滚一起完成回滚事务部分。 格式:savepoint 保留点名,事务回滚rollback,rollback语句用于撤销当前事务中所执行的操作。可以回滚整个事务以便忽略sql语句所做的所有更改,或者将事务回滚到保存点以便忽略保存点之后的sql语句,事务回滚rollback,Rollback语句执行下列操作: - 删除对数据库所做的更改。 - 表示事务不成功结束。 - 将数据库恢复到事务前的状态,回滚时所做的工作,回滚整个事务: - 利用相应回滚段撤消事务中SQL命令作的全部修改; - 解除对所有

5、数据的事务封锁; - 结束事务。 回滚部分事务: - 回滚该保留点之后的部分事务; - 删除在该保留点之后所建立的全部保留点,而该保留点则保留,以便可回滚到同一保留点多次; - 解除对该保留点之后表的封锁或行的封锁,回滚分类,显式回滚: 格式:rollback to savepoint 保留点名; 隐式回滚: 发生情况: - 执行期间发生错误,比如一个用户往一个表中插入几个记录时,其中插入了一个错误的记录,从而导致终止插入操作而回滚; -发现死锁或事务夭折,设置事务,定义及功能:设置事务实际上是对事务的一种控制,主要任务是建立当前事务为只读事务或读写事务,其次是控制事务使用指定的回滚段空间。

6、分类: - 读写事务处理 - 只读事务处理,读写事务处理,默认情况下,当oracle9i为一个会话开始一个新的事务时,该事务是可读写的。通常,一个可读写的事务可以包含任何类型的sql语句,其中,包括了用于查询、更新和删除表行的dml语句。可以使用sql命令来显示声明一个事务为可读写事务。 格式:set transaction read write,只读事务处理,只读的事务只包含查询。也就是说,只读操作不以任何形式修改数据库。应用程序可以显示地使用sql命令声明一个事务为只读。 格式:set transaction read only; 当声明一个显式的只读事务时,oracle9i为该事务保证了

7、事务级别上的读一致性。这意味着,即使其他事务对数据库进行修改并提交了工作,该事务的所有查询结果所反映的数据库数据与事务开始时也保持一致。应用程序通常围绕一些查询使用显式的只读事务,并使用一致性的数据的生成报表,以供使用,1.2 oracle安全,Oracle数据库是一个多用户的系统,它允许多个用户在网络上共享数据库的资源。为了防止非法用户的侵入,保证数据库系统的安全。 方法有: - 用户帐户管理 - 权限管理 - 角色管理,用户帐户管理,每一个想使用oracle的用户都必须得到一个合法的用户名、口令和相应的权限,才能进入Oracle系统进行相应的操作。在访问Oracle的对象时,必须使用一个用

8、户帐户和口令连接数据库,只有连接成功才能操作数据库对象。 oracle的帐户是管理员建立的,对于不同的用户,可以授予不同等级的权限。每个用户只能在自己的权限范围内活动,任何超越权限范围的操作都视为非法,系统将不理睬或拒绝,创建用户帐户,格式:create user 用户名 identified by 口令 说明:在sql*plus中建立时,要输入一个以字母开头的口令,查询用户,限制用户,锁定格式: alter user 用户名 account lock; 解除格式: alter user 用户名 account unlock; 口令失效格式: alter user 用户名 password e

9、xpire,删除用户,drop user 用户名 cascade,权限管理,oracle创建好用户以后,并不意味着用户就可以对数据库进行随心所欲的操作。用户对数据库进行访问或执行任何操作,都需要拥有执行指定操作的权限。例如,用户被创建后不能马上连接数据库,这是因为连接数据库需要create session权限,数据库权限的种类,oracle提供了两种类型的权限系统权限和对象权限。 系统权限提供了在oracle数据库系统范围内执行某种任务的操作能力。而对象权限则是一种赋予用户在指定的数据库对象(如表、视图等)上执行特定类型的操作的权限,权限分配原则,系统权限是一种功能十分强大的权限,能够影响到数

10、据库系统的安全,所以授权系统权限时要十分慎重,不到必要时不要轻易授予系统权限,并且只能授予可靠的用户。 与系统权限不同,对象权限强调的是在某一种数据库对象范围内实施某种操作的能力。这些操作可能是查询某种对象的行的信息(select)、向对象插入行信息(insert)等,授予系统权限,格式: grant 系统权限 to 用户名with admin option 说明: - with admin option:允许用户进行权限的传递,撤销系统权限,格式: revoke 系统权限 from 用户名,授予对象权限,格式: grant 权限集合 on 数据库对象名 to 用户名 with grant o

11、ption 说明: - with grant option:表示允许用户进行权限传递,撤销对象权限,格式: revoke 权限集合 on 数据库对象名 from 用户名,查看权限,角色管理,角色是具有名称的一组系统权限和对象权限的集合。先把一定的权限授予某个角色,可以分配给一个角色任意数量的权限。然后就可以将角色授予用户。当给用户成功授予了某个角色以后,用户将会拥有这个角色所包括的所有权限。一个用户可以被分配给任意数量的角色。 角色管理使用户授权任务变得简单,将权限和用户帐户之间的关系通过角色作为中介有效地、灵活地联系起来。可以对一个角色添加或减少权限,从而改变拥有该角色的用户的权限。当需要更改用户的权限时,可以直接对角色进行修改,而无需单独对每个用户进行操作,创建角色,格式:create role 角色名; 说明:角色名称不得与数据库已有的任何用户名相同,使用角色,功能:使用角色为用户赋予权限便于用户的区分,而DBA也不用每个用户都重新赋予某些权限,快! 实现过程:先给角色赋予相应的权限,然后再把角色象赋予权限一样赋予用户,用户就具有和角色一样的权限了,查看角色,角色的权限,为角色赋权与为用户赋予系统权限和对象权限一样,删除角色,格式:drop role 角色名称,思考题,为角色赋予相应的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论