oracle 11g 转储文件及查询转储文件路径,Oracle 11g应用与认证教程 教学课件 作者 978 7 302 22635 2 第9章 操纵数据库数据.pdf...

第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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值