Oracle 11g应用与认证教程 教学课件 作者 978 7 302 22635 2 第9章 操纵数据库数据.pdfVIP

Oracle 11g应用与认证教程 教学课件 作者 978 7 302 22635 2 第9章 操纵数据库数据.pdf

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章操纵数据库数据 宋钰 课程目标 • 通过本章的学习,应该完成以下学习目标: 学会在SQL 中使用SELECT、INSERT、UPDATE和 DELETE语句操纵数据 学会使用数据转储导出数据 学会使用数据转储导入数据 学会使用SQL Loader加载数据 学会创建目录对象 数据库事务 • 原子性(atomicity )原则规定一个事务的各个部分都必须完成,否则 整个事务都不会完成 • 一致性(consistency )的原则规定查询的结果必须与数据库在查询开 始时的状态一致 • 隔离性(isolation )的原则规定对于其他部分来说,未完成的(也就 是未提交的)事务必须不可视 • 持久性(durability )的原则规定:一旦使用COMMIT命令结束某个事务, 那么就必须保证数据库不丢失这个事务。 执行SQL语句 • SELECT • INSERT • UPDATE • DELETE • COMMIT • ROLLBACK • MERGE 执行SELECT语句 • 使用SELECT命令可以检索数据。一条SELECT语句分阶段执行。执行 SELECT语句的服务器进程会首先查看包含所需数据的数据块是否已经 位于内存和数据库高速缓存区中。如果条件成立,那么执行就会立即 继续进行。如果条件不成立,那么服务器必须在磁盘上定位相应的数 据块,并且将这些数据块复制至数据库高速缓存区 • 服务器进程将数据块从数据文件读取至数据库高速缓存区,而DBWn 进程则将数据块从数据库高速缓存区写入数据文件 • 只要查询所需的数据块位于数据库高速缓存区内,那么进一步的处理 (如排序或聚集)就在指定会话的PGA中完成。执行完成后,结果集 返回至用户进程 • 就读一致性而言,如果查询遇到在查询开始之后被改变的数据块,那 么服务器进程会进入保护这个变化的撤销段,从而定位原有数据和回 滚该变化(这个回滚操作只是针对当前的查询) 执行UPDATE语句 • “撤销”不是“重做”的逆过程!对于表段、索引段或撤销段的数据 块的变化来说,重做可以保护所有的数据块变化。就重做而言,撤销 段只是一个段,对这个段所做的任何变化都必须是持久的 • 首先,必须在DML操作影响的所有记录以及关联索引键上放置锁定 • 接下来会生成重做,此时服务器进程在日志缓冲区中写入即将应用于 指定数据块的变化。这个重做生成操作应用于数据块的变化和撤销块 的变化 • 生成重做后,就可以在数据库高速缓存区内完成下列更新操作:使用变 化后的列更新表数据块,未变化的列则被写入撤销段数据块 执行INSERT与DELETE语句 • INSERT和DELETE语句与UPDATE语句具有相同的管理方式。其中,重做 生成操作完全相同,对数据块和撤销块进行的所有变化都会首先被写 入日志缓冲区。二者的差异在于所生成的撤销数据量不同 • 插入一条记录时,生成撤销的操作只涉及为撤销块写下新的rowid • 对于DELETE语句来说,因为整条记录都被写入撤销块,所以在必要时 通过在表中插回整条记录就可以回滚这个删除操作 执行ROLLBACK命令 • 如果出现任何错误,那么后台进程都会完全自动地回滚正在进行的事 务 • 发出ROLLBACK命令时,用户可以执行手动的回滚操作 • 回滚UPDATE语句时,未被更新的列会从撤销块复制回表数据块 • 回滚INSERT语句时,Oracle会从撤销块中检索插入记录的rowid,并且 将其用作在表上进行删除的键 • 回滚DELETE语句时,Oracle会根据撤销块中的数据构造一条完整的插 入语句 执行COMMIT命令 • 执行COMMIT命令时发生的所有物理操作是LGWR进程将日志缓冲区的 内容写入磁盘 • 执行COMMIT命令时,LGWR进程会进行几乎实时的写操作,会话在写 操作期间则会被挂起。这个延迟的时间为将日志缓

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档