Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第5章.ppt

Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第5章.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 重做日志管理 课程描述 不一致状态下的数据库需要做实例恢复或介质恢复,使数据库达到一致状态后才能打开。无论是做实例恢复,还是介质恢复,均需要用到Oracle数据库的重做日志。本章介绍Oracle数据库中重做日志的作用及管理。 本章知识点 操作日志的作用; 重做日志的写入过程; 联机重做日志文件管理; 归档重做日志文件管理。 5.1 重做日志的基本概念 重做日志记录对数据库所做的所有修改,同时还保护还原数据。所以,如果重做日志得到完整保存,无论在数据库出现实例故障还是介质失败时,只要重新读取重做日志,把它们再次应用到相关的数据块中,即可重构对数据库所做的所有修改(包括还原段),将数据库恢复到故障前的状态。 5.1.1 重做日志的内容 重做日志由重做记录(也被称作重做项)组成,重做记录又由一组修改矢量组成,每个修改矢量描述数据库中单个数据块上所发生的改变,它记录的信息包括: 修改对应的SCN和时间戳; 产生这些修改的事务标识号; 事务提交时的SCN和时间戳(如果事务已提交); 产生这些修改的操作类型; 被修改数据段的名称和类型。 5.1.2 重做日志的相关概念 1. 重做日志缓冲区 用户执行数据库操作时,服务器进程把重做记录写入SGA的重做日志缓冲区内进行缓存,之后再由Oracle数据库的后台进程日志写入进程(LGWR)把它们写入联机重做日志文件。这样做可以减少重做日志文件写入的物理I/O次数,提高系统的性能。 当LGWR把重做记录从日志缓冲区写入联机重做日志文件后,服务器进程即可重复使用这部分日志缓冲区缓存重做记录。Oracle把重做日志缓冲区看作一个圆形可循环写入的区域。 5.1.2 重做日志的相关概念 2. 日志写入进程与联机重做日志文件 LGWR在下面情况下把重做日志缓冲区内缓存的重做记录写入联机重做日志文件: 用户提交事务时; 联机重做日志切换时; LGWR上次写入3秒之后; 重做日志缓冲区达到三分之一满,或者缓存的重做日志达到1 MB时; DBWn把脏数据块写入数据文件之前。 5.1.2 重做日志的相关概念 2. 日志写入进程与联机重做日志文件 每个数据库实例至少要有两组联机重做日志文件,以保证在一组文件处于归档操作时,有另一组文件可用于LGWR写入。 鉴于联机重做日志文件的重要性,Oracle数据库也支持联机重做日志文件的多路存储。写入时,LGWR将同步写入联机重做日志文件组内的各个成员。只要一组重做日志内有一个成员可以正常写入,就不会影响Oracle数据库的运行。但当一组内所有成员文件全部损坏时,则会导致数据库实例关闭。。 5.1.2 重做日志的相关概念 3. 日志切换与日志序列号 日志切换指LGWR停止写入一组联机重做日志文件,而开始写入下一组重做日志文件这一操作。Oracle数据库以循环方式依次使用各组重做日志文件。通常情况下,LGWR写满一组日志文件后发生日志切换。但管理员也可在需要时执行下面命令强制进行日志切换,或者设置ARCHIVE_LAG_TARGET参数要求实例定期进行日志切换: ALTER SYSTEM SWITCH LOGFILE; 当日志切换到一组重做日志时,如果Oracle实例还没有完成对这组重做日志的归档操作,这将导致Oracle数据库挂起,等待该组重做日志归档完成后才能继续运行。 5.1.2 重做日志的相关概念 3. 日志切换与日志序列号 发生日志切换时,Oracle实例赋给准备写入的重做日志组一新的日志序列号。归档进程在归档重做日志时会保留日志序列号。日志序列号惟一地标识联机和归档重做日志文件。Oracle在执行实例或介质恢复时,将按照日志序列号而不是日志文件名称判断需要使用哪个联机重做日志文件或归档重做日志文件恢复数据库。 下面命令和SQL语句均可查看各组联机重做日志文件的日志序列号: archive log list SELECT group#, sequence# FROM v$log; 5.1.2 重做日志的相关概念 4. 重做日志文件组的状态 重做日志文件组的状态分为以下几种: ACTIVE:有效状态,指实例恢复时要用这组重做日志文件; CURRENT:当前状态,指LGWR当前正在写入这组日志文件; INACTIVRE:无效状态,实例恢复不再需要这组日志文件; CLEARING:说明执行ALTER DATABASE CLEAR LOGFILE语句后,系统正在清除重做日志文件中的内容; UNUSED:未使用过。新添加的重做日志文件组,或者被清空之后的重做日志文件组处于该状态。 5.1.2 重做日志的相关概念 5. 归档进程与归档重做日志文件 Oracle数据库可以运行在ARCHIVELOG(归档)或NOARCHIVELOG(非归档)模式。二者的

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档