第8讲 控制文件与日志文件的管理ppt课件_第1页
第8讲 控制文件与日志文件的管理ppt课件_第2页
第8讲 控制文件与日志文件的管理ppt课件_第3页
第8讲 控制文件与日志文件的管理ppt课件_第4页
第8讲 控制文件与日志文件的管理ppt课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、第第8 8章章 控制文件与日志文件的管理控制文件与日志文件的管理 Oracle数据库包含三种类型的物理文件数据文件、控制文件和重做日志文件,其中数据文件是用来存储数据的,而控制文件和日志文件则是用于维护Oracle数据库的正常运行。保证控制文件和重做日志文件的可用性和可靠性是确保Oracle数据库正常、可靠运行的前提条件。1本章知识要点:本章知识要点:了解控制文件的用途理解控制文件的内容管理控制文件了解日志文件的用途掌握对日志文件的基本管理理解归档的概念切换数据库到归档模式设置归档参数使用LogMiner分析日志文件28.1 8.1 管理控制文件管理控制文件 每个Oracle数据库都必须至少具

2、有一个控制文件。控制文件是一个很小的二进行格式的操作系统文件,在其中记录了关于数据库物理结构的基本信息,包括数据库的名称、相关的数据文件和重做日志文件的名称和位置、当前的日志序列号等内容。在加载数据库时,Oracle实例将读取控制文件中的内容。如果无法找到可用的控制文件,数据库将无法加载,并且很难恢复。38.1.1 8.1.1 控制文件简介控制文件简介 控制文件是Oracle数据库最重要的物理文件,它以二进制文件的形式在。不仅记载了数据库的特理结构信息即构成数据库的数据文件和日志文件),在装载和打开数据时也需要这些文件,而且它们还记载了日志序列号、检查点和日志历史信息,同步和恢复数据库时需要这

3、些信息。在创建数据库时会创建控制文件,如果数据库发生改变,则系统会自动修改控制文件,以记录当前数据库的状态。 大小一般在210MB之间48.1.1 8.1.1 控制文件简介控制文件简介 控制文件包含的几项内容:1、数据库名和标识 ,DB_NAME,SID2、数据库创建时间戳3、表空间名4、数据文件、重做日志文件的名称和位置5、当前重做日志文件序列号6、检查点信息7、UNDO SEGMENT的起始和结束8、重做日志归档信息9、备份信息58.1.2 8.1.2 复合控制文件复合控制文件 因为控制文件非常重要,所以为了防止控制文件的损坏或丢失,应用将控制文件复合。Oracle建议每个数据库应该包含两

4、个或两个以上的控制文件。但需要注意,Oracle数据库最多可以包含8个控制文件。当复合控制文件时,为了防止磁盘损坏导致控制文件丢失或损坏。68.1.2 8.1.2 复合控制文件复合控制文件启动实例使用启动实例使用PFILEPFILE,复合程序:,复合程序:1 1、手动修改初始化参数、手动修改初始化参数CONTROL_FILESCONTROL_FILESCONTROL_FILES=(CONTROL_FILES=(“D:APPADMINISTRATORORADATEORCLCONTROL01.CTLD:APPADMINISTRATORORADATEORCLCONTROL01.CTL”, ,“D:A

5、PPADMINISTRATORORADATEORCLCONTROL02.CTLD:APPADMINISTRATORORADATEORCLCONTROL02.CTL”, ,“D:APPADMINISTRATORORADATEORCLCONTROL03.CTLD:APPADMINISTRATORORADATEORCLCONTROL03.CTL”, ,“E:ORADATAORCLCONTROL01.CTLE:ORADATAORCLCONTROL01.CTL”, ,“E:ORADATAORCLCONTROL02.CTLE:ORADATAORCLCONTROL02.CTL”, ,“E:ORADATAOR

6、CLCONTROL03.CTLE:ORADATAORCLCONTROL03.CTL”););2 2、关闭数据库、关闭数据库3 3、复制控制文件呢、复制控制文件呢4 4、启动数据库、启动数据库Startup pfile= Startup pfile= D:APPADMINISTRATORORADATEORCLpfileinit.oraD:APPADMINISTRATORORADATEORCLpfileinit.ora78.1.2 8.1.2 复合控制文件复合控制文件启动实例使用启动实例使用SPFILESPFILE,复合程序:,复合程序:1 1、修改初始化参数、修改初始化参数controll_fi

7、lescontroll_filesAlter system set Alter system set control_files=control_files=D:APPADMINISTRATORORADATEORCLCD:APPADMINISTRATORORADATEORCLCONTROL01.CTLONTROL01.CTL, ,D:APPADMINISTRATORORADATEORCLCONTROL02.CTLD:APPADMINISTRATORORADATEORCLCONTROL02.CTL, ,D:APPADMINISTRATORORADATEORCLCONTROL03.CTLD:APP

