银符考试题库B12
现在是:
试卷总分:100.0
您的得分:
考试时间为:
点击“开始答卷”进行答题
分类 | 实例恢复 | 介质恢复 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
简介 | 数据库没有正常关闭(即非一致性关闭,例如断电、硬件故障、关键后台进程 出现故障(PMON、LGWR等),执行了SHUTDOWN ABORT或STARTUP FORCE命令)会导致数据库实例在重启时自动使用联机Redo日志和Undo数据 执行实例恢复,具体恢复的工作是由SMON这个后台进程来完成的,SMON自动 应用联机Redo日志文件中的条目和读取Undo表空间中的数据完成实例恢复而不 需要任何用户干预。一个单实例数据库或者RAC数据库所有实例失败之后,第一 个打开数据库的实例会自动执行实例恢复,这种形式的实例恢复称为崩溃恢复 (Crash Recovery)。在RAC环境中,若RAC数据库的一部分但不是所有实例失 败后,在RAC中幸存的实例自动执行失败实例的恢复 |
介质恢复是当存储的数据文件出现故障 (例如,数据文件丢失、损坏)的时候进行 的,介质恢复无法自动进行,必须手动执行 RECOVER DATABASE或者RECOVER DATAFILE命令来实施。在做介质恢复的时 候,需要使用归档日志。介质恢复是基于物 理备份恢复数据,是Oracle数据库出现介质 故障时恢复的重要保障 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发生时机 | 当End SCN不等于Start SCN的时候,数据库需要做实例恢复。若数据库异常 关闭,则End SCN号将为空,数据库就需要做实例恢复 |
当System Checkpoint SCN、Datafile Checkpoint SCN和Start SCN三者中有一个不 同时就需要做介质恢复 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
恢复的目的 | 在数据库发生故障时,确保Buffer Cache中的数据不会丢失;确保数据库可以 处于一致性状态。只有当联机Redo日志文件和Undo表空间的介质没有被破坏才 能确保实例恢复能够成功 |
当数据文件发生故障时,能够恢复数据 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
利用资源 | Online Redo、Active Redo和Undo | Backup Set、Archive Log、Online和Inactive Redo等 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
过程 | 利用Redo前滚(重做);打开数据库;利用Undo回滚 | RESTORE:RECOVER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
是否自动完 成 |
自动完成 | 手动恢复,需要DBA干预,分为完全和不 完全恢复 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
是否需要开 启归档 |
不需要开启归档模式 | 需要开肩归档模式 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
举例 | 用户在8:30:00触发了5个事务,分别是T1、T2、T3、T4、T5。在8:38:00之 前,T3和T5完成,在8:38:00产生了一个检查点事件,此时系统将对数据的更改 都写入数据文件中。在8:38:27时,出现故障,导致实例异常关闭,在8:38:00至 8:38:27之间的操作仅仅记录在Redo日志中,并没有将这些更改写入数据文件中。 当实例重新启动时,SMON将执行实例恢复。例如,在8:43:00分重启实例,SMON 执行实例恢复,整个执行过程可以分为两个部分:前滚和回滚。前滚是指8:38:00 至8:38:27:00之间的操作应用到数据文件上,由于这些操作都记录在Redo日志中, 因此只需要从Redo日志中读取这些操作并执行即可。前滚执行完毕后,SMON 进程立即打开数据库,此时,数据库处于实例异常关闭前的状态。打开数据库后 进入回滚,回滚阶段是指将未提交的事务回滚,即将示例中T1、T2和T4回滚, 在8:45:00时,实例恢复执行完毕 |
在系统重启后发现数据库中数据文件被 rm删除了,这个时候需要执行RESTORE DATABASE和RECOVER DATABASE命令 进行介质恢复 |
属性 | 类型 | 简 介 | 适用对象 | 适用SQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL%FOUND | 布尔型 | 最近的FETCH是否提取到数据,表示一条SQL语句被执行 成功后受其影响而改变的记录数是否大于或等于1,若是则赋值 为TRUE,否则为FALSE。在一条DML语句被执行前, SQL%FOUND的值是NULL |
隐式游标、显式游标 | INSERT、 DELETE、 UPDATE、 SELECT... INTO... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL%NOTFOUND | 布尔型 | 最近的FETCH是否没有提取到数据,表示一条SQL语句被 执行成功后受其影响而改变的记录数是否为0,若是则赋值为 TRUE,否则为FALSE。在一条DML语句被执行前, SQL%NOTFOUND的值是NULL |
隐式游标、显式游标 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL%ROWCOUNT | 数值型 | 表示最近的一条SQL语句成功执行后受其影响而改变的记 录的数最,后续执行的SQL会覆盖SQL%ROWCOUNT的值 |
隐式游标、显式游标 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL%ISOPEN | 布尔型 | 游标是否打开,当游标打开时返回TRUE。对于隐式游标而 言,SQL%ISOPEN的值永远是FALSE |
显式游标 |