oracle重做日志文件管理_第1页
oracle重做日志文件管理_第2页
oracle重做日志文件管理_第3页
oracle重做日志文件管理_第4页
oracle重做日志文件管理_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

重做日志文件和控制文件的管理

——重做日志文件管理目标在完成本章学习后,你将掌握下列技能:

重做日志文件组的管理重做日志成员的管理数据库的两种日志模式重做日志的切换本章内容

重做日志文件的作用重做日志文件组的管理重做日志成员的管理数据库的两种日志模式日志切换和检查点本章内容导航

重做日志文件的作用重做日志文件组的管理重做日志成员的管理数据库的两种日志模式日志切换和检查点重做日志文件主要以重做记录的形式记录、保存对数据库所做的修改。如果对一个表的数据进行了修改,并完成了事务的提交,这时数据文件中只存储修改后的数据,但重做日志文件要记录两类数据:一类是修改前的数据,一类是修改后的数据。所以重做日志文件的管理方式与数据文件的管理方式有所不同。重做日志文件的作用重做日志文件记录数据库的任何操作,当数据被意外删除或修改,当出现例程失败或者介质失败,可以利用重做日志文件恢复。本章内容导航

重做日志文件的作用

重做日志文件组的管理重做日志成员的管理数据库的两种日志模式日志切换和检查点重做日志文件组的管理

——什么是重做日志文件组

重做日志文件组(RedoLogGroup)由一组完全相同的重做日志文件组成;每个日志组至少要包含一个重做日志文件;如果一个日志组包含多个重做日志文件,后台进程LGWR会将相同的事务变化写入到同一个日志组的各个重做日志文件中。重做日志文件组的管理

——重做日志文件组查询SQL>selectgroup#,sequence#,members,bytes,status,archivedfromv$log;group#:重做日志组的组号sequence#:重做日志的序列号,供将来数据库恢复时使用members和bytes:重做日志组成员的个数和大小archived:是否归档status:状态,有inactive、active、current和

unused

4种常用状态重做日志文件组的管理