8、ADMINISTRATORORADATEORCLCONTROL03.CTL, ,E:ORADATAORCLCONTROL01.CTLE:ORADATAORCLCONTROL01.CTL, ,E:ORADATAORCLCONTROL02.CTLE:ORADATAORCLCONTROL02.CTL, ,E:ORADATAORCLCONTROL03.CTLE:ORADATAORCLCONTROL03.CTLScope=spfile;Scope=spfile;88.1.2 8.1.2 复合控制文件复合控制文件启动实例使用启动实例使用SPFILESPFILE,复合程序:,复合程序:2 2、关闭数据库,备

9、份控制文件、关闭数据库,备份控制文件3 3、启动数据库、启动数据库如果某个控制文件丢失或损坏,数据库将无法装载,将产生如果某个控制文件丢失或损坏,数据库将无法装载,将产生ORA-00205:error in identifying controlfile,check ORA-00205:error in identifying controlfile,check alert log more infoalert log more info应修改应修改control_filescontrol_files,去掉坏或丢失的控制文件,重启数,去掉坏或丢失的控制文件,重启数据库。据库。98.1.3 8.

10、1.3 建立控制文件建立控制文件 在一般情况下,如果使用了复合控制文件,并且将各个控制文件分别存储在不同的磁盘中,则丢失全部控件文件的可能性将非常小。但是,如果数据库的所有控制文件全部丢失,这时惟一的补救方法就是以手动方式重新创建控制文件。 修改数据库的某个永久性参数,如:数据库名称,MAXLOGFILES,MAXLOGMEMBERS108.1.3 8.1.3 建立控制文件建立控制文件1、查看数据库中所有的数据文件和重做日志文件名称和位置Select member from v$logfile ;Select name from v$datafile;Select name from v$co

11、mtrolfile;如果数据库无法启动,只能查看警告文件的内容。2、关闭数据库 Shutdown immediate;3、在操作系统备份数据文件和重做日志文件。4、启动实例,但不加载数据库Startup nomount;5、建立控制文件需要sysdba权限)118.1.3 8.1.3 建立控制文件建立控制文件Create controfile reuse database “orcl” logfile group 1 d:appuseroradataorclredo01.log, datafile d:appuseroradataorclsysten01.dbf, maxlogfiles 50

12、 maxlogmembers 3 maxinstances 6 maxdatafiles 200 noresetlogs /仍然使用原有的重做日志 noarchivelog; /不归档日志128.1.3 8.1.3 建立控制文件建立控制文件 6、编辑初始化参数control_files,指向新建的控制文件 Alter system set control_files= ; 7、打开数据库 alter database open; 如何创建文件时使用resetlogs,按以下方式恢复: alter database open resetlogs;138.1.4 8.1.4 控制文件的备份与恢复控

13、制文件的备份与恢复 为了提高数据库的可靠性,降低由于丢失控制文件而造成灾难性后果的可能性,DBA需要经常对控制文件进行备份。特别是当修改了数据库结构之后,需要立该对控制文件进行备份。 Alter database backup controfile to d:backup_controlfilecontrol_08_05-04.bkp;备份为可读的文本文件: alter database backup controlfile to trace;通过副本,恢复数据库:1、关闭数据库 shutdown immediate2、 恢复文件3、重新启动数据库 startup148.1.5 8.1.5 删

14、除控制文件删除控制文件 为了防止控制文件被损坏,应该启用复合控制文件。但是,当多个复合控制文件中任意一个被损坏后,都将导致无法装载Oracle数据库。这时为了使得数据库可以正常工作,只需要删除损坏的控制文件即可。 关闭数据库编辑初始化参数重启数据库物理上删除数据库158.1.6 8.1.6 查看控制文件信息查看控制文件信息 控制文件是一个二制文件,其中被分隔为许多部分,分别记录各种类型的信息。每一类信息称为一个记录文档段。控制文件的大小在创建时即被确定,其中各个记录文档段的大小也是固定的。V$controlfile 控制文件的名称和状态信息V$controlfile_record_sectio

15、n 控制文件中各个记录文档段的信息V$parmeter 系统的所有初始化参数168.2 8.2 管理重做日志文件管理重做日志文件 在Oracle中,事务对数据库所做的修改将以重做记录的形式保存在重做日志缓存中。当事务提交时,由LGWR进程将缓存中与该事务相关的重做记录全部写入重做日志文件,此时该事务被认为成功提交。重做日志对数据库恢复来说是至关重要的,因而,对日志的管理也是DBA的日常工作的一部分。178.2.1 8.2.1 重做日志简介重做日志简介 日志文件也称为重做日志文件Redo Log File),重做日志文件用于记载事务操作所引起的数据库变化。执行DDL或DML操作时,Oracle会

