资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,#,维护重做日志文件,目标,完成这,一,一课的,学,学习后,,,,您应,该,该能达,到,到下列,目,目标:,解,释,释联机,重,重做日,志,志文件,的,的用途,概,述,述联机,重,重做日,志,志文件,的,的结构,控,制,制日志,切,切换和,检,检查点,对,联,联机重,做,做日志,文,文件进,行,行多元,备,备份和,维,维护,使用重,做,做日志,文,文件,重做日,志,志文件,具,具有以,下,下特征,:,:,记,录,录对数,据,据所做,的,的所有,更,更改,提,供,供恢复,机,机制,可,以,以划分,成,成组,至,少,少需要,两,两个组,使用重,做,做日志,文,文件,利用重,做,做日志,文,文件,,在,在数据,库,库发生,故,故障时,,,,可以,重,重新处,理,理事务,。,。每个,事,事务在,处,处理的,同,同时也,会,会写入,重,重做日,志,志缓冲,区,区,然,后,后刷新,到,到重做,日,日志文,件,件,这,样,样,如,果,果发生,介,介质故,障,障,重,做,做日志,文,文件将,提,提供恢,复,复机制,。,。(但,也,也存在,例,例外情,况,况,例,如,如,在,启,启用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,强,强制,执,执行时,数,据,据库管,理,理员通,过,过手动,方,方式请,求,求时,ALTER TABLESPACE,OFFLINENORMAL|READONLY|BEGINBACKUP,命,令,令导致,对,对特定,数,数据文,件,件执行,检,检查点,操,操作时,如果初,始,始化参,数,数LOG_CHECKPOINTS_TO_ALERT 设,置,置为TRUE,,,,则有,关,关每个,检,检查点,的,的信息,都,都记录,在,在alert,_,_SID.log,文,文件内,。,。该参,数,数缺省,值,值为FALSE,表,示,示不记,录,录检查,点,点。,强制执,行,行日志,切,切换和,检,检查点,强,制,制执行,日,日志切,换,换:,ALTERSYSTEMSWITCH LOGFILE,;,;,可,使,使用以,下,下方式,强,强制执,行,行检查,点,点操作,:,:,设,置,置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),SIZE 1M;,添加联,机,机重做,日,日志文,件,件组,在某些,情,情况下,,,,您可,能,能需要,创,创建其,它,它日志,文,文件组,。,。例如,,,,添加,组,组可以,解,解决可,用,用性问,题,题。,要创建,一,一个新,的,的联机,重,重做日,志,志文件,组,组,请,使,使用下,面,面的SQL,命,命令:,ALTERDATABASE,database,ADDLOGFILE,GROUPintegerfilespec,GROUPintegerfilespec,.,.,.,您可以,通,通过文,件,件说明,来,来指定,成,成员名,称,称和位,置,置。可,以,以选择,每,每个重,做,做日志,文,文件组,的,的GROUP,参,参数,值,值。如,果,果您省,略,略了该,参,参数,Oracle,服,服务,器,器自动,生,生成其,值,值。,添加联,机,机重做,日,日志文,件,件成员,ALTERDATABASEADDLOGFILEMEMBER,$HOME,/,/ORADATA/u04,/,/log1c,.,.rdoTOGROUP1,$HOME,/,/ORADATA/u04,/,/log2c,.,.rdoTOGROUP2,$HOME,/,/ORADATA/u04,/,/log3c,.,.rdoTOGROUP3;,添加联,机,机重做,日,日志文,件,件成员,您可以,使,使用下,面,面的ALTER DATABASE ADDLOGFILE MEMBER,命,命令向,现,现有的,重,重做日,志,志文件,组,组添加,新,新成员,:,:,ALTERDATABASE,database,ADDLOGFILEMEMBER,filename,REUSE,filename,R
展开阅读全文