——重做日志文件组查询status字段的4种状态inactive:实例恢复不用的联机重做日志组active:该联机重做日志文件是活动的但不是当前组,在实例恢复时需要这组联机重做日志current:当前正在写入的联机重做日志文件组unused:Oracle服务器从未写过该联机重做日志文件组,这是重做日志刚被添加到数据库中的状态。重做做日日志志文文件件组组的的管管理理———创建建重重做做日日志志文文件件组组创建建重重做做日日志志文文件件组组语语法法ALTERDATABASE[数据据库库名名]ADDLOGFILE[GROUP正整整数数]文件件名名[,[GROUP正整整数数]文件件名名,……]--向数数据据库库添添加加一一个个新新的的重重做做日日志志组组4,包包括括两两个个成成员员,,每每个个成成员员大大小小为为10M。SQL>Alterdatabaseaddlogfilegroup4(‘‘c:\redo04_1.log’’,’’c:\redo04_2.log’’)size10m;--查看修修改后后的效效果SQL>Alterdatabasebackupcontrolfiletotrace建议::在命命名重重做日日志文文件时时,最最好能能使用用类似似redomm_n.log的规则则,其其中mm表示组组号,,n表示成成员号号。若MAXLOGFILES=16则,SQL>Alterdatabaseaddlogfilegroup18(‘c:\redo18_1.log’)size10m;?????如何去去看MAXLOGFILES的值是是多少少?本章内内容导导航重做日日志文文件的的作用用重做日日志文文件组组的管管理重做日日志成成员的的管理理数据库库的两两种日日志模模式日志切换和和检查点重做日志成成员的管理理——什么是重做做日志成员员重做日志组组中的每个个重做日志志文件又叫叫做重做日日志成员(RedoLogMember)。Oracle默认每个重重做日志组组只有一个个成员,但但建议在实实际应用中中应该每个个重做日志志组至少有有两个成员员,而且最最好将它们们放在不同同的物理磁磁盘上,以以防止一个个成员损坏坏了,所有有日志信息息就不见的的情况发生生。重做日志成成员的管理理——重做日志成成员查询SQL>select*fromv$logfile;status字段的含义义如下:空白:该文文件正在使使用。stale:该文件中中的内容是是不完全的的。invalid:该文件不可可以被访问。。deleted:该文件已不不再有用了。。重做日志成员员的管理——创建重做日志志成员创建重做日志志成员语法ALTERDATABASE[数据库名]ADDLOGFILEMEMBER[‘文件名’[REUSE][,‘文件名’[REUSE]]…TO{GROUP正整数|(‘文件名’[,’文件名’]…)}]…--向组号4的组添加新的的成员SQL>alterdatabaseaddlogfilemember‘c:\redo04_3.log’togroup4--如果不知道组组编号,也可可以通过制定定本组中其他他成员的名称称来添加新的的成员SQL>alterdatabaseaddlogfilemember‘c:\redo04_3.log’to(‘c:\redo04_1.log’,‘‘c:\redo04_2.log’’)重做日志成员员的管理——删除重做日志志成员删除重做日志志成员语法ALTERDATABASE[数据库名]DROPLOGFILEMEMBER‘文件名’[,’文件名’]…不能删除当当前重做日日志组的成成员,如果果要删除的的话,先使使用altersystemswitchlogfile进行切换。。因为刚加入入的成员状状态都是invalid,如果要删删除刚加入入的成员,,在删除它它们之前可可能要进行行若干次日日志切换。。比较容易易的方法是是重启数据据库,之后后就可以轻轻松删除这这些成员了了。如果使用了了多路复用用重做日志志文件,但但某个组的的某个成员员不能再使使用了,就就要删除其其他组的某某个成员,,以便所有有组都有相相同个数的的成员,这这样多路复复用重做日日志才可以以暂时变得得对称。当当然如果某某个组包含含多个成员员,删除某某个成员是是不会数据据库的运行行造成影响响的,因为为并不要求求每个组一一定要有相相同个数的的成员。不管组中包包含多少成成员,一个个例程至少少需要2个有效的重重做日志文文件组,每每组有一个个或多个成成员。如果果要删除的的成员是组组的最后一一个有效成成员,那么么就不能删删除该成员员,直到其其他成员变变为有效为为止。只有当要删删除的重做做日志成员员current时才能删除除。如果想想删除某个个活动组的的成员,首首先要手动动地进行日日志切换,,将该组变变成active/inactive状态。在删除重做做日志成员员之前,要要确定该成成员所属的的组是经过过归档的。。(V$LOG)当从数据库库中删除了了重做日志志文件组成成员后,实实际上并没没有将该成成员使用的的操作系统统文件从磁磁盘中删除除。此时只是更更新了相关关数据库的的控制文件,以便从数数据库结构构中删除该该成员。所所以在删除除该成员后后,先要确确定删除操操作已成功功完成,然然后再使用用合适的操操作系统命命令删除对对应的重做做日志文件件。如何查看当当前数据库库例程的控控制文件内内容?参数文件的的内容呢??重做日志文文件组的管管理——删除重做日日志文件组组删除重做日日志文件组组语法ALTERDATABASE[数据库名]DROPLOGFILE{GROUP正整数|(‘文件名’[,‘文件名’]…)}[,{GROUP正整数|(‘文件名’[,’文件名’]…)}]…当前使用的的重做日志志组不能删删除,如果果要删除的的话,先使使用altersystemswitchlogfile进行切换。。数据库实例例至少需要要两组重做做日志才能能正常工作作。当重做做日志被删删除后,它它的操作系系统文件要要用操作系系统命令删删除。本章内容导导航重做日志文文件的作用用重做日志文文件组的管管理重做日志成成员的管理理数据库的两两种日志模模式日志切换和和检查点数据库的两两种日志模模式日志信息循循环写入重重做日志文文件,即写写满一个文文件换下一一个文件。。在往原来的的重做日志志文件中循循环写入日日志信息时时,存在两两种处理模模式。一种种不需要数数据库进行行自动备份份,叫做非归档模式式;当重做日日志改写原原有的重做做日志文件件以前,数数据库会自自动对原有有的日志文文件进行备备份的话,,这种操作作模式就叫叫做归档模式。数据库的两两种日志模模式查看数据库库重做日志志文件的归归档方式SQL>archiveloglist;归档进程(ARCH)可选的后台台处理进程程在归档模式式时开始自自动归档联联机重做日日志文件保留所有针针对数据库库的改变可以切换轮轮询存储ARCHArchivedredologfilesControlfilesDatafilesRedologfiles本章内容导导航重做日志文文件的作用用重做日志文文件组的管管理重做日志成成员的管理理数据库的两两种日志模模式日志切换和和检查点日志切换日志切换是是指停止向向某个重做做日志文件件组写入而而向另一个个联机的重重做日志文文件组写入入。在日志切换换同时,还还要产生检检查点操作作,还有一一些信息被被写入控制制文件中。。每次日志切切换都会分分配一个新新的日志顺顺序号,归归档时也将将顺序号进进行保存。。每个联联机或归档档的重做日日志文件都都通过它的的日志顺序序号进行唯唯一标识。。日志切换::当LGWR进程停止向向某个重做做日志文件件写入而开开始向另一一个联机重重做日志文文件写入的的那一刻,,称为日志志切换。UNUSED新加入组CURRENTACTIVEINACTIVE日志志切切换换日志志切切换换的的三三种种方方式式重做做日日志志文文件件组组容容量量满满的的时时候候,,会会发发生生日日志志切切换换。。以时时间间指指定定日日志志切切换换的的方方式式::如如我我们们可可以以以以一一个个星星期期或或者者一一个个月月作作为为切切换换的的单单位位,,这这样样就就不不用用理理会会是是否否写写满满。。强行行日日志志切切换换::出出于于数数据据库库维维护护的的需需要要,,如如当当发发现现存存放放数数据据重重做做日日志志的的硬硬盘盘容容量量快快用用光光时时,,需需要要换换一一块块硬硬盘盘,,此此时时,,就就需需要要在在当当前前时时刻刻,,进进行行日日志志的的切切换换动动作作。。日志切换换强行日志志切换SQL>altersystemswitchlogfile;当发生日日志切换换时,系系统会在在后台完完成checkpoint的操作,,以保证证控制文文件、数数据文件件头、日日志文件件头的SCN一致,是是保持数数据完整整性的重重要机制制。强行产生生检查点点SQL>altersystemcheck;还可设置置参数fast_start_mttr_target来强制产产生检查查点,如如fast_start_mttr_target=900表示实例例恢复的的时间不不会超过过900秒。移动重做做日志文文件要改变重重做日志志文件的的位置或或名称,,必须拥拥有alterdatabase系统权限限。另外,也也可能需需要操作作系统权权限(以以便将文文件复制制到理想想的位置置),和和用来打打开和备备份数据据库的权权限。在改变重重做日志志文件的的位置和和名称之之前,或或者对数数据库做

温馨提示

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

评论

0/150

提交评论