Oracle数据库系统结构教程_第1页
Oracle数据库系统结构教程_第2页
Oracle数据库系统结构教程_第3页
Oracle数据库系统结构教程_第4页
Oracle数据库系统结构教程_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

第6章物理存储结构本章内容Oracle数据库系统结构数据文件控制文件重做日志文件归档重做日志文件本章要求理解Oracle数据库的系统结构掌握数据文件的管理掌握控制文件的作用及其管理掌握重做日志文件的工作方式及其管理掌握数据库归档模式设置及归档管理

6.1Oracle数据库系统结构Oracle数据库系统结构由数据库实例和物理存储结构组成。(内存结构)在Oracle数据库的存储结构包括物理存储结构和逻辑存储结构。物理存储结构:主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构:主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。1n逻辑角度物理角度Oracle数据库物理存储结构指存储在磁盘上的物理文件:功能:数据文件:用于存储数据库中的所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。6.2数据文件及其管理数据文件概述数据文件的管理6.2.1数据文件概述数据文件的内容

用于保存数据库中所有数据的文件,扩展名为DBF。临时数据文件是一种特殊的数据文件,其存储内容是临时性的,在一定条件下自动释放。Oralce数据库中的每个数据文件都具有两个文件号,用于唯一地确定一个数据文件。绝对文件号:用于在整个数据库范围内唯一标识一个数据文件;相对文件号:用于在表空间范围内唯一标识一个数据文件。数据文件与表空间的关系