16、将事务变化的信息顺序写入重做日志。当丢失或损坏数据库中的数据时,Oracle会根据重做日志文件中的记录,恢复丢失的数据。188.2.1 8.2.1 重做日志简介重做日志简介 重做记录将以循序方式在SGA区的重做日志高速缓存中进行缓存。当一个事物被提交时,LGWR将相关记录写入日志文件,并生成一个“系统变更码SCN”,保存在日志文件。 当一个日志文件被写满后,LGWR开始写入下一个日志文件。当所有文件都写满后,进程再重新写入第一个日志文件。198.2.2 8.2.2 增加重做日志增加重做日志 如果发现LGWR经常处于等待状态,则就需要考虑添加日志组及其成员,一个数据库最多可以拥有MAXLOGFI

17、LES个日志组。增加重做日志是使用ALTER DATABASE语句完成的,执行该语句时要求用户必须具有ALTER DATABASE系统权限。alter database add logfile group 4 (d:appadministratororadataorclredo04.log, e:oradatorclredo04.log) Size 10m;alter database add logfile d:appadministratororadataorclredo04.log reuse;208.2.2 8.2.2 增加重做日志增加重做日志创建日志成员文件Alter databas

18、e add logfile member e:oradataorclredo01b.log to group 1;Alter database add logfile member e:oradataorclredo02.log to (d:appadministratororadataorclredo2.log); 不可以指定大小,新成员大小是由组合中其他成员的大小决定的。218.2.3 8.2.3 删除重做日志删除重做日志 当日志成员出现损坏或丢失时,后台进程LGWR不能将事务变化写入到该日志成员中,在这种情况下应该删除该日志成员;当日志组尺寸不合适时,需要重新建立新日志组,并删除原有的日

19、志组。删除重做日志是使用ALTER DATABASE语句来完成的,执行该语句要求数据库用户必须具有ALTER DATABASE系统权限。 Alter database drop logfile member e:oradataorclredo04b.log;228.2.3 8.2.3 删除重做日志删除重做日志删除日志组:1、无论组里有多少成员,一个数据库至少需要两个日志组2、只能删除INACTIVE状态的日志组3、如果数据库处于归档状态,需要确定日志组已经被归档Select group#,archived,status from v$log;Alter database drop logfil

20、e group 4;物理上删除。238.2.3 8.2.3 删除重做日志删除重做日志清空日志组-日志内容初始化Alter database clear logfile group 3;清空尚未归档的日志组:Alter database clear unarchiced logfile group 3;提醒:清空尚未归档的日志组可能造成数据丢失。248.2.4 8.2.4 改变重做日志位置或名称改变重做日志位置或名称 在数据库文件、控制文件和重做日志这3种文件中,重做日志的I/O操作最频繁。为了提高I/O性能,应将重做日志分布到I/O操作相对较少、速度最快的磁盘设备上。规划重做日志时,应将同一个

21、日志组的不同日志成员尽可能地分布到不同磁盘上,以防止磁盘损坏而导致所有日志成员丢失。1、关闭数据库2、复制或移动日志成员到目标位置3、重启数据库,但不打开数据库 startup mount;258.2.4 8.2.4 改变重做日志位置或名称改变重做日志位置或名称4、alter database rename file d:appadministratororadataorclredo03.log to d:appadministratororadataorclredo03a.log;5、打开数据库 alter database open;6、备份控制文件268.2.5 8.2.5 显示重做日志

22、信息显示重做日志信息 对于DBA而言,可能经常要查询重做日志文件,以了解其使用情况。要了解Oracle数据库的日志文件信息,可以查询下表所示的数据字典视图和动态性能视图。27视图说明V$LOG包含从控制文件中获取的所有重做日志文件的基本信息V$LOGFILE包含各个成员日志文件的信息,例如成员的状态和所属的重做日志组V$LOG_HISTROY包含重做日志文件的历史信息8.3 8.3 管理归档日志管理归档日志 归档日志是非活动重做日志的备份。通过使用归档日志,可以保留所有重做历史记录。当数据库处于ARCHIVELOG模式并进行日志切换时,后台进程ARCH会将重做日志的内容保存到归档日志中。当数据

23、库出现介质故障时,使用数据文件的备份、归档日志和重做日志可以完成数据库的完全恢复。288.3.1 8.3.1 日志操作模式日志操作模式 日志操作模式是指Oracle数据库处理重做日志的方式,它决定了是否保存重做日志,以保留重做日志所记载的事务变化。Oracle数据库包括非归档日志NOARCHIVELOG模式和归档日志ARCHIVELOG形式。298.3.1 8.3.1 日志操作模式日志操作模式非归档日志NOARCHIVELOG形式: 1、 当检查点完成之后,后台进程LGWR可以覆盖原来的重做日志内容。 2、 如果数据库备份后的重做日志内容已经被覆盖,那么当出现数据文件损坏时只能恢复到过去的完全

24、备份点。归档日志ARCHIVELOG形式:1、如果发生磁盘介质损坏,则可以使用数据库备份与归档重做日志恢复已经提交的事务,保证不会发生任何数据丢失。2、利用归档日志文件,可以实现使用数据库打开状态下创建的备份文件来进行数据库恢复。3、如果为当前数据库建立一个备份数据库,通过持续地为备份数据库应用归档重做日志,可以保证源数据库与备份数据库的一致性。308.3.2 8.3.2 控制归档控制归档 在安装Oracle 11g时,默认为数据库运行在非归档模式下,这样可以避免在创建数据库的过程中对生成的重做日志进行归档。当数据库开始正常运行后,就可以将它切换到归档模式中。要将数据库在归档模式与非归档式之间

25、进行切换,需要使用带ARCHIVELOG或NOARCHIVELOG子句的ALTER DATABAS语句。318.3.2 8.3.2 控制归档控制归档 1、检查当前日志操作模式 Select log_mode from v$database; 2、关闭数据库,装载数据库 shutdown immediate; startup mount; 3、改变日志操作模式,打开数据库 Alter database archivelog; Alter database open; 4、查看模式 Archive log list;配置归档进程: Alter system set log_archive_max_

26、processes=5;328.3.3 8.3.3 配置归档文件格式配置归档文件格式 当数据库处理ARCHIVELOG模式时,如果进行日志切换,后台进程将自动生成归档日志。归档日志的默认位置为%ORACLE_HOEM%RDBMS,在Oracle 11g中,归档日志的默认文件名格式为ARC%S%_%R%T。为了改变归档日志的位置和名称格式,必须改变相应的初始化参数。 alter system set log_archive_format=$s_%t_%r.arc scope=spfile; shutdown immedidate; startup;338.3.4 8.3.4 配置归档位置配置归档

27、位置 归档日志文件保存的位置称为“归档目标”,档目标在初始化参数中进行设置。DBA可以为数据库设置多个归档目标,不同的归档目标最好位于不面的磁盘中,以分布归档时磁盘的I/O操作。 alter system set log_archive_dest_1=location=d:oracledataarchive1;348.3.5 8.3.5 显示归档日志信息显示归档日志信息 查询关于归档的信息有两种方法:一种是使用数据字典和动态性能视图;使用ARCHIVE LOG LIST命令。在SQL*Plus中执行ARCHIVE LOG LIST命令,将显示当前数据库的归档信息。35数据字典视图描述V$DAT

28、ABASE可以用于查询数据库是否处理归档模式V$ARCHIVED_LOG包含从控制文件中所有已经归档的日志信息V$ARCHIVED_DEST包含所有归档目标信息V$ARCHIVE_PROCESSES包含已启动的ARCn进程状态信息V$BACKUP_REDOLOG包含所有已经备份的归档日志信息V$LOG包含所有重做日志组的信息,在其中可以查看日志组是否需要归档8.4 8.4 查看日志信息查看日志信息 在重做日志文件中记录了数据库中曾经过发生过的操作,当对重做日志进行了归档后,所有已经执行的操作都将被记录在案。DBA可以利用这些归档日志将数据库恢复到任意时刻的状态,还可以利用一些工具对日志进行分析

29、,以便对数据库操作进行跟踪和统计分析。368.4.1 LogMiner8.4.1 LogMiner概述概述 使用LogMiner工具可以对重做日志文件或归档重做日志文件进行分析,以便DBA对数据库用户的操作进行审计,或者撤销数据库中已经执行过的、指定的操作。此外,DBA还能够通过分析日志文件来追踪某个用户的所有操作,或者追踪某个数据库对象的变更过程,并且由引生成统计信息。378.4.2 LogMiner8.4.2 LogMiner分析过程分析过程一、安装logminerd:appadministratorproduct11.1.0db_1rdbmsadmindbmslmd.sql;d:appadministratorproduct11.1.0db_1rdbmsadmindbmslm.sql;二、创建字典文件1、确认初始化参数utl_file_dir,并确认oracle对目录拥有读写权限,然后启动实例。 show parameter utl;2、alter system set utll_file_dir=e:orcldata;ogminer sc

温馨提示

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

评论

0/150

提交评论