物理存储结构基础教程

上传人:苏**** 文档编号:243522745 上传时间:2024-09-25 格式:PPT 页数:95 大小:998.50KB
返回 下载 相关 举报
物理存储结构基础教程_第1页
第1页 / 共95页
物理存储结构基础教程_第2页
第2页 / 共95页
物理存储结构基础教程_第3页
第3页 / 共95页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Oracle 10g,数据库基础教程,Oracle 10g,数据库基础教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 物理存储结构,本章内容,Oracle,数据库系统结构,数据文件,控制文件,重做日志文件,归档重做日志文件,本章要求,理解,Oracle,数据库,的系统结构,掌握数据文件的管理,掌握控制文件的作用及其管理,掌握重做日志文件的工作方式及其管理,掌握数据库归档模式设置及归档管理,5.1 Oracle,数据库系统结构,Oracle,数据库系统结构由数据库实例和物理存储结构组成。,在,Oracle,数据库的存储结构包括物理存储结构和逻辑存储结构。,物理存储结构主要用于描述,Oracle,数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;,逻辑存储结构主要描述,Oracle,数据库内部数据的组织和管理方式,与操作系统没有关系。,物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。,Oracle,数据库物理存储结构,数据文件:用于存储数据库中的所有数据;,控制文件:用于记录和描述数据库的物理存储结构信息;,重做日志文件:用于记录外部程序(用户)对数据库的改变操作;,归档文件:用于保存已经写满的重做日志文件;,初始化参数文件:用于设置数据库启动时的参数初始值;,跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;,口令文件:用于保存具有,SYSDBA,,,SYSOPER,权限的用户名和,SYS,用户口令;,警告文件:用于记录数据库的重要活动以及发生的错误;,备份文件:用于存放数据库备份所产生的文件。,5.2,数据文件及其管理,数据文件概述,数据文件的管理,5.2.1,数据文件概述,数据文件的内容,用于保存数据库中所有 数据的文件。,临时数据文件是一种特殊的数据文件,其存储内容是临时性的,在一定条件下自动释放。,Oralce,数据库中的每个数据文件都具有两个文件号,称为绝对文件号和相对文件号,用于唯一地确定一个数据文件。其中,绝对文件号用于在整个数据库范围内唯一标识一个数据文件;相对文件号用于在表空间范围内唯一标识一个数据文件。,数据文件与表空间的关系,一个表空间可以包含几个数据文件,一个数据文件只能从属于一个表空间,数据文件的管理策略,由于对数据库的操作最终转换为对数据文件的操作,因此在数据库运行过程中对数据文件进行频繁的读写操作。为了提搞,I/O,效率,应该合理的分配数据文件的存储位置。,把不同存储内容的数据文件放置在不同的硬盘上,可以并行访问数据,提高系统读写的效率。,初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘上,以免数据库发生介质故障时,无法恢复数据库。,5.2.2,数据文件的管理,创建数据文件,修改数据文件的大小,改变数据文件的可用性,改变数据文件的名称或位置,删除数据文件,查询数据文件的信息,利用,OEM,管理数据文件,(,1,)创建数据文件,数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件,在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。,语法,ALTER TABLESPACEADD DATAFILE,ALTER TABLESPACEADD TEMPFILE,向,ORCL,数据库的,USERS,表空间中添加一个大小为,10 MB,的数据文件。,ALTER TABLESPACE USERS ADD DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS02.DBF SIZE 10M;,向,ORCL,数据库的,TEMP,表空间中添加一个大小为,5 MB,的临时数据文件。,ALTER TABLESPACE TEMP ADD TEMPFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLTEMP02.DBF SIZE 5M;,(,2,)修改数据文件大小,方法,设置数据文件为自动增长方式。,手工改变数据文件的大小。,设置数据文件为自动增长方式,创建时设置数据文件为自动增长,创建后修改数据文件为自动增长,AUTOEXTEND ON NEXT,MAXSIZE,|UNLIMITED,手工改变数据文件的大小,ALTER DATABASE DATAFILE,RESIZE,为,ORCL,数据库的,USERS,表空间添加一个自动增长的数据文件。,ALTER TABLESPACE USERS ADD DATAFILE,D:ORACLEPRODUCT10.2.0ORADATAORCL,USERS03.DBF SIZE 10M AUTOEXTEND ON NEXT,512K MAXSIZE 50M;,修改,ORCL,数据库,USERS,表空间的数据文件,USERS02.DBF,为自动增长方式 。,ALTER DATABASE DATAFILE,D:ORACLEPRODUCT10.2.0ORADATAORCL,USERS02.DBF AUTOEXTEND ON NEXT 512K,MAXSIZE UNLIMITED;,取消,ORCL,数据库,USERS,表空间的数据文件,USERS02.DBF,的自动增长方式。,ALTER DATABASE DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS02.DBF AUTOEXTEND OFF;,将,ORCL,数据库,USERS,表空间的数据文件,USERS02.DBF,大小设置为,8 MB,。,ALTER DATABASE,DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS02.DBF RESIZE 8M;,(,3,)改变数据文件的可用性,概念,可以通过将数据文件联机或脱机来改变数据文件的可用性。,在下面几种情况下需要改变数据文件的可用性:,要进行数据文件的脱机备份时,需要先将数据文件脱机;,需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机;,如果,Oracle,在写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。,数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。,归档模式下数据文件可用性的改变,数据文件可用性的改变,ALTER DATABASE DATAFILE,ONLINE|OFFLINE,临时数据文件可用性的概念改变,ALTER DATABASE TEMPFILE,ONLINE|OFFLINE,在数据库处于归档模式下,将,ORCL,数据库,USERS,表空间的数据文件,USERS02.DBF,脱机。,ALTER DATABASE DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS02.DBF OFFLINE;,将,ORCL,数据库,USERS,表空间的数据文件,USERS02.DBF,联机。,ALTER,DATABASE,DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS02.DBF ONLINE;,非归档模式下数据文件可用性的改变,在非归档模式下,通常不能将数据文件脱机。,如果由于数据文件的损坏,需要将数据文件脱机,然后重新启动数据库,需要使用,ALTER DATABASE DATAFILE,OFFLINE FOR DROP,语句。例如:,ALTER,DATABASE,DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS02.DBFOFFLINE FOR DROP;,改变表空间中所有数据文件的可用性,在归档模式下,将表空间脱机或联机,ALTER TABLESPACE.DATAFILE,ONLINE|OFFLINE,在归档模式下,将临时表空间联机或脱机,ALTER TABLESPACE.TEMPFILE,ONLINE | OFFLINE,在归档模式下,将,USERS,表空间中所有的数据文件脱机,但,USERS,表空间不脱机。然后再将,USERS,表空间中的所有数据文件联机。,ALTER TABLESPACE USERS DATAFILE OFFLINE;,RECOVER TABLESPACE USERS;,ALTER TABLESPACE USERS DATAFILE ONLINE;,(,4,)改变数据文件的名称或位置,改变同一个表空间中的数据文件的名称或位置,ALTER TABLESPACLE,RENAME DATAFILE,TO,改变多个表空间中的数据文件的名称或位置,ALTER DATABASE RENAME FILE,TO,注意,改变数据文件的名称或位置时,,Oracle,只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置,因此需要,DBA,手动更改操作系统中数据文件的名称和位置。,改变同一个表空间中的数据文件的名称或位置,更改,ORCL,数据库,USERS,表空间的,USERS02.DBF,和,USERS03.DBF,文件名为,USERS002.DBF,和,USERS003.DBF,。,将包含数据文件的表空间置为脱机状态。,ALTER TABLESPACE USERS OFFLINE;,在操作系统中重命名数据文件或移动数据文件到新的位置。分别将,USERS02.DBF,和,USERS03.DBF,文件重命名为,USERS002.DBF,和,USERS003.DBF,。,使用,ALTER TABLESPACE,RENAME DATAFILE,TO,语句进行操作,ALTER TABLESPACE USERS RENAME DATAFILE,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBF TO,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS003.DBF;,将表空间联机。,ALTER TABLESPACE USERS ONLINE;,改变多个表空间中的数据文件的名称或位置,更改,ORCL,数据库,USERS,表空间中的,USERS002.DBF,文件位置和修改,TOOLS,表空间中的,TOOLS01.DBF,文件名,关闭数据库。,SHUTDOWN,在操作系统中,将,USERS,表空间中的,USERS002.DBF,文件复制到一个新的位置,如,D:ORACLEPRODUCT10.2.0ORADATA,,修改,TOOLS,表空间的数据文件,TOOLS01.DBF,的名为,TOOLS001.DBF,。,启动数据库到,MOUNT,状态。,STARTUP MOUNT,执行,ALTER DATABASE RENAME FILE,TO,语句更新数据文件名称或位置。,ALTER DATABASE RENAME FILE,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLTOOLS01.DBF TO,D:ORACLEPRODUCT10.2.0ORADATAUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLTOOLS001.DBF;,打开数据库。,ALTER DATABASE OPEN;,(,5,)删除数据文件,删除某个表空间中的某个空数据文件,ALTER TABLESPACE,DROP DATAFILE,删除某个临时表空间中的某个空的临时数据文件,ALTER TABLESPACE,DROP TEMPFILE,ALTER DATABASE TEMPFILE,DROP,所谓的空数据文件或空临时数据文件是指为该文件分配的所有区都被回收。,删除数据文件或临时数据文件的同时,将删除控制文件和数据字典中与该数据文件或临时数据文件的相关信息,同时也将删除操作系统中对应的物理文件。,删除,USERS,表空间中的数据文件,USERS03.DBF,和删除,TEMP,临时表空间中的临时数据文件,TEMP03.DBF,。,ALTER TABLESPACE USERS DROP DATAFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLUSERS03.DBF;,ALTER TABLESPACE TEMP DROP TEMPFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLTEMP03.DBF;,删除临时数据文件,TEMP03.DBF,还可以表示为,ALTER DATABASE TEMPFILE,D:ORACLEPRODUCT10.2.0ORADATA,ORCLTEMP02.DBF DROP,INCLUDING DATAFILES;,删除数据文件或临时数据文件时受到以下约束:,数据库运行在打开状态,数据文件或临时数据文件必须是空的,不能删除表空间的第一个或唯一的一个数据文件或临时数据文件,不能删除只读表空间中的数据文件,不能删除,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,:包含所有临时文件的基本信息。,查询数据文件动态信息,SELECT NAME,FILE#,STATUS,CHECKPOINT_CHANGE# FROM V$DATAFILE,查询数据文件的详细信息,SELECT TABLESPACE_NAME,AUTOEXTENSIBLE,FILE_NAME FROM DBA_DATA_FILES;,查询数据文件的增长方式,SELECT TABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAME FROM,DBA_DATA_FILES,查询临时数据文件信息,SELECT TABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLE FROM DBA_TEMP_FILES;,(,7,)利用,OEM,管理数据文件,创建数据文件,编辑数据文件,查看数据文件信息,删除数据文件,5.3,控制文件,控制文件概述,控制文件管理,5.3.1,控制文件概述,控制文件的性质,控制文件是一个很小的二进制文件。,控制文件描述了整个数据库的结构。,在加载数据库时,实例必须首先通过初始化参数文件找到数据库的控制文件。,在数据库运行期间,控制文件始终在不断更新,以便记录数据文件和重做日志文件的变化,每个数据库至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件。,分配在不同的物理硬盘中,以免数据库或硬盘损坏时,能够利用备份的控制文件启动数据库实例,可以提高数据库的可靠性。,控制文件的内容,数据库名称和标识;,数据库创建的时间;,表空间名称;,数据文件和重做日志文件的名称和位置;,当前重做日志文件序列号;,数据库检查点的信息;,回退段的开始和结束;,重做日志的归档信息;,备份信息;,数据库恢复所需要的同步信息。,控制文件中的最大化参数包括:,MAXLOGFILES,:最大重做日志文件组数量;,MAXLOGMEMBERS,:重做日志文件组中最大成员数量;,MAXLOGHISTORY,:最大历史重做日志文件数量;,MAXDATAFILES,:最大数据文件数量;,MAXINSTANCES,:可同时访问的数据库最大实例个数。,控制文件管理策略,Oracle,建议最少有两个控制文件,通过多路镜像技术,将多个控制文件分散到不同的磁盘中。在数据库运行过程中,始终读取,CONTROL_FILES,参数指定的第一个控制文件,并同时写,CONTROL_FILES,参数指定的所有控制文件。如果其中一个控制文件不可用,则必须关闭数据库并进行恢复。,每次对数据库结构进行修改后(添加、修改、删除数据文件、重做日志文件),应该及时备份控制文件。,5.3.2,控制文件的管理,创建控制文件,实现多路镜像控制文件,备份控制文件,删除控制文件,查看控制文件的信息,利用,OEM,管理控制文件,(,1,)创建控制文件,创建控制文件的情形,控制文件全部丢失或损坏;,需要修改数据库名称;,在,Oracle 10.2.0,之前的版本中,需要修改某个最大化参数。,CREATE CONTROLFILE,语句,CREATE CONTROLFILE REUSE,SET DATABASE database,LOGFILE logfile_clause,RESETLOGS|NORESETLOGS,DATAFILE file_specification,MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY,MAXDATAFILES,MAXINSTANCES,ARCHIVELOG|NOARCHIVELOG,FORCE LOGGING,CHARACTER SET character_set,创建控制文件的基本步骤,制作数据库中所有的数据文件和重做日志文件列表,SELECT MEMBER FROM V$LOGFILE;,SELECT NAME FROM V$DATAFILE;,SELECT VALUE FROM V$PARAMETER WHERE NAME = CONTROL_FILES;,如果数据库仍然处于运行状态,则关闭数据库,SHUTDOWN,在操作系统级别备份所有的数据文件和联机重做日志文件,启动实例到,NOMOUNT,状态,STARTUP NOMOUNT,利用前面得到的文件列表,执行,CREATE CONTROLFILE,创建一个新控制文件。,在操作系统级别对新建的控制文件进行备份,如果数据库重命名,则编辑,DB_NAME,参数来指定新的数据库名称,如果数据库需要恢复,则进行恢复数据库操作,如果创建控制文件时指定了,NORESTLOGS,,可以完全恢复数据库。,RECOVER DATABASE ;,如果创建控制文件时指定了,RESETLOGS,,则必须在恢复时指定,USING BACKUP CONTROLFILE,。,RECOVER DATABASE USING BACKUP CONTROLFILE;,打开数据库,如果数据库不需要恢复或已经对数据库进行了完全恢复,则可以正常打开数据库。,ALTER DATABASE OPEN;,如果在创建控制文件时使用了,RESETLOGS,参数,则必须指定以,RESETLOGS,方式打开数据库。,ALTER DATABASE OPEN RESETLOGS;,(,2,)实现多路镜像控制文件,编辑初始化参数,CONTROL_FILES,ALTER SYSTEM SET CONTROL_FILES=,SCOPE=SPFILE;,关闭数据库,SHUTDOWN IMMEDIATE;,拷贝一个原有的控制文件到新的位置,并重新命名,重新启动数据库,STARTUP,编辑初始化参数,CONTROL_FILES,。,ALTER SYSTEM SET CONTROL_FILES=,D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL,D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL,D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL,D:ORACLEPRODUCT10.2.0ORADATACONTROL04.CTL,SCOPE=SPFILE;,注意:前,3,个控制文件是原有的控制文件,最后一个控制文件是将要添加的。,关闭数据库,SHUTDOWN IMMEDIATE;,拷贝一个原有的控制文件到新的位置,并重新命名。,拷贝,D:ORACLEORADATACONTROL01.CTL,到,D:ORACLEORADATA,目录下,并重命名为,CONTROL04.CTL,。,重新启动数据库,STARTUP,(,3,)备份控制文件,将控制文件备份为二进制文件,ALTER DATABASE BACKUP CONTROLFILE TO,将控制文件备份为文本文件,ALTER DATABASE BACKUP CONTROLFILE TO TRACE,将控制文件备份到,adminudump,目录下的跟踪文件中,将控制文件备份为二进制文件。,ALTER DATABASE BACKUP CONTROLFILE,TO D:ORACLECONTROL.BKP;,将控制文件备份为文本文件。,ALTER DATABASE BACKUP CONTROLFILE,TO TRACE;,(,4,)删除控制文件,编辑,CONTROL_FILES,初始化参数,使其不包含要删除的控制文件;,关闭数据库;,在操作系统中删除控制文件;,重新启动数据库。,(,5,)查询控制文件的信息,V$DATABASE,:从控制文件中获取的数据库信息;,V$CONTROLFILE,:包含所有控制文件名称与状态信息;,V$CONTROLFILE_RECORD_SECTION,:包含控制文件中各记录文档段信息;,V$PARAMETER,:可以获取初始化参数,CONTROL_FILES,的值。,(,6,)利用,OEM,管理控制文件,查看控制文件信息,备份控制文件,5.4,重做日志文件,重做日志文件概述,重做日志文件的管理,5.4.1,重做日志文件概述,重做日志文件的概念,重做日志文件,保存了用户对数据库所作,的更新操作(,DDL,、,DML,),包含的主要信息是记录事务的开始和结束、事务中每项,操作的对象和类型、更新操作前后的数据值等。,重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。,用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由,DBWR,进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由,LGWR,进程周期性的写入重做日志文件。,利用重做日志文件恢复数据库是通过事务的重做(,REDO,)或回退(,UNDO,)实现的,。,重做日志文件的工作过程,每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程,LGWR,就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。,重做日志文件工作流程,为了保证,LGWR,进程的正常进行,通常采用重做日志文件组,(GROUP),,每个组中包含若干完全相同的重做日志文件成员,(MEMBER),,这些成员文件相互镜像。,5.4.2,重做日志文件的管理,添加重做日志文件组,添加重做日志文件组成员文件,改变重做日志文件组成员文件的名称和位置,删除重做日志文件组成员,删除重做日志文件组,重做日志文件切换,清空重做日志文件组,查看重做日志文件信息,利用,OEM,管理重做日志文件,(,1),添加重做日志文件组,语法,ALTER DATABASE ADD LOGFILE,示例,ALTER DATABASE ADD LOGFILE GROUP 4,(D:ORACLEPRODUCT10.2.0ORADATAORCL,REDO04a.LOG, D:ORACLEPRODUCT10.2.0ORADATA,ORCLREDO04b.LOG)SIZE 4M;,REDO2b.LOG,REDO1b.LOG,Group 1,Group 2,Group 3,REDO3b.LOG,REDO2a.LOG,REDO3a.LOG,REDO1a.LOG,Group 4,REDO4b.LOG,REDO4a.LOG,注意:,分配给每个重做日志文件的初始空间至少为,4 MB,。,如果没有使用,GROUP,子句指定组号,则系统会自动产生组号,为当前重做日志文件组的个数加,1,。,在,Oracle10.2.0,之前的版本中,数据库最多允许的重做日志文件组的数量由控制文件中的,MAXLOGFILES,参数决定。,在,Oracle10.2.0,之前的版本中,每个重做日志文件组中最多成员文件数量由控制文件中的,MAXLOGMEMBERS,参数决定。,(,2,)添加重做日志文件组成员,语法,ALTER DATABASE ADD LOGFILE MEMBER,TO GROUP,示例,ALTER DATABASE ADD LOGFILE MEMBER,D:ORACLEPRODUCT10.2.0ORADATA,ORCLREDO01C.LOG TO GROUP 1,D:ORACLEPRODUCT10.2.0ORADATAORCL,REDO04C.LOG TO GROUP 4;,注意:,同一个重做日志文件组中的成员文件存储位置应尽量分散。,不需要指定文件大小。新成员文件大小由组中已有成员大小决定。,(,3,)改变重做日志文件组成员名称或位置,语法,ALTER DATABASE RENAME FILE,TO,注意,只能更改处于,INACTIVE,或,UNUSED,状态的重做日志文件组的成员文件的名称或位置。,示例,将重做日志文件,REDO01C.LOG,重命名为,REDO01B.LOG,,将,REDO04C.LOG,移到,D:ORACLEPRODUCT10.2.0ORADATA,目录下。,检查要修改的成员文件所在的重做日志文件组状态,SELECT group#,status FROM v$log;,如果要修改的日志文件组不是处于,INACTIVE,或,UNUSED,状态,则需要进行手动日志切换。,重命名重做日志文件或将重做日志文件移到新位置,打开,D:ORACLEPRODUCT10.2.0ORADATAORCL,文件夹,,将,REDO01C.LOG,更名为,REDO01B.LOG,,同时将,REDO04C.LOG,移,到,D:ORACLEPRODUCT10.2.0ORADATA,文件夹下。,执行,ALTER DATABASE RENAME FILE,TO,语句,ALTER DATABASE RENAME FILE,D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01C.LOG,D:ORACLEPRODUCT10.2.0ORADATAORCLREDO4C.LOG TO,D:ORACLEPRODUCT10.2.0ORADATAORCLREDO001B.LOG,D:ORACLEPRODUCT10.2.0ORADATAREDO04C.LOG;,(,4,)删除重做日志文件组成员,语法,ALTER DATABASE DROP LOGFILE MEMBER,注意事项,只能删除状态为,INACTIVE,或,UNUSED,的重做日志文件组中的成员;若要删除状态为,CURRENT,的重做日志文件组中的成员,则需执行一次手动日志切换。,如果数据库处于归档模式下,则在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。,每个重做日志文件组中至少要有一个可用的成员文件,即,VALID,状态的成员文件。如果要删除的重做日志文件是所在组中最后一个可用的成员文件,则无法删除。,ALTER DATABASE DROP LOGFILE MEMBER,D:ORACLEPRODUCT10.2.0ORADATAREDO4c.LOG;,Group 4,REDO4a.LOG,REDO4b.LOG,REDO4c.LOG,(,5,)删除重做日志文件组,语法,ALTER DATABASE DROP LOGFILE GROUP,注意事项,无论重做日志文件组中有多少个成员文件,一个数据库至少需要使用两个重做日志文件组。,如果数据库处于归档模式下,则在删除重做日志文件组之前,必须确定该组已经被归档。,只能删除处于,INACTIVE,状态或,UNUSED,状态的重做日志文件组,若要删除状态为,CURRENT,的重做日志文件组,则需要执行一次手动日志切换。,示例,ALTER DATABASE DROP LOGFILE GROUP 4;,REDO2a.LOG,REDO1a.LOG,Group 1,Group 2,Group 3,REDO3a.LOG,Group 4,REDO4a.LOG,REDO4b.LOG,(,6,)重做日志文件组切换,当,LGWR,进程结束对当前重做日志文件组的使用,开始写入下一个重做日志文件组时,称为发生了一次,“,日志切换,”,。,通常,只有当前的重做日志文件组写满后才发生日志切换,但是可以通过设置参数,ARCHIVE_LAG_TARGET,控制日志切换的时间间隔,在必要时也可以采用手工强制进行日志切换。,如果需要将当前处于,CURRENT,状态的重做日志组立即切换到,INACTIVE,状态,必须进行手工日志切换。,手动日志切换的语法,ALTER SYSTEM SWITCH LOGFILE,查看日至切换状态,SELECT * FROM V$LOGFILE;,当发生日志切换时,系统将为新的重做日志文件产生一个日志序列号,在归档时该日志序列号一同被保存。日志序列号是在线日志文件和归档日志文件的唯一标识。,(,7,),清除重做日志文件组,基本概念,在数据库运行过程中,联机重做日志文件可能会因为某些原因而损坏,导致数据库最终由于无法将损坏的重做日志文件归档而停止,此时可以在不关闭数据库的情况下,手工清除损坏的重做日志文件内容,避免出现数据库停止运行的情况。,清除重做日志文件就是将重做日志文件中的内容全部清除,相当于删除该重做日志文件,然后再重新建立它。清除重做日志文件组是将该文件组中的所有成员文件全部清空。,语句,ALTER DATABASE CLEAR LOGFILE GROUP,在下列两种情况下,清除重做日志文件组的操作将无法进行。,数据库只有两个重做日志文件组;,需要清除的重做日志文件组处于,CURRENT,状态。,如果要清空的重做日志文件组尚未归档,则必须使用,UNARCHIVED,子句,以避免对这个重做日志文件组进行归档。,ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 4;,(,8,)查看重做日志文件信息,数据字典视图,V$LOG,:包含从控制文件中获取的所有重做日志文件组的基本信息。,V$LOGFILE,:包含重做日志文件组及其成员文件的信息。,V$LOG_HISTORY,:包含关于重做日志文件的历史信息。,查询重做日志文件组的信息,SELECT GROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVED FROM V$LOG;,查询重做日志文件的信息,SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE ORDER BY GROUP#;,(,9,)利用,OEM,管理重做日志文件,创建重做日志组,编辑重做日志组,查看重做日志组,5.5,归档重做日志文件,重做日志文件归档概述,数据库归档模式管理,5.5.1,重做日志文件归档概述,基本概念,Oracle,数据库能够把已经写满了的重做日志文件保存到指定的一个或多个位置,被保存的重做日志文件的集合称为归档重做日志文件,这个过程称为归档。,根据是否进行重做日志文件归档,数据库运行可以分为归档模式或非归档模式。,归档模式与非归档模式比较,在归档模式下,数据库中历史重做日志文件全部被保存,因此在数据库出现故障时,即使是介质故障,利用数据库备份、归档重做日志文件和联机重做日志文件也可以完全恢复数据库。,在非归档模式下,由于没有保存过去的重做日志文件,数据库只能从实例崩溃中恢复,而无法进行介质恢复。在非归档模式下不能执行联机表空间备份操作,不能使用联机归档模式下建立的表空间备份进行恢复,而只能使用非归档模式下建立的完全备份来对数据库进行恢复。,在归档模式和非归档模式下进行日志切换的条件也不同。在非归档模式下,日志切换的前提条件是已写满的重做日志文件在被覆盖之前,其所有重做记录所对应的事务的修改操作结果全部写入到数据文件中。在归档模式下,日志切换的前提条件是已写满的重做日志文件在被覆盖之前,不仅所有重做记录所对应的事务的修改操作结果全部写入到数据文件中,还需要等待归档进程完成对它的归档操作。,5.5.2,数据库归档模式管理,数据库归档,/,非归档模式设置,归档模式下归档方式的选择,归档路径的设置,设置可选或强制归档目标,查询归档信息,(,1,)设置归档,/,非归档模式,关闭数据库,SHUTDOWN IMMEDIATE,启动数据库到,MOUNT,状态,STARTUP MOUNT,使用,ALTER DATABASE ARCHIVELOG,语句将数据库设置为归档模式。,ALTER DATABASE ARCHIVELOG;,或使用,ALTER DATABASE NOARCHIVELOG,语句将数据库设置为非归档模式。,ALTER DATABASE NOARCHIVELOG;,打开数据库,ALTER DATABASE OPEN;,(,2,)归档模式下归档方式的选择,数据库在归档模式下运行时,可以采用自动或手动两种方式归档重做日志文件。,如果选择自动归档方式,那么在重做日志文件被覆盖之前,,ARCH,进程自动将重做日志文件内容归档;,如果选择了手动归档,那么在重做日志文件被覆盖之前,需要,DBA,手动将重做日志文件归档,否则系统将处于挂起状态。,自动归档方式的设置,启动归档进程,ALTER SYSTEM ARCHIVE LOG START;,关闭归档进程,ALTER SYSTEM ARCHIVE LOG STOP;,手动归档,对所有已经写满的重做日志文件(组)进行归档:,ALTER SYSTEM ARCHIVE LOG ALL;,对当前的联机日志文件(组)进行归档:,ALTER SYSTEM ARCHIVE LOG CURRENT;,(,3,)归档路径设置,使用初始化参数,LOG_ARCHIVE_DEST,和,LOG_ARCHIVE_DUPLEX_DEST,设置归档路径,LOG_ARCHIVE_DEST,参数指定本地主归档路径,LOG_ARCHIVE_DUPLEX_DEST,指定本地次归档路径。,使用初始化参数,LOG_ARCHIVE_DEST_n,设置归档路径,最多可以指定,10,个归档路径,其归档目标可以是本地系统的目录,也可以是远程的数据库系统。,注意,这两组参数只能使用一组设置归档路径,而不能两组同时使用。,ALTER SYSTEM SET LOG_ARCHIVE_DEST=D:ORACLEBACKUP SCOPE=SPFILE;,SQLALTER SYSTEM SET LOG_ARCHIVE_DUPLEX_DEST=E:ORACLEBACKUP SCOPE=SPFILE;,ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=LOCATION=D:BACKUPARCHIVE;,ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=SERVICE=STANDBY1;,设置归档文件命名方式,设置参数,LOG_ARCHIVE_FORMAT,指定归档文件命名方式,ALTER SYSTEM SET LOG_ARCHIVE_FORMAT =arch_%t_%s_%r.arc SCOPE=SPFILE;,%s,:代表日志文件序列号(,Log Sequences Number,);,%S,:代表日志文件序列号,不足,3,位的以,0,补齐;,%t,:代表线程号(,Thread Number,);,%T,:代表线程号,不足,3,位的以,0,补齐;,%r,:代表重做日志的,ID,(,Resetlogs ID,);,%R,:代表重做日志的,ID,,不足,3,位的以,0,补齐。,(,4,)设置可选或强制归档目标,设置最小成功归档目标数,LOG_ARCHIVE_MIN_SUCCESS_DEST,设置启动最大归档进程数,LOG_ARCHIVE_MAX_PROCESSES,设置强制归档目标和可选归档目标,使用,LOG_ARCHIVE_DEST_n,参数时通过使用,OPTIONAL,或,MANDATORY,关键字指定可选或强制归档目标。,ALTER SYSTEM SET,LOG_ARCHIVE_DEST_1=,LOCATION=D:BACKUPARCHIVE MANDATORY;,ALTER SYSTEM SET,LOG_ARCHIVE_DEST_2=SERVICE=STANDBY1 OPTIONAL;,(,5,)归档信息查询,执行,ARCHIVE LOG LIST,命令,查询数据字典视图或动态性能视图,V$DATABASE,:用于查询数据库是否处于归档模式;,V$ARCHIVED_LOG,:包含从控制文件中获取的所有已归档日志的信息。,V$ARCHIVE_DEST,:包含所有归档目标信息,如归档目标的位置、状态等。,V$ARCHIVE_PROCESSES,:包含已启动的,ARCH,进程的状态信息。,V$BACKUP_REDOLOG,:包含已备份的归档日志信息。,例如,查询数据库所有归档路径信息。,SELECT DESTINATION ,BINDING FROM V$ARCHIVE_DEST;,总结,Oracle,数据库体系结构及存储结构,数据库物理结构的组成,数据文件的作用及其管理,控制文件的作用以及管理,重做日志文件的作用及其管理,归档日志文件的作用及其管理,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!