ORACLE数据库管理基础五_第1页
ORACLE数据库管理基础五_第2页
ORACLE数据库管理基础五_第3页
ORACLE数据库管理基础五_第4页
ORACLE数据库管理基础五_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

维护重做日志文件目标 完成这一课的学习后,您应该能达到下列目标: •解释联机重做日志文件的用途 •概述联机重做日志文件的结构 •控制日志切换和检查点 •对联机重做日志文件进行多元备份和维护使用重做日志文件重做日志文件具有以下特征:•记录对数据所做的所有更改•提供恢复机制•可以划分成组•至少需要两个组使用重做日志文件利用重做日志文件,在数据库发生故障时,可以重新处理事务。每个事务在处理的同时也会写入重做日志缓冲区,然后刷新到重做日志文件,这样,如果发生介质故障,重做日志文件将提供恢复机制。(但也存在例外情况,例如,在启用NOLOGGING子句的情况下对象中的直接加载插入。)写入的信息包括尚未提交的事务处理、还原段信息以及方案和对象管理语句。重做日志文件用来在例程失败等情况下恢复尚未写入数据文件的提交数据。重做日志文件只用于恢复。重做日志文件的结构重做日志文件的结构数据库管理员可设置Oracle数据库以维护联机重做日志文件副本,来避免由于单点故障丢失数据库信息。联机重做日志文件组:•一组相同的联机重做日志文件副本称作联机重做日志组。•LGWR后台进程向组内所有联机重做日志文件并发写入相同信息。•为保证数据库的正常操作,Oracle服务器最少需要两个联机重做日志文件组。联机重做日志文件成员:•组内的每个联机重做日志文件称为成员。•组内的每个成员都有相同的日志序列号和同样的大小。Oracle服务器每次写入日志组时,都分配一个日志序列号以唯一地识别每个重做日志文件。当前日志序列号存储在控制文件和所有数据文件的标头内。创建初始重做日志文件联机重做日志文件组和成员的初始集是在数据库创建时创建的。下面的参数限制了联机重做日志文件的数量:•CREATEDATABASE命令中的MAXLOGFILES参数指定联机重做日志文件组的绝对最大数量。•MAXLOGFILES的最大值和缺省值取决于您的操作系统。•CREATEDATABASE命令所使用的MAXLOGMEMBERS参数决定每个组的成员的最大数量。MAXLOGMEMBERS的最大值和缺省值取决于您的操作系统。重做日志文件如何发挥作用•重做日志文件是以循环方式使用的。•一旦某个重做日志文件被写满,LGWR就会移动到下一个日志组。–这称为日志切换–同时还将执行检查点操作–将信息写入控制文件重做日志文件如何发挥作用Oracle服务器将对数据库所做的所有更改按顺序记录到重做日志缓冲区中。LGWR进程把重做条目从重做日志缓冲区写入联机重做日志组的其中一个组,这个组叫做当前联机重做日志组。LGWR进程将在以下情况下写入:•当提交事务处理时•当重做日志缓冲区被写满三分之一时•当重做日志缓冲区内的已更改记录超过1MB时•在DBWn将数据库缓冲区高速缓存中修改的块写入数据文件之前重做日志文件是以循环方式使用的。每个重做日志文件组用一个日志序列号来标识,每次重新使用日志时就会覆盖原来的序列号。重做日志文件如何发挥作用日志切换:LGWR按顺序向联机重做日志文件写入重做信息。一旦当前联机重做日志文件组被写满,LGWR就开始写入下一个组。这称为日志切换。当最后一个可用联机重做日志文件已满时,LGWR将返回第一个联机重做日志文件组并开始重新写入。重做日日志文文件如如何发发挥作作用检查点点:在检查点期期间:•大量的的灰数据库库缓冲区数数据(由正正在经历检检查点事件件的日志所所覆盖)被被DBWn写入到到数据文件件中。DBWn写写入的缓冲冲区的数量量是由参数数FAST_START_MTTR_TARGET决定定的(如果果已指定))。缺省值值为零。注:Oracle9i数据库管理理基础II课程中详细细介绍了FAST_START_MTTR_TARGET参数数。•检查点点后台进程程CKPT更新控控制文件以以反映该进进程已成功功完成。如如果检查点点是由日志志切换引起起的,CKPT还还会更新数数据文件的的标头。可以针对数数据库中的的所有数据据文件执行行或者只针针对特定数数据文件执执行检查点点操作。重做日志文文件如何发发挥作用例如,检查查点可发生生在下面情情况中:•每次日日志切换时时•当已通通过正常、、事务处理理或者立即即选项关闭闭例程时•通过设设置初始化化参数FAST_START_MTTR_TARGET强制执执行时•数据库库管理员通通过手动方方式请求时时•ALTERTABLESPACE[OFFLINENORMAL|READONLY|BEGINBACKUP]命令令导致对特特定数据文文件执行检检查点操作作时如果初始化化参数LOG_CHECKPOINTS_TO_ALERT设设置为TRUE,则则有关每个个检查点的的信息都记记录在alert_SID.log文文件内。。该参数缺缺省值为FALSE,表示不不记录检查查点。强制执行行日志切切换和检检查点•强制制执行日日志切换换:ALTERSYSTEMSWITCHLOGFILE;•可使使用以下下方式强强制执行行检查点点操作::–设置置FAST_START_MTTR_TARGET参数FAST_START_MTTR_TARGET=600–ALTERSYSTEMCHECKPOINT命令ALTERSYSTEMCHECKPOINT;强制执行行日志切切换和检检查点如前所述述,日志志切换和和检查点点操作是是在数据据库运行行中的某某些特定定点自动动执行的的,但DBA可可以强制制执行日日志切换换或检查查点操作作。强制执行行检查点点:FAST_START_MTTR_TARGET参数数取代了了不赞成成使用的的参数::•FAST_START_IO_TARGET•LOG_CHECKPOINT_TIMEOUT如果使用用参数FAST_START_MTTR_TARGET,就不不能再使使用这两两个不赞赞成使用用的参数数。在上面的的示例中中,已设设置了FAST_START_MTTR_TARGET参数数,因此此例程恢恢复所用用的时间间不应超超过600秒秒。数据据库将根根据这一一目标来来调整其其它参数数添加联机机重做日日志文件件组ALTERDATABASEADDLOGFILEGROUP3('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE1M;添加联机重做做日志文件组组在某些情况下下,您可能需需要创建其它它日志文件组组。例如,添添加组可以解解决可用性问问题。要创建一个新新的联机重做做日志文件组组,请使用下下面的SQL命令:ALTERDATABASE[database]ADDLOGFILE[GROUPinteger]filespec[,[GROUPinteger]filespec]...]您可以通过文文件说明来指指定成员名称称和位置。可可以选择每个个重做日志文文件组的GROUP参参数值。如果果您省略了该该参数,Oracle服服务器自动动生成其值。。添加联机重做做日志文件成成员ALTERDATABASEADDLOGFILEMEMBER'$HOME/ORADATA/u04/log1c.rdo'TOGROUP1,'$HOME/ORADATA/u04/log2c.rdo'TOGROUP2,'$HOME/ORADATA/u04/log3c.rdo'TOGROUP3;添加联机重做做日志文件成成员您可以使用下下面的ALTERDATABASEADDLOGFILEMEMBER命令向现现有的重做日日志文件组添添加新成员::ALTERDATABASE[database]ADDLOGFILEMEMBER['filename'[REUSE][,'filename'[REUSE]]...TO{GROUPinteger|('filename'[,'filename']...)}]...请使用日志文文件成员的完完全指定名;;否则将在数数据库服务器器缺省目录下下创建该文件件。如果该文件已已经存在,其其大小必须与与指定值相同同,并且必须须指定REUSE选项项。您可以通通过指定一个个或多个组内内成员或者指指定组号来识识别目标组。。添加联机重做做日志文件成成员使用OracleEnterpriseManager添加重做日志志文件组和成成员从“OEM控控制台”(OEMConsole):1.导航到到“数据库””(Databases)>““存储”(Storage)。。2.单单击击““重重做做日日志志组组””(RedoLogGroups)文文件件夹夹。。3.单单击击鼠鼠标标右右键键,,从从弹弹出出的的菜菜单单中中选选择择““创创建建””(Create)。。4.在在““常常规规””(General)选选项项卡卡中中,,填填写写创创建建重重做做日日志志文文件件组组和和成成员员所所需需的的信信息息。。5.单单击击““创创建建””(Create)。。删除除联联机机重重做做日日志志文文件件组组ALTERDATABASEDROPLOGFILEGROUP3;删除除联联机机重重做做日日志志文文件件组组若要要增增大大或或者者减减小小联联机机重重做做日日志志文文件件组组的的大大小小,,请请添添加加新新的的联联机机重重做做日日志志文文件件组组((具具有有新新的的大大小小)),,然然后后删删除除旧旧组组。。可以使使用下下面的的ALTERDATABASEDROPLOGFILE命命令令删除除整个个联机机重做做日志志文件件组::ALTERDATABASE[database]DROPLOGFILE{GROUPinteger|('filename'[,'filename']...)}[,{GROUPinteger|('filename'[,'filename']...)}]...限制::•一一个例例程至至少需需要两两组联联机重重做日日志文文件。。•无无法删删除活活动组组或者者当前前组。。•删删除联联机重重做日日志文文件组组时并并不删删除操操作系系统文文件。。删除联联机重重做日日志文文件成成员ALTERDATABASEDROPLOGFILEMEMBER'$HOME/ORADATA/u04/log3c.rdo';删除联联机重重做日日志文文件成成员如果联联机重重做日日志文文件成成员无无效,,则最最好删删除它它。如如果要要删除除一个个或多多个特特定的的联机机重做做日志志文件件成员员,请请使用用下面面的ALTERDATABASEDROPLOGFILEMEMBER命命令令:ALTERDATABASE[database]DROPLOGFILEMEMBER'filename'[,'filename']...限制::•如如果要要删除除的是是组内内的最最后一一个有有效成成员,,那么么您不不能删删除该该成员员。•如如果该该组是是当前前组,,那么么必须须先强强制执执行日日志文文件切切换,,然后后才能能删除除该成成员。。•如如果数数据库库正运运行在在ARCHIVELOG模模式下下并且且未将将该成成员所所属日日志文文件组组归档档,那那么您您无法法删除除该成成员。。•删删除联联机重重做日日志文文件成成员时时,如如果没没有使使用OMF功功能,,则不不会删删除操操作系系统文文件。。删除联联机重重做日日志文文件成成员使用OracleEnterpriseManager删除重重做日日志文文件组组和成成员::从“OEM控控制台台”(OEMConsole)::1.导导航航到““数据据库””(Databases)>““存储储”(Storage)。。要删除除组,,请执执行以以下操操作::1.展展开开“重重做日日志组组”(RedoLogGroups)文文件件夹,,然后后选择择要删删除的的重做做日志志文件件组。。2.单单击击鼠标标右键键,从从弹出出的菜菜单中中选择择“删删除””(Remove)。。3.确确认认删除除。要删除除成员员,请请执行行以下下操作作:1.展展开开“重重做日日志组组”(RedoLogGroups)文文件件夹,,然后后导航航到包包含要要删除除的成成员的的组。。2.在在““常规规”(General)页页中中,突突出显显示该该成员员,然然后单单击鼠鼠标右右键,,从弹弹出的的菜单单中选选择““删除除”(Remove)。3.确确认认删除除。重定位位或重重命名名联联机重重做日日志文文件使用以以下两两种方方法之之一重重定位位或重重命名名联机机重做做日志志文件件:•ALTERDATABASECLEARLOGFILE命令–将联机机重做日志志文件复制制到新的位位置–执行该该命令ALTERDATABASECLEARLOGFILE'$HOME/ORADATA/u01/log2a.rdo';•添加新新成员并删删除旧成员员重定位或重重命名联联机重做日日志文件可以通过重重命名联机机重做日志志文件来更更改联机重重做日志文文件的位置置。在重命命名联机重重做日志文文件之前,,请确保新新的联机重重做日志文文件已存在在。Oracle服服务器仅仅更改控制制文件内的的指针,并并不从物理理上重命名名或创建任任何操作系系统文件。。下面的ALTERDATABASERENAMEFILE命令可可更改联机机重做日志志文件的名名称:SQL>ALTERDATBASE[database}2RENAMEFILE‘filename’[,’filename’’]…3TO‘‘filename’]……重定位或重重命名联联机重做日日志文件使用OracleEnterprise重定位或重重命名重做做日志文件件组和成员员从“OEM控制台台”(OEMConsole)::1.导航航到“数据据库”(Databases)>“存储储”(Storage)>“重重做日志组组”(RedoLogGroups)。2.选择择一个重做做日志文件件组。3.修改改重做日志志文件成员员的“文件件名”(FileName)或或“文件目目录”(FileDirectory)以以重定位或或重命名该该成员。4.单击击“应用””(Apply)。联机重做日日志文件的的配置联机重做日日志文件的的配置要确定一个个数据库例例程的联机机重做日志志文件的合合适数量,,您必须测测试不同的的配置。在某些情况况下,数据据库例程可可能只需要要两个组。。在其它情情况下,数数据库例程程可能需要要更多的组组以保证各各个组始终终可供LGWR使使用。例如如,如果LGWR跟跟踪文件件或警报文文件中的消消息表明LGWR经经常不得得不因为检检查点操作作尚未完成成或者组尚尚未归档而而等待,您您就需要添添加组。尽管Oracle服服务器允允许多元备备份的组可可以包含不不同数量的的成员,但但应该尽量量建立对称称配置。不对称配置置应只是非非常情况((如磁盘故故障)的临临时结果。。联机重做日日志文件的的位置:对联机重做日日志文件进行行多元备份时时,请将组内内的成员放置置在不同磁盘盘上。这样,,即使一个成成员不可用而而其它成员可可用,该例程程也不会关闭闭。将归档日志文文件和联机重重做日志文件件分放在不同同磁盘上,以以减少ARCn和LGWR后台台进程之间的的争用。获取组和成员员的信息可通过查询以以下视图来获获取有关组及及其成员的信信息:•V$LOG•V$LOGFILE获取组和成员员的信息V$LOG视图:下面的查询返返回控制文件件中关于联机机重做日志文文件的信息::SQL>SELECTgroup#,sequence#,bytes,members,status2FROMv$log;GROUP#SEQUENCE#BYTESMEMBERSSTATUS---------------------------------------------168810485761CURRENT268910485761INACTIVE2rowsselected.下面的项是STATUS列的常见见值:•UNUSED:表示示从未对联机机重做日志文文件组进行写写入。这是刚刚添加的联机机重做日志文文件的状态。。•CURRENT:表表示当前的联联机重做日志志文件组。这这说明该联机机重做日志文文件组是活动动的。•ACTIVE:表示示联机重做日日志文件组是是活动的,但但是并非当前前联机重做日日志文件组。。崩溃恢复需要要该状态。它它可用于块恢恢复。它可能能已归档,也也可能未归档档。获取组和成员员的信息•CLEARING::表示在执行行ALTERDATABASECLEARLOGFILE命命令后正在将将该日志重建建为一个空日日志。日志清清除后,其状状态更改为UNUSED。•CLEARING_CURRENT:表示示正在清除当当前日志文件件中的已关闭闭线程。如果果切换时发生生某些故障,,如写入新日日志标头时发发生了输入/输出(I/O)错误误,则日志可可能处于此状状态。•INACTIVE::表示例程恢恢复不再需要要联机重做文文件日志组。。它可能已归归档,也可能能未归档。获取组和成员员的信息V$LOGFILE视图:若要获取组内内所有成员的的名称,请查查询V$LOGFILE视图。SQL>SELECTmemberFROMV$LOGFILE;MEMBER-------------------------------------/u01/home/db03/ORADATA/u03/log02a.rdo/u01/home/db03/ORADATA/u03/log01a.rdoSTATUS列的值可可以为下列之之一:•INVALID:表表明该文件不不可访问•STALE:表示文文件内容不完完全•DELETED:表表明该文件已已不再使用•空白表明明文件正在使使用中归档的重做日日志文件•已满的联联机重做日志志文件可以归归档。•在ARCHIVELOG模式下运行数数据库并对重重做日志文件件进行归档有有两个好处::–恢复:数数据库备份连连同联机重做做日志文件和和归档重做日日志文件可共共同确保恢复复所有已提交交的事务处理理。–备份:可可在数据库打打开时执行备备份。•缺省情况况下,数据库库是在NOARCHIVELOG模式下创建的的。归档的重做日日志文件数据库管理员员(DBA)必须做出出的一个重要要决策是:将将数据库配置置为在ARCHIVELOG模式式下还是在NOARCHIVELOG模式下下操作。NOARCHIVELOG模式:在NOARCHIVELOG模式式下,每次联联机重做日志志文件已满并并发生日志切切换时,都要要覆盖联机重重做日志文件件。直到对重重做日志文件件组的检查点点操作完成后后,LGWR才覆盖该该重做日志文文件组。ARCHIVELOG模式:如果数据库配配置为在ARCHIVELOG模模式运行下,,那么必须将将已满的联机机重做日志文文件的不活动动组归档。因因为对数据库库所做的所有有更改都记录录在联机重做做日志文件内内,数据库管管理员可以使使用物理备份份和归档的联联机重做日志志文件恢复数数据库,而不不会丢失任何何已提交数据据。归档联机重做做日志文件有有两种方法::•手动•自动(建建议采用的方方法)归档的重做日日志文件ARCHIVELOG模式(续)::LOG_ARCHIVE_START初始化化参数表明例例程启动时,,使用手动还还是自动归档档。•TRUE:TRUE表示归档档是自动的。。ARCn将将在每次日日志切换时开开始将

温馨提示

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

评论

0/150

提交评论