数据文件依附于表空间存在表空间数据文件1n数据据文文件件的的管理理策策略略数据据文文件件的的最最大大数数量量::使使用用初初始始化化参参数数DB_FILES限制制数据据文文件件的的大大小小数据据文文件件的的存存储储位位置置::把不同同存储储内容容的数数据据文文件件放放置置在在不同同的的硬硬盘盘上,,可可以以并并行行访访问问数数据据,,提提高高系系统统读读写写的的效效率率。。初始始化化参参数数文文件件、控制制文文件件、重做做日日志志文文件件最好好不要要与数据据文文件件存放放在在同一一个个磁磁盘盘上上,以以免免数数据据库库发发生生介介质质故故障障时时,,无无法法恢恢复复数数据据库库。。受OS的限限制6.2.2数数据据文文件件的的管管理理创建建数数据据文文件件修改改数数据据文文件件的的大大小小改变变数数据据文文件件的的可可用用性性改变变数数据据文文件件的的名名称称或或位位置置删除除数数据据文文件件查询询数数据据文文件件的的信信息息利用用OEM管理理数数据据文文件件(1)创创建建数数据据文文件件数据据文文件件依附附于于表空空间间而而存存在在,,创创建建数数据据文文件件就就是是向向表表空空间间添添加加文文件件。。在创创建建数数据据文文件件时时,,应应该该根根据据文文件件数数据据量量的的大大小小确确定定文件件的的大大小小以及及文文件件的的增长长方方式式。命令令语语法法::CREATETABLESPACE/DATABASECREATETEMPORARYTABLESPACEALTERDATABASE……CREATEDATAFILE(数据据库库恢恢复复时时)ALTERTABLESPACE……ADDDATAFILEALTERTABLESPACE……ADDTEMPFILE数据据库库运运行行与与维护护时时采采用用注意意::进进行行这这些些操操作作必必须须具具备备管理理员员权权限限!例1:向向ORCL数据据库库的的USERS表空空间间中中添添加加一一个个大大小小为为10MB的数数据据文文件件。。例2:向向ORCL数据据库库的的TEMP表空空间间中中添添加加一一个个大大小小为为5MB的临临时时数数据据文文件件。。SQL>ALTERTABLESPACEUSERSADDDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\3USERS02.DBF'SIZE10M;SQL>ALTERTABLESPACETEMPADDTEMPFILE2'D:\oracle\product\10.2.0\oradata\ORCL\3TEMP02.DBF'SIZE5M;注意意::若指指定定的的数数据据文文件件已已经经存存在在(指DB系统统中中已已经经存存在在同同名名的的文文件件,,但但是是无效效的的DB文件件或或非非DB文件件),可可以以使用用REUSE子句句进进行行覆覆盖盖。如如果果,,该该同名名文文件件是是DB的有效效文件件,,则则不能能覆覆盖盖!(2)修修改改数数据据文文件件大大小小两种种方方法法设置置数数据据文文件件为为自动动增增长长方式式优点点::⑴DBA无须须过过多多干干涉涉数数据据库库存存储储空空间间的的分分配配问问题题⑵可可以以保保证证应应用用程程序序不不会会因因为为分分配配空空间间不不足足而而导导致致错错误误手工工改改变变数据据文文件件的的大大小小设置置数数据据文文件件为为自自动动增增长长方方式式创建建时时设置置::CREATEDATABASE/TABLESPACE……ALTERTABLESPACE……ADDDATAFILE……创建建后后修改改:ALTERDATABASEDATAFILE…AUTOEXTENDONNEXT……MAXSIZE……|UNLIMITEDAUTOEXTENDON指定定数数据据文文件件每每次次自动动增增长长的的大大小小指定定数数据据文文件件的极限限大小小指定定数数据据文文件件大小小没没有有限限制制手工工改改变变数数据据文文件件的的大大小小ALTERDATABASEDATAFILE…RESIZE…例3:为为ORCL数据据库库的的USERS表空空间间添加加一个个自自动动增增长长的的数数据据文文件件USERS03.DBF。例4:修改改ORCL数据据库库USERS表空空间间的的数数据据文文件件USERS02.DBF为自自动动增增长长方方式式。。SQL>ALTERTABLESPACEUSERSADDDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS03.DBF'3SIZE10MAUTOEXTENDONNEXT512KMAXSIZE50M;SQL>ALTERDATABASEDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF'3AUTOEXTENDONNEXT512KMAXSIZEUNLIMITED;例5:取取消消ORCL数据据库库USERS表空空间间的的数数据据文文件件USERS02.DBF的自自动动增增长长方方式式。。例6:将将ORCL数据据库库USERS表空空间间的的数数据据文文件件USERS02.DBF大小小设设置置为为8MB。SQL>ALTERDATABASEDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF'3AUTOEXTENDOFF;SQL>ALTERDATABASEDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF'3RESIZE8M;(3)改改变变数数据据文文件件的的可可用用性性概念念可以以通通过过将将数数据据文文件件联机机或脱机机来改改变变数数据据文文件件的的可可用用性性。。下面面几几种种情情况况::进行行数数据据文文件件的的脱机机备备份份时;;重命命名名数数据据文文件件或改变变数数据据文文件件的的位位置置时;;写入入某个个数数据据文文件件时时发生生错错误误,会会自动动将该该数数据据文文件件设置置为为脱脱机机状状态态,并且记记录在警警告文件件中。排排除故障障后,需需要以手动方式式重新将该数据据文件恢恢复为联机状态。数据文件丢失失或损坏,需要在启动动数据库之前前将数据文件件脱机。归档模式下数数据文件可用用性的改变数据文件可用用性的改变ALTERDATABASEDATAFILE…ONLINE|OFFLINE临时数据文件件可用性的概概念改变ALTERDATABASETEMPFILE…ONLINE|OFFLINE说明:数据库的运行行可以根据是否进行重做做日志文件归归档,而分为归档模式和非归档模式。详见6.5例7:在数据库处处于归档模式式下,将ORCL数据库USERS表空间的数据据文件USERS02.DBF脱机。例8:将ORCL数据库USERS表空间的数据据文件USERS02.DBF联机。SQL>ALTERDATABASEDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF'3OFFLINE;SQL>RECOVERDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF';SQL>ALTERDATABASEDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF'3ONLINE;注意:在归档模式下下,将数据文文件联机前,,需要进行恢复操作。使用RECOVERDATAFILE。非归档模式下下数据文件可可用性的改变变在非归档模式式下,通常不不能将数据文文件脱机。如果由于数据文件的损损坏,需要将数据据文件脱机,,然后重新启启动数据库,,需要使用::ALTERDATABASEDATAFILE…OFFLINEFORDROPSQL>ALTERDATABASEDATAFILE2'D:\oracle\product\10.2.0\oradata\ORCL\USERS02.DBF'3OFFLINEFORDROP;注意:此时要联机机只有采用介质恢复的形形式才能够将数据据文件设置为为联机。改变表空间中所有有数据文件的可可用性在归档模式下下,将表空间所有文件脱机或联机ALTERTABLESPACE...DATAFILEONLINE|OFFLINE在归档模式下下,将临时表空间所有临时文件件联机或脱机ALTERTABLESPACE...TEMPFILEONLINE|OFFLINE例9:在归档模式式下,将USERS表空间中所有有的数据文件件脱机,但USERS表空间不脱机机。然后再将USERS表空间中的所所有数据文件件联机。SQL>ALTERTABLESPACEUSERSDATAFILEOFFLINE;SQL>RECOVERTABLESPACEUSERS;SQL>ALTERTABLESPACEUSERSDATAFILEONLINE;(4)改变数据文文件的名称或或位置通过重命名或移动数据文件,可可以在不改变逻辑结结构的情况下,对物理结构进进行调整。两种情况::改变同一个表空间间中的数据文件件的名称或位位置ALTERTABLESPACLE…RENAMEDATAFILE…TO改变多个表空间中的数据文件件的名称或位位置ALTERDATABASERENAMEFILE…TO注意:改变数据文件件的名称或位位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息息,并没有改变操作系统中数据文件的名名称和位置,因此需要DBA手动更改操作作系统中数据文件的名名称和位置。。改变同一个表表空间中的数数据文件的名名称或位置例10:更改ORCL数据库库USERS表空间间的USERS02.DBF和USERS03.DBF文件名名为USERS002.DBF和USERS003.DBF。将包含含数据据文件件的表空间间置为为脱机机状态态。在操作作系统统中重重命名名数据据文件件或移移动数数据文文件到到新的的位置置。使用ALTERTABLESPACE……RENAMEDATAFILE……TO语句进进行操操作。。将表空空间联联机。。SQL>ALTERTABLESPACEUSERSOFFLINE;SQL>ALTERTABLESPACEUSERSRENAMEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS003.DBF';SQL>ALTERTABLESPACEUSERSONLINE;说明:表空空间的的可用用性会会影响到到其下下所有有数据据文件件的可用用性;;反过过来则则不不会!!改变多多个表表空间间中的的数据据文件件的名名称或或位置置例11:更改改ORCL数据库库USERS表空间间中的的USERS002.DBF文件位位置和和修改改TOOLS表空间间中的的TOOLS01.DBF文件名名。关闭数数据库库在操作作系统统中,,将USERS表空间间中的的USERS002.DBF文件复复制到到一个个新的的位置置;修修改TOOLS表空间间的数数据文文件TOOLS01.DBF的名为为TOOLS001.DBF。启动数数据库库到MOUNT状态。。SQL>SHUTDOWNSQL>STARTUPMOUNT执行ALTERDATABASERENAMEFILE……TO语句更更新数数据文文件名名称或或位置置。打开数数据库库。SQL>ALTERDATABASERENAMEFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS01.DBF'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS001.DBF';SQL>ALTERDATABASEOPEN;(5)删除除数据据文件件删除某某个表表空间间中的的某个个空数数据文文件ALTERTABLESPACE……DROPDATAFILE删除某某个临临时表表空间间中的的某个个空的的临时时数据据文件件ALTERTABLESPACE……DROPTEMPFILEALTERDATABASETEMPFILE…DROP所谓的的空数据据文件件或空临时时数据据文件件是指为为该文文件分分配的的所有有区都都被回回收。。删除数数据文文件或或临时时数据据文件件的同同时,,将删删除::控制文文件和数据字字典中与该该数据据文件件或临临时数数据文文件的的相关关信息息操作系系统中对应应的物物理文文件例12:删除除USERS表空间间中的的数据据文件件USERS03.DBF和删除除TEMP临时表表空间间中的的临时时数据据文件件TEMP03.DBF。或者::SQL>ALTERTABLESPACEUSERSDROPDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF';SQL>ALTERTABLESPACETEMPDROPTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP03.DBF';SQL>ALTERDATABASETEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP03.DBF'DROPINCLUDINGDATAFILES;删除数数据文文件或或临时时数据据文件件时受受到以以下约束:数据库库运行行在打开状状态数据文文件或或临时时数据据文件件必须是是空的不能删除表表空间间的第一个个或唯一的的一个数数据文文件或或临时时数据据文件件不能删除只读表表空间间中的数据据文件件不能删除SYSTEM表空间间的数据据文件件不能删除采采用本地管管理的的处于脱机状状态的的数据文文件。。(6)查询询数据据文件件信息息DBA_DATA_FILES:包含含数据据库中中所有数数据文文件的信息息,包包括数数据文文件所所属的的表空空间、、数据据文件件编号号等。。DBA_TEMP_FILES:包含含数据据库中中所有有临时时数据据文件件的信信息。。DBA_EXTENTS:包含含所有有表空空间中中已分配配的区区的描述述信息息。USER_EXTENTS:包含含当前前用户所所拥有有的对象象在所所有表表空间间中已已分配配的区区的描描述信信息。。DBA_FREE_SPACE:包含含表空空间中中空闲区区的描述述信息息。USER_FREE_SPACE:包含含当前用用户可可访问问的表表空间间中空空闲区区的描述述信息息。V$DATAFILE:包含含从控制制文件件中获取的的数据据文件件信息息。V$DATAFILE_HEADER:包含含从数据据文件件头部部获取的的信息息。V$TEMPFILE:包含含所有有临时文文件的基本本信息息。查询数数据文文件动动态信信息查询数数据文文件的的详细细信息息查询数数据文文件的的增长长方式式查询临临时数数据文文件信信息SQL>SELECTNAME,FILE#,STATUS,CHECKPOINT_CHANGE#FROMV$DATAFILE;SQL>SELECTTABLESPACE_NAME,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES;SQL>SELECTTABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES;SQL>SELECTTABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLEFROMDBA_TEMP_FILES;(7)利用OEM管理数据文文件创建数据文文件编辑数据文文件查看数据文文件信息删除数据文文件6.3控控制文件控制文件概概述控制文件管管理6.3.1控制文文件概述控制文件的的性质:控制文件描描述了整个个数据库的的物理结构构控制文件是是一个很小小的二进制文件在加载数据据库时,实实例必须首先通过初初始化参数数文件找到到数据库的的控制文件件在数据库运运行期间,,控制文件件始终在不不断更新,,以便记录数据文文件和重做做日志文件件的变化每个数据库库至少拥有一一个控制文件,,一个数据据库也可以以同时拥有有多个控制制文件分配在不同同的物理硬盘中中,以免数数据库或硬硬盘损坏时时,能够利利用备份的的控制文件件启动数据据库实例,,可以提高高数据库的的可靠性控制文件的的内容:数据库名称称和标识;;数据库创建建的时间;;表空间名称称;数据文件和和重做日志志文件的名名称和位置置;当前重做日日志文件序序列号;数据库检查查点的信息息;回退段的开开始和结束束;重做日志的的归档信息息;备份信息;;数据库恢复复所需要的的同步信息息。控制文件中中的最大化参数数包括:MAXLOGFILES:最大重做做日志文件件组数量;;MAXLOGMEMBERS:重做日志志文件组中中最大成员员数量;MAXLOGHISTORY:最大历史史重做日志志文件数量量;MAXDATAFILES:最大数据据文件数量量;MAXINSTANCES:可同时访访问的数据据库最大实实例个数。。注意:在Oracle10.2.0及其之后的的版本中,当当某种文件件的数量超超过了该最大值时,,控制文件可可以自动扩扩展;之前的版版本则不能能。控制文件管理策略Oracle建议最少有两个个控制文件,,通过多路路镜像技术术,将多个个控制文件件分散到不不同的磁盘盘中。在数据库运行过程中,始终读取CONTROL_FILES参数指定的的第一个控制文件,,并同时写CONTROL_FILES参数指定的的所有控制文件。。如果其中中一个控制制文件不可可用,则必必须关闭数数据库并进进行恢复。。每次对数据据库结构进进行修改后后(添加、修改改、删除数数据文件、、重做日志志文件),应该及时时备份控制制文件。6.3.2控制文文件的管理理创建控制文文件实现多路镜镜像控制文文件备份控制文文件删除控制文文件查看控制文文件的信息息利用OEM管理控制制文件(1)创建控制制文件创建数据库库时,系统统会根据初初始化参数数文件中CONTROL_FILES的设置创建建控制文件件。手动创建控制文件的的情形:控制文件全全部丢失或或损坏;需要修改数数据库名称称;在Oracle10.2.0之前的版本本中,需要要修改某个个最大化参参数。CREATECONTROLFILE语句创建语句的的语法:CREATECONTROLFILE[REUSE][SET]DATABASEdatabase--[重命名]指定DB名称[LOGFILElogfile_clause]--指定定联联机机重重做做日日志志文文件件RESETLOGS|NORESETLOGS/*重命命名名DB或丢失失部部分分联联机机重重做做日日志志文文件件,则则指指定定RESETLOGS;对对DB进行行完完全全恢恢复复,则则指指定定NORESETLOGS*/[DATAFILEfile_specification][MAXLOGFILES][MAXLOGMEMBERS][MAXLOGHISTORY][MAXDATAFILES][MAXINSTANCES][ARCHIVELOG|NOARCHIVELOG]--指定定DB运行行在在归归档档/非归归档档模模式式[FORCELOGGING]--指定定DB启动动后后,,所所有有变变更更操操作作都都记记录录到到日日志志文文件件[CHARACTERSETcharacter_set]--指定定DB的字字符符集集创建建控控制制文文件件的的基基本本步步骤骤制作作数数据据库库中中所所有有的的数数据据文文件件和和重重做做日日志志文文件件列列表表如果果数数据据库库仍仍然然处处于于运运行行状状态态,,则则关关闭闭数数据据库库在操操作作系系统统级级别别备备份份所所有有的的数数据据文文件件和和联联机机重重做做日日志志文文件件启动动实实例例到到NOMOUNT状态态SQL>SELECTMEMBERFROMV$LOGFILE;SQL>SELECTNAMEFROMV$DATAFILE;SQL>SELECTVALUE2FROMV$PARAMETER3WHERENAME='CONTROL_FILES';SQL>SHUTDOWNSQL>STARTUPNOMOUNT利用前前面得得到的的文件件列表表,执执行CREATECONTROLFILE创建一一个新新控制制文件件。在操作作系统统级别别对新新建的的控制制文件件进行行备份份。如果数数据库库重命命名,,则编编辑DB_NAME参数来来指定定新的的数据据库名名称。。如果数数据库库需要要恢复复,则则进行行恢复复数据据库操操作::如果创创建控控制文文件时时指定定了NORESTLOGS,可以以完全全恢复复数据据库。。如果创创建控控制文文件时时指定定了RESETLOGS,则必必须在在恢复复时指指定USINGBACKUPCONTROLFILE。SQL>RECOVERDATABASE;SQL>RECOVERDATABASEUSINGBACKUPCONTROLFILE;创建脚脚本打开数数据库库如果数数据库库不需要要恢复复或已经对数据据库进进行了了完全恢恢复,则可可以正正常打打开数数据库库。如果在在创建建控制制文件件时使使用了了RESETLOGS参数,,则必必须指指定以以RESETLOGS方式打打开数数据库库。SQL>ALTERDATABASEOPEN;SQL>ALTERDATABASEOPENRESETLOGS;(2)实现现多路路镜像像控制制文件件Oracle数据库库在创创建时时创建建多个个镜像像的控控制文文件,,其名名称和和存放放位置置由参参数CONTROL_FILES指定。。数据库库创建建后,,建立立多个个镜像像控制制文件件的步骤:编辑初初始化化参数数CONTROL_FILES,命令令:ALTERSYSTEMSETCONTROL_FILES=……SCOPE=SPFILE;关闭数数据库库SHUTDOWNIMMEDIATE拷贝一一个原原有的的控制制文件件到新新的位位置,,并重重新命命名重新启启动数数据库库STARTUP例13:为ORCL数据库库添加加一个个镜像像控制制文件件。编辑CONTROL_FILES:关闭数数据库库拷贝D:\ORACLE\ORADATA\CONTROL01.CTL到D:\ORACLE\ORADATA目录下下,并并重命命名为为CONTROL04.CTL重新启启动数数据库库SQL>ALTERSYSTEMSETCONTROL_FILES='E:\oracle\product\10.2.0\oradata\ORCL\CONTROL01.CTL','E:\oracle\product\10.2.0\oradata\ORCL\CONTROL02.CTL','E:\oracle\product\10.2.0\oradata\ORCL\CONTROL03.CTL','E:\oracle\product\10.2.0\oradata\CONTROL04.CTL'SCOPE=SPFILE;SQL>SHUTDOWNIMMEDIATESQL>STARTUP(3)备份份控制制文件件根据备备份生生成的的控制制文件件的类类型不不同,,有两两种方方法::备份为为二进进制文文件ALTERDATABASEBACKUPCONTROLFILETO‘‘……\*.BKP’备份为为文本本文件件ALTERDATABASEBACKUPCONTROLFILETOTRACE注意:此时时,将将控制制文件件备份份到<ORACLE_BASE>\admin\<SID>\udump目录下下的跟跟踪文文件中中。(4)删除除控制制文件件步骤::编辑CONTROL_FILES初始化化参数数,使使其不不包含含要删删除的的控制制文件件;关闭数数据库库;在操作作系统统中删删除控控制文文件;;重新启启动数数据库库。(5)查询询控制制文件件的信信息与控制制文件件相关关的数数据字字典视视图::V$DATABASE:从控控制文文件中中获取取的数数据库库信息息;V$CONTROLFILE:包含含所有有控制制文件件名称称与状状态信信息;;V$CONTROLFILE_RECORD_SECTION:包含含控制制文件件中各各记录录文档档段信信息;;V$PARAMETER:可以以获取取初始始化参参数CONTROL_FILES的值。。(6)利用用OEM管理控控制文文件查看控控制文文件信信息备份控控制文文件6.4重重做日日志文文件重做日日志文文件概概述重做日日志文文件的的管理理6.4.1重重做日日志文文件概概述重做日日志文文件的的概念念重做日日志文文件,,保存存了用用户对对数据据库所所作的更新新操作作(DDL、DML),包含含的主主要信信息是是记录录事务的的开始始和结束、事务务中每每项操作的的对象象和类型、更新操操作前前后的的数据据值等。重做日日志文文件是是由重做记记录构成的的,每每个重重做记记录由由一组组修改改相量量组成成。修改向向量记录了了对数数据库库中某某个数数据块块所做做的修修改。。用户对数据库库所做的修改记录过程程:利用重做日志志文件恢复数数据库是通过过事务的重做(REDO)或回退(UNDO)实现的。重做:指由于某些些原因导致事事务对数据库的修修改在写入数数据文件之前前丢失了,此时就可以以利用重做日日志文件重做该事务对数据据库的修改操作。回退:指如果用户户在事务提交之前前要撤销事务务,Oracle将通过重做记记录中的回退退信息撤销事务对数据库库所做的修改。重做日志文件件的工作过程程每个数据库至少需要两个重做日志文件件,采用循环写的方式式进行工作。当当一个重做日日志文件写满满后,进程LGWR就会移到下一一个日志文件件,称为日志切换,同时信息会会写到控制文文件中。重做日志文件件工作流程为了保证LGWR进程的正常进进行,通常采采用重做日志文件件组(GROUP),每个组中包包含若干完全相同同的重做日志文件件成员(MEMBER),这些成员文文件相互镜像像。6.4.2重做日志文件件的管理添加重做日志志文件组添加重做日志志文件组成员员文件改变重做日志志文件组成员员文件的名称称和位置删除重做日志志文件组成员员删除重做日志志文件组重做日志文件件切换清空重做日志志文件组查看重做日志志文件信息利用OEM管理重做日志志文件(1)添加重做日日志文件组语法CREATEDATABASE……LOGFILE……ALTERDATABASEADDLOGFILE……示例REDO2b.LOGREDO1b.LOGGroup1Group2Group3REDO3b.LOGREDO2a.LOGREDO3a.LOGREDO1a.LOGGroup4REDO4b.LOGREDO4a.LOGSQL>ALTERDATABASEADDLOGFILEGROUP4('E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04a.LOG','E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04b.LOG')SIZE4M;注意:分配给每个重重做日志文件件的初始空间至少为4MB。如果没有使用用GROUP子句指定组号号,则系统会会自动产生组号号,为当前重做做日志文件组组的个数加1。在Oracle10.2.0之前的版本中中,数据库最最多允许的重重做日志文件件组的数量由控制文件中中的MAXLOGFILES参数决定。在Oracle10.2.0之前的版本中中,每个重做做日志文件组组中最多成员文件数量量由控制文件中中的MAXLOGMEMBERS参数决定。(2)添加重做日日志文件组成成员语法ALTERDATABASEADDLOGFILEMEMBER…TOGROUP……示例注意:同一个重做日志文件件组中的成员文文件存储位置应尽量分散。不需要指定文文件大小。新成员文件件大小由组中已有成成员大小决定定。SQL>ALTERDATABASEADDLOGFILEMEMBER'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG'TOGROUP1,'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04C.LOG'TOGROUP4;(3)改变重做日日志文件组成成员名称或位位置语法ALTERDATABASERENAMEFILE…TO注意只能更改处于INACTIVE或UNUSED状态的重做日日志文件组的的成员文件的的名称或位置置。例:将重做日日志文件REDO01C.LOG重命名为REDO01B.LOG,将REDO04C.LOG移到D:\ORACLE\PRODUCT\10.2.0\ORADATA目录下。说明:重做日志文文件组的状态态有4种:CURRENT——当前正在被LGWR进程写入;ACTIVE——当前实例恢复复的;INACTIVE——当前没有用于于实例恢复的的;UNUSERD——新创建当前还还没有被使用用的。步骤:检查要修改的的成员文件所所在的重做日日志文件组状状态如果要修改的的日志文件组组不是处于INACTIVE或UNUSED状态,则需要要进行手动日志志切换。在操作系统中中,重命名重重做日志文件件或将重做日日志文件移到到新位置。执行ALTERDATABASERENAMEFILE…TO语句SQL>SELECTgroup#,statusFROMV$LOG;SQL>ALTERDATABASERENAMEFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO4C.LOG'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01B.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO04C.LOG';(4)删除重做日日志文件组成成员语法ALTERDATABASEDROPLOGFILEMEMBER注意事项只能删除状态为INACTIVE或UNUSED的重做日志志文件组中中的成员;;若要删除除状态为CURRENT的重做日志志文件组中中的成员,,则需执行行一次手动日志切换换。如果数据库处处于归档模式下,则在删除重重做日志文件件之前要保证该文件所在的的重做日志文文件组已归档。每个重做日志志文件组中至少要有一个个可用的成员文件,即即VALID状态的成员文文件。如果要要删除的重做做日志文件是是所在组中最最后一个可用用的成员文件件,则无法删删除。例:Group4REDO4a.LOGREDO4b.LOGREDO4c.LOGSQL>ALTERDATABASEDROPLOGFILEMEMBER'D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO4c.LOG';注意:执行完该命命令后,只是更新了控控制问文件——从数据库的结结构中删除了该重做日志志文件。还应应该在操作成成功后,在OS中手动删除。(5)删除重做日日志文件组语法ALTERDATABASEDROPLOGFILEGROUP注意事项无论重做日志志文件组中有有多少个成员员文件,一个个数据库至少需要使用两个重做日志志文件组。如果数据库处处于归档模式下,则在删除除重做日志文文件组之前,,必须确定该组组已经被归档档。只能删除处于INACTIVE状态或UNUSED状态的重做日日志文件组,,若要删除状状态为CURRENT的重做日志文文件组,则需需要执行一次次手动日志切切换。示例REDO2a.LOGREDO1a.LOGGroup1Group2Group3REDO3a.LOGGroup4REDO4a.LOGREDO4b.LOGSQL>ALTERDATABASEDROPLOGFILEGROUP4;注意:执行行完该该命令令后,,只是更更新了了控制制问文文件——从数据据库的的结构构中删删除了该重重做日日志文文件组组。还还应该该在操操作成成功后后,在OS中手动动删除除。(6)重做做日志志文件件组切切换当LGWR进程结结束对对当前前重做做日志志文件件组的的使用用,开开始写写入下下一个个重做做日志志文件件组时时,称称为发发生了了一次次“日志切切换”。通常,,只有有当前前的重重做日日志文文件组组写满满后才才发生生日志志切换换,但但是可可以通通过::设置参参数ARCHIVE_LAG_TARGET控制日日志切切换的的时间间间隔隔采用手工强强制进行日日志切切换如果需需要将将当前前处于于CURRENT状态的的重做做日志志组立立即切切换到到INACTIVE状态,,必须须进行行手工工日志志切换换。手动日日志切切换的的语法法ALTERSYSTEMSWITCHLOGFILE;查看日日至切切换状状态SELECT*FROMV$LOGFILE;当发生生日志志切换换时,,系统统将为为新的的重做做日志志文件件产生生一个个日志志序列列号,,在归归档时时该日日志序序列号号一同同被保保存。。日志序序列号号是在线日日志文文件和归档日日志文文件的唯一标标识。(7)清除除重做做日志志文件件组基本概概念在不关闭闭数据据库的情况况下,,手工清清除损坏的的重做做日志志文件件内容容,避避免出出现数数据库库停止止运行行的情情况。。清除重重做日志文文件就是将将重做做日志文文件中中的内内容全全部清清除,相当当于删删除该该重做做日志志文件件,然然后再重新新建立立它。清除重重做日志文文件组组是将该该文件件组中中的所有成成员文文件全全部清清空。语句ALTERDATABASECLEARLOGFILE[GROUP]…在下列两种种情况下,,清除重做做日志文件件组的操作作将无法进进行。数据库只有两个重做日志文文件组;需要清除的的重做日志志文件组处处于CURRENT状态。如果要清空空的重做日日志文件组组尚未归档,则必须使用UNARCHIVED子句,以避免对对这个重做做日志文件件组进行归归档。SQL>ALTERDATABASECLEARUNARCHIVEDLOGFILEGROUP4;(8)查看重做日日志文件信息息数据字典视图图V$LOG:包含从控制制文件中获取取的所有重做做日志文件组组的基本信息息。V$LOGFILE:包含重做日志志文件组及其其成员文件的的信息。V$LOG_HISTORY:包含关于重做做日志文件的的历史信息。。查询重做日志志文件组的信信息查询重做日志志文件的信息息SQL>SELECTGROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVEDFROMV$LOG;SQL>SELECTGROUP#,TYPE,MEMBERFROMV$LOGFILEORDERBYGROUP#;(9)利利用用OEM管理理重重做做日日志志文文件件创建建重重做做日日志志组组编辑辑重重做做日日志志组组查看看重重做做日日志志组组6.5归归档档重重做做日日志志文文件件重做做日日志志文文件件归归档档概概述述数据据库库归归档档模模式式管管理理6.5.1重重做做日日志志文文件件归归档档概概述述基本本概概念念Oracle数据据库库能能够够把把已已经经写写满满了了的的重重做做日日志志文文件件保保存存到到指指定定的的一一个个或或多多个个位位置置,,被被保保存存的的重重做做日日志志文文件件的的集集合合称称为为归归档档重重做做日日志志文文件件,,这这个个过过程程称称为为归归档档。。根据据是是否否进进行行重重做做日日志志文文件件归归档档,,数数据据库库运运行行可可以以分分为为归归档档模模式式或或非非归归档档模模式式。。归档档模模式式与与非非归归档档模模式式比比较较在归归档档模模式式下下,,数数据据库库中中历历史史重重做做日日志志文文件件全全部部被被保保存存,,因因此此在在数数据据库库出出现现故故障障时时,,即即使使是是介介质质故故障障,,利利用用数数据据库库备备份份、、归归档档重重做做日日志志文文件件和和联联机机重重做做日日志志文文件件也也可可以以完完全全恢恢复复数数据据库库。。在非归档模式式下,由于没没有保存过去去的重做日志志文件,数据据库只能从实实例崩溃中恢恢复,而无法法进行介质恢恢复。在非归归档模式下不不能执行联机机表空间备份份操作,不能能使用联机归归档模式下建建立的表空间间备份进行恢恢复,而只能能使用非归档档模式下建立立的完全备份份来对数据库库进行恢复。。在归档模式和和非归档模式式下进行日志志切换的条件件也不同。在在非归档模式式下,日志切切换的前提条条件是已写满满的重做日志志文件在被覆覆盖之前,其其所有重做记记录所对应的的事务的修改改操作结果全全部写入到数数据文件中。。在归档模式式下,日志切切换的前提条条件是已写满满的重做日志志文件在被覆覆盖之前,不不仅所有重做做记录所对应应的事务的修修改操作结果果全部写入到到数据文件中中,还需要等等待归档进程程完成对它的的归档操作。。6.5.2数数据库归档档模式管理数据库归档/非归档模式设设置归档模式下归归档方式的选选择归档路径的设设置设置可选或强强制归档目标标查询归档信息息(1)设置归档/非归档模式关闭数据库启动数据库到到MOUNT状态使用ALTERDATABASEARCHIVELOG语句将数据库库设置为归档档模式。或使用ALTERDATABASENOARCHIVELOG语句将数据库库设置为非归归档模式。打开数据库SQL>SHUTDOWNIMMEDIATESQL>STARTUPMOUN

温馨提示

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

评论

0/150

提交评论