数据库存储设置与管理.ppt

上传人:小飞机 文档编号:5985572 上传时间:2023-09-11 格式:PPT 页数:100 大小:397.50KB
返回 下载 相关 举报
数据库存储设置与管理.ppt_第1页
第1页 / 共100页
数据库存储设置与管理.ppt_第2页
第2页 / 共100页
数据库存储设置与管理.ppt_第3页
第3页 / 共100页
数据库存储设置与管理.ppt_第4页
第4页 / 共100页
数据库存储设置与管理.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《数据库存储设置与管理.ppt》由会员分享,可在线阅读,更多相关《数据库存储设置与管理.ppt(100页珍藏版)》请在三一办公上搜索。

1、第5章 数据库存储设置与管理,主要内容,数据库存储设置与管理概述表空间的设置与管理数据文件的设置与管理控制文件的设置与管理重做日志文件设置与管理归档重做日志文件设置与管理,5.1 数据库存储设置与管理概述,在Oracle数据库的存储结构包括物理存储结构和逻辑存储结构。物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。,Oracle数据库物理存储结构,数据文件:用于存储数据库中的

2、所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。,逻辑结构单元类型数据块:BLOCK 区:EXTENT段:SEGMENT表空间:TABLESPACE,5.2 表空间的设置与管理,表空间介绍创建表空间修改表空间大小修改表

3、空间的可用性修改表空间的读写性设置默认表空间删除表空间查询表空间信息,表空间介绍,表空间是Oracle数据库的最大逻辑容器,一个表空间包含一个或多个数据文件。数据库容量在物理上由数据文件大小与数量决定的,在逻辑上由表空间大小与数量决定的。,表空间属性:类型:永久性表空间(PERMANENT TABLESPACE)、临时表空间(TEMP TABLESPACE)、撤销表空间(UNDO TABLESPACE)管理方式:字典管理方式(DICTIONARY)和本地管理方式(LOCAL)区分配方式:自动分配(AUTOALLOCATE)和定制分配(UNIFORM)段的管理方式:自动管理(AUTO)和手动管理

4、(MANUAL),创建表空间,创建永久表空间使用CREATE TABLESPACE语句来实现,该语句包含以下几个子句:DATAFILE:设定表空间对应的数据文件。EXTENT MANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO(默认)。,创建本地管理的永久表空间,区采用自动分配方式,段采用自动管理方式。CREATE TABLESPACE HRTBS1 DATAFILE D:APPADMIN

5、ISTRATORORADATAHUMAN_RESOURCEHRTBS1_1.DBF SIZE 50M;创建本地管理的永久表空间,区采用定制分配方式,段采用自动管理方式。CREATE TABLESPACE HRTBS2 DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTBS2_1.DBF SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;,创建本地管理的永久表空间,区采用自动分配方式,段采用手动管理方式。CREATE TABLESPACE HRTBS3 DATAFILED:APPADMINIST

6、RATORORADATAHUMAN_RESOURCEHRTBS3_1.DBF SIZE 50M SEGMENT SPACE MANAGEMENTMANUAL;创建一个永久性的表空间HRTBS4,区定制分配,段采用手动管理方式。CREATE TABLESPACE HRTBS4 DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTBS4_1.DBF SIZE 50MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL;,创建一个永久性的表空间INDX,区自动

7、扩展,段采用自动管理方式,专门用于存储HUMAN_RESOURCE数据库中的索引数据。CREATE TABLESPACE INDX DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCEINDEX01.DBF SIZE 50M;,创建大文件表空间,一个大文件表空间只包含一个数据文件,该数据文件可以包含4G(232)个数据块。通过查询数据字典DATABASE_PROPERTIES中数据库的属性DEFAULT_TBS_TYPE,可以知道数据库默认创建的是小文件表空间还是大文件表空间。,创建一个大文件表空间,文件大小为1G,区的分配采用定制方式。CREATE

8、 BIGFILE TABLESPACE big_tbs DATAFILE D:APPADMINISTRATORORADATAORCLbig01.dbf SIZE 1G UNIFORM SIZE 512K;需要注意的是,大文件表空间中段的管理只能采用自动管理方式,而不能采用手动管理方式。,创建临时表空间,临时表空间是指专门存储临时数据的表空间,这些临时数据在会话结束时会自动释放。在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据,而内存不足以容纳这么多数据,此时可以使用临时表空间集中管理临时数据,既提高了排序操作的并发度,又提高了存储空间管理的效率。,创建一个临时表空间HRTEM

9、P1CREATE TEMPORARY TABLESPACE HRTEMP1 TEMPFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTEMP1_1.DBF SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15M;为了避免临时空间频繁分配与回收时产生大量碎片,临时表空间的区只能采用自动分配方式。,创建一个临时表空间HRTEMP2,并放入临时表空间组TEMP_GROUP。同时,将临时表空间HRTEMP1也放入该TEMP_GROUP中。CREATE TEMPORARY TABLESPACE HRTEMP2 TEMP

10、FILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTEMP2_1.DBF SIZE 20MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 15MTABLESPACE GROUP TEMP_GROUP;ALTER TABLESPACE HRTEMP1 TABLESPACE GROUP TEMP_GROUP;,创建撤销表空间,从Oracle 9i开始,Oracle数据库中引入撤销表空间,专门用于回退段的自动管理,由数据库自动进行回退段的创建、分配与优化。创建一个撤销表空间HRUNDO1。CREATE UNDO TABLESPACE

11、HRUNDO1 DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCEHRUNDO1_1.DBF SIZE 20M;,修改表空间大小,改变数据文件大小的方法添加数据文件改变已有数据文件的大小改变数据文件的可扩展性重新设置数据文件的大小。,为表空间添加数据文件,通过ALTER TABLESPACEADD DATAFILE语句为永久表空间添加数据文件通过ALTER TABLESPACE ADD TEMPFILE语句为临时表空间添加临时数据文件,向USERS表空间中添加一个大小为10MB的数据文件。ALTER TABLESPACE USERS ADD DAT

12、AFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBF SIZE 10M向TEMP表空间中添加一个大小为5MB的临时数据文件。ALTER TABLESPACE TEMP ADD TEMPFILED:APPADMINISTRATORORADATAHUMAN_RESOURCETEMP02.DBF SIZE 5M,改变数据文件的扩展性,如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTEND ON选项,则该文件的大小是固定的。如果为数据文件指定了AUTOEXTEND ON选项,当数据文件被填满时,数据文件会自动扩展,即表空间被扩展

13、了。,修改USERS表空间的数据文件USERS02.DBF为自动增长方式。ALTER DATABASE DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBF AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;USERS表空间的数据文件USERS02.DBF的自动增长方式。ALTER DATABASE DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBF AUTOEXTEND OFF;,重新设置数据文件的大小,可以使用ALTER DATAB

14、ASE DATAFILERESIZE 改变表空间已有数据文件的大小。将HUMAN_RESOURCE数据库USERS表空间的数据文件USERS02.DBF大小设置为8MB。ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBF RESIZE 8M;,修改表空间的可用性,表空间的可用性是指表空间脱机或联机操作。除了SYSTEM表空间、存放在线回退信息的撤销表空间和临时表空间不可以脱机外,其它的表空间都可以设置为脱机状态。将某个表空间设置为脱机状态时,属于该表空间的所有数据文件都处于脱机状态。可以使用ALT

15、ER TABLESPACEOFFLINE将表空间脱机。,修改表空间的读写性,满足下列条件的表空间才可以设置为只读状态。表空间必须处于联机状态。表空间中不能包含任何活动的回退段。系统表空间SYSTEM、辅助系统表空间SYSAUX、当前使用的撤销表空间(UNDO)和当前使用的临时表空间(TEMP)不能设置为只读状态。如果表空间正在进行联机数据备份,则不能将该表空间设置为只读状态。,可以使用ALTER TABLESAPCEREAD ONLY语句将表空间设置为只读状态可以使用ALTER TABLESPACEREAD WRITE语句将表空间由只读状态恢复为读写状态。,5.2.6 设置默认表空间,在Ora

16、cle 11g数据库中,数据库的默认表空间为USERS表空间,默认的临时表空间为TEMP表空间。可以使用ALTER DATABASE DEFAULT TABLESPACE语句设置数据库默认表空间。可以使用ALTER DATABASE DEFAULT TEMPORARY TABLESPACE语句设置数据库的默认临时表空间。,将HRTBS1表空间设置为案例数据库的默认表空间。ALTER DATABASE DEFAULT TABLESPACE HRTBS1;将HRTEMP1表空间设置为默认临时表空间ALTER DATABASE DEFAULT TEMPORARY TABLESPACE HRTEMP1

17、;将temp_group临时表空间组设置为默认临时表空间。ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_group;,5.2.7 表空间的备份,对表空间进行联机备份备份的基本步骤为(1)使用ALTER TABLESPACEBEGIN BACKUP语句将表空间设置为备份模式;(2)在操作系统中备份表空间所对应的数据文件;(3)使用ALTER TABLESPACEEND BACKUP语句结束表空间的备份模式。,备份案例数据库的HRTBS1表空间。ALTER TABLESPACE HRTBS1 BEGIN BACKUP;复制HRTBS1表空间的数据

18、文件HRTBS1_1.DBF到目标位置。ALTER TABLESPACE HRTBS1 END BACKUP;,删除表空间,可以使用DROP TABLESPACE语句删除表空间如果表空间的数据文件不是空的,需要带有INCLUDING CONTENTS子句;如果在删除表空间的同时还要删除操作系统中的数据文件,则需要带有AND DATAFILES子句;如果表空间中的对象被其它表空间引用,则还需要带有CASCADE CONSTRAINTS子句。,删除HRUNDO1表空间。DROP TABLESPACE HRUNDO1 INCLUDING CONTENTS;删除HRUNDO1表空间,同时删除其所对应的

19、数据文件。DROP TABLESPACE HRUNDO1 INCLUDING CONTENTS AND DATAFILES;删除HRUNDO1表空间,同时删除其所对应的数据文件,以及其他表空间中与HRUNDO1表空间相关的参照完整性约束。DROP TABLESPACE HRUNDO1 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;,5.2.9 查询表空间信息,V$TABLESPACE:从控制文件中获取的表空间名称和编号信息。DBA_TABLESPACES:数据库中所有表空间的信息。DBA_TABLESPACE_GROUPS:表空间组及

20、其包含的表空间信息,查询案例数据库中各个表空间的名称、区的管理方式、段的管理方式、表空间 类型等信息。SELECT TABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE,CONTENTS FROM DBA_TABLESPACES;,5.3 数据文件的设置与管理,数据文件介绍创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称或位置查询数据文件的信息,5.3.1 数据文件介绍,Oracle数据库的数据文件是用于保存数据库中数据的文件,系统数据、数据字典数据、临时数据、索引数据、应用数据等都物理地存储在数据文件中。Oracle数据库中有

21、一种特殊的数据文件,称为临时数据文件,属于数据库的临时表空间。临时数据文件中的内容是临时性的,在一定条件下自动释放。,5.3.2 创建数据文件,数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。语法ALTER TABLESPACEADD DATAFILEALTER TABLESPACEADD TEMPFILE,向USERS表空间中添加一个大小为10MB的数据文件。ALTER TABLESPACE USERS ADD DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE

22、USERS03.DBF SIZE 10M;向TEMP表空间中添加一个大小为5MB的临时数据文件。ALTER TABLESPACE TEMP ADD TEMPFILED:APPADMINISTRATORORADATAHUMAN_RESOURCETEMP03.DBF SIZE 5M;,5.3.3 修改数据文件的大小,方法设置数据文件为自动增长方式。手工改变数据文件的大小。设置数据文件为自动增长方式创建时设置数据文件为自动增长创建后修改数据文件为自动增长AUTOEXTEND ON NEXT MAXSIZE|UNLIMITED手工改变数据文件的大小ALTER DATABASE DATAFILERESI

23、ZE,5.3.4 改变数据文件的可用性,概念可以通过将数据文件联机或脱机来改变数据文件的可用性。,在下面几种情况下需要改变数据文件的可用性:要进行数据文件的脱机备份时,需要先将数据文件脱机;需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机;如果Oracle在写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。,(1)归档模式下数据文件可用性的改变,数据文件可用性的改变ALTER DATABASE DATAFILE ONLINE|OFFL

24、INE临时数据文件可用性的改变ALTER DATABASE TEMPFILE ONLINE|OFFLINE,将USERS表空间的数据文件USERS02.DBF脱机ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE USERS02.DBF OFFLINE;将USERS表空间的数据文件USERS02.DBF联机ALTERDATABASEDATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE USERS02.DBF ONLINE;在归档模式下,将数据文件联机之前需要使用RECOVER

25、 DATAFILE语句对数据文件进行恢复。,5.3.5 改变数据文件的名称或位置,改变同一个表空间中数据文件的名称或位置ALTER TABLESPACLERENAME DATAFILETO改变多个表空间中数据文件的名称或位置ALTER DATABASE RENAME FILETO注意改变数据文件的名称或位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置,因此需要DBA手动更改操作系统中数据文件的名称和位置。,1改变同一个表空间中的数据文件名称或位置,改变同一个表空间中的数据文件的名称或位置,可以在表空间级别进行,将改变数据文件名称或位

26、置的操作对系统的影响降低到最小。其步骤为:将数据文件所属表空间设置为脱机状态;在操作系统中改变数据文件的名称或位置执行ALTER TABLESPACERENAME DATAFILETO语句,修改数据字典和控制文件中与该数据文件相关的信息将数据文件所属表空间设置为联机状态。,将案例数据库中USERS表空间的数据文件USERS01.DBF移动到D:APPADMINISTRATORORADATA目录中。ALTER TABLESPACE USERS OFFLINE;HOST COPY D:APPADMINISTRATORORADATA HUMAN_RESOURCEUSERS01.DBF D:APPAD

27、MINISTRATORORADATAUSERS01.DBFALTER TABLESPACE USERS RENAME DATAFILE D:APPADMINISTRATORORADATA HUMAN_RESOURCE USERS01.DBF TO D:APPADMINISTRATORORADATAUSERS01.DBFALTER TABLESPACE USERS ONLINE;,2.改变多个表空间中的数据文件的名称或位置,如要要在数据库级别一次性完成所有数据文件名称或位置的修改,必须关闭数据库,将数据库启动到加载状态下进行。步骤为:关闭数据库;启动数据库到加载状态(MOUNT);在操作系统中修

28、改数据文件的名称或位置;执行ALTER DATABASERENAME FILETO语句,修改数据字典和控制文件中与这些数据文件相关的信息;打开数据库。,将USERS表空间中的USERS02.DBF文件和UNDOTBS1表空间中的UNDOTBS01.DBF文件移动到D:APPADMINISTRATORORADATA目录中。SHUTDOWN IMMEDIATEHOST COPY D:APPADMINISTRATORORADATA HUMAN_RESOURCEUSERS02.DBF D:APPADMINISTRATORORADATAUSERS01.DBFHOST COPY D:APPADMINIST

29、RATORORADATA HUMAN_RESOURCEUNDOTBS01.DBF D:APPADMINISTRATORORADATAUNDOTBS01.DBFSTARTUP MOUNT,ALTER DATABASE RENAME FILE D:ORACLEPRODUCT10.2.0ORADATA HUMAN_RESOURCEUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATA HUMAN_RESOURCETOOLS01.DBF TO D:ORACLEPRODUCT10.2.0ORADATAUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORAD

30、ATA HUMAN_RESOURCETOOLS001.DBF;ALTER DATABASE OPEN;,5.3.6 查询数据文件信息,DBA_DATA_FILES:包含数据库中所有数据文件的信息,包括数据文件所属的表空间、数据文件编号等。DBA_TEMP_FILES:包含数据库中所有临时数据文件的信息。V$DATAFILE:包含从控制文件中获取的数据文件信息。V$TEMPFILE:包含所有临时文件的基本信息。,查询当前数据库所有的表空间及其数据文件信息。SELECT TABLESPACE_NAME,FILE_NAME FROM dba_data_files;,5.4 控制文件的设置与管理,控制

31、文件介绍创建控制文件添加多路复用控制文件备份控制文件删除控制文件查询控制文件信息,5.4.1 控制文件介绍,控制文件是一个很小的二进制文件。控制文件描述了整个数据库的结构。在加载数据库时,实例必须首先通过初始化参数文件找到数据库的控制文件。每个数据库至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件。分配在不同的物理硬盘中,以免数据库或硬盘损坏时,能够利用备份的控制文件启动数据库实例,可以提高数据库的可靠性。,控制文件的内容数据库名称和标识;数据库创建的时间;表空间名称;数据文件和重做日志文件的名称和位置;当前重做日志文件序列号;数据库检查点的信息;回退段的开始和结束;重做日志的归档信

32、息;备份信息;数据库恢复所需要的同步信息。,5.4.2 创建控制文件,CREATE CONTROLFILE REUSESET DATABASE databaseLOGFILE logfile_clauseRESETLOGS|NORESETLOGSDATAFILE file_specificationMAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESMAXINSTANCESARCHIVELOG|NOARCHIVELOGFORCE LOGGINGCHARACTER SET character_set,创建控制文件的基本步骤,制作数据库中所有的数据文件

33、和重做日志文件列表SELECT MEMBER FROM V$LOGFILE;SELECT NAME FROM V$DATAFILE;SELECT VALUE FROM V$PARAMETER WHERE NAME=CONTROL_FILES;如果数据库仍然处于运行状态,则关闭数据库SHUTDOWN IMMEDIATE在操作系统级别备份所有的数据文件和联机重做日志文件启动实例到NOMOUNT状态STARTUP NOMOUNT,利用前面得到的文件列表,执行CREATE CONTROLFILE创建一个新控制文件。在操作系统级别对新建的控制文件进行备份如果数据库重命名,则编辑DB_NAME参数来指定新

34、的数据库名称 如果数据库需要恢复,则进行恢复数据库操作如果创建控制文件时指定了NORESTLOGS,可以完全恢复数据库。RECOVER DATABASE;如果创建控制文件时指定了RESETLOGS,则必须在恢复时指定USING BACKUP CONTROLFILE。RECOVER DATABASE USING BACKUP CONTROLFILE;,打开数据库如果数据库不需要恢复或已经对数据库进行了完全恢复,则可以正常打开数据库。ALTER DATABASE OPEN;如果在创建控制文件时使用了RESETLOGS参数,则必须指定以RESETLOGS方式打开数据库。ALTER DATABASE

35、OPEN RESETLOGS;,5.4.3 添加多路复用控制文件,关闭数据库。使用操作系统命令拷贝一个控制文件的副本到新的位置,并重新命名;或者改变控制文件的名称或位置。编辑初始化参数文件中的CONTROL_FILES参数,将新添加的控制文件的名称添加到控制文件列表中,或修改控制文件列表中原有控制文件的名称与位置。重新启动数据库。,当前数据库的控制文件为CONTROL01.CTL和CONTROL02.CTL,再添加一个名为CONTROL03.CTL的控制文件。ALTER SYSTEM SET CONTROL_FILES=D:APPADMINISTRATORORADATAHUMAN_REOSUE

36、CE CONTROL01.CTL,D:APPADMINISTRATORFLASH_RECOVERY_AREA HUMAN_REOSUECECONTROL02.CTL,D:APPADMINISTRATORORADATAHUMAN_REOSUECE CONTROL03.CTL SCOPE=SPFILE;SHUTDOWN IMMEDIATE,HOST COPY D:APPADMINISTRATORORADATAHUMAN_REOSUECE CONTROL01.CTL D:APPADMINISTRATORORADATAHUMAN_REOSUECE CONTROL03.CTLSTARTUP,5.4.4

37、备份控制文件,将控制文件备份为二进制文件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;,5.4.5 删除控制文件,编辑CONTROL_FILES初始化参数

38、,使其不包含要删除的控制文件;关闭数据库;在操作系统中删除控制文件;重新启动数据库。,5.4.6 查询控制文件信息,V$DATABASE从控制文件中获取的数据库信息;V$CONTROLFILE包含所有控制文件名称与状态信息;V$CONTROLFILE_RECORD_SECTION包含控制文件中各记录文档段信息;V$PARAMETER可以获取初始化参数CONTROL_FILES的值。,5.5 重做日志文件设置与管理,重做日志文件介绍查询重做日志文件信息创建重做日志文件组及其成员重做日志文件切换修改重做日志文件的名称或位置删除重做日志文件组及其成员,5.5.1 重做日志文件介绍,重做日志文件,保存

39、了用户对数据库所作的更新操作(DDL、DML),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由DBWR进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR进程周期性的写入重做日志文件。利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。,每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志组,称为日志切换,

40、同时信息会写到控制文件中。,为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。,查询重做日志文件信息,数据字典视图V$LOG:包含从控制文件中获取的所有重做日志文件组的基本信息。V$LOGFILE:包含重做日志文件组及其成员文件的信息。V$LOG_HISTORY:包含关于重做日志文件的历史信息。,查询重做日志文件组的信息 SELECT GROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVED FROM V$LOG;查询重做日志文件的信息 SELECT GROUP#,TY

41、PE,MEMBER FROM V$LOGFILE ORDER BY GROUP#;,5.5.3 创建重做日志文件组及其成员,创建重做日志文件组创建重做日志文件成员,创建重做日志文件组,可以使用ALTER DATABASE ADD LOGFILE GROUP语句为数据库创建重做日志文件组。一个数据库中可以包含的重做日志文件组的最大数量是由控制文件中的MAXLOGFILES参数决定的。,为当前数据库创建一个包括两个成员文件的重做日志文件组。ALTER DATABASE ADD LOGFILE GROUP 4(D:APPADMINISTRATORORADATAORCLREDO04a.LOG,D:AP

42、PADMINISTRATORORADATAORCLREDO04b.LOG)SIZE 10M;,创建重做日志文件成员,可以使用ALTER DATABASE ADD LOGFILE MEMBERTO GROUP语句为数据库重做日志文件组添加成员文件。一个重做日志文件组中可以拥有的最多成员文件数量是由控制文件中的MAXLOGMEMBERS参数决定的。注意:同一个重做日志文件组中的成员文件存储位置应尽量分散;不需要指定文件大小,新成员文件大小由组中已有成员大小决定。,为数据库的重做日志文件组1、2、3分别创建一个成员文件。ALTER DATABASE ADD LOGFILE MEMBERD:APPAD

43、MINISTRATORORADATAHUMAN_RESOURCEREDO01B.LOG TO GROUP 1,D:APPADMINISTRATORORADATAHUMAN_RESOURCEREDO02B.LOG TO GROUP 2,D:APPADMINISTRATORORADATAHUMAN_RESOURCEREDO03B.LOG TO GROUP 3;,重做日志文件切换,当LGWR进程结束对当前重做日志文件组的使用,开始写入下一个重做日志文件组时,称为发生了一次“日志切换”。通常,只有当前的重做日志文件组写满后才发生日志切换,但是可以通过设置参数ARCHIVE_LAG_TARGET控制日志

44、切换的时间间隔,在必要时也可以采用手工强制进行日志切换。如果需要将当前处于CURRENT 状态的重做日志组立即切换到INACTIVE状态,必须进行手工日志切换。,手动日志切换的语法ALTER SYSTEM SWITCH LOGFILE查看日至切换状态SELECT*FROM V$LOGFILE;当发生日志切换时,系统将为新的重做日志文件产生一个日志序列号,在归档时该日志序列号一同被保存。日志序列号是在线日志文件和归档日志文件的唯一标识。,修改重做日志文件的名称或位置,可以修改处于INACTIVE状态的重做日志文件组中的成员文件的名称或位置。如果要修改的重做日志文件所在重做日志文件组不是处于INA

45、CTIVE状态,可以进行日志切换,使该重做日志文件组处于INACTIVE状态。修改重做日志文件的名称或位置时,首先在操作系统中进行重做日志文件名称或位置的修改,然后执行ALTER DATABASE RENAME FILETO语句修改数据库的控制文件与数据字典中相应重做日志文件信息。,将重做日志文件REDO01B.LOG、REDO02B.LOG移动到目录D:APP ADMINISTRATORORADATA中。HOST MOVE D:APPADMINISTRATORORADATAHUMAN_RESOURCEREDO01B.LOG D:APPADMINISTRATORORADATAREDO01B.L

46、OGHOST MOVE D:APPADMINISTRATORORADATAHUMAN_RESOURCEREDO02B.LOG D:APPADMINISTRATORORADATAREDO02B.LOG,ALTER DATABASE RENAME FILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE REDO01B.LOG,D:APPADMINISTRATORORADATAHUMAN_RESOURCE REDO02B.LOG TO D:APPADMINISTRATORORADATAREDO01B.LOG,D:APPADMINISTRATORORADATAREDO

47、02B.LOG;,删除重做日志文件组及其成员,删除重做日志文件成员删除重做日志文件组,删除重做日志文件成员,可以使用ALTER DATABASE DROP LOGFILE MEMBER语句删除重做日志文件。注意以下事项只能删除状态为INACTIVE或UNUSED的重做日志文件组中的成员;若要删除状态为CURRENT的重做日志文件组中的成员,则需执行一次手动日志切换。如果数据库处于归档模式下,则在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。每个重做日志文件组中至少要有一个可用的成员文件,即VALID状态的成员文件。如果要删除的重做日志文件是所在组中最后一个可用的成员文件,则无法删

48、除。,删除第4个重做日志文件组中的成员文件REDO04B.LOG。ALTER DATABASE DROP LOGFILE MEMBER D:APPADMINISTRATORORADATAHUMAN_RESOURCE REDO04B.LOG;,删除重做日志文件组,可以使用ALTER DATABASE DROP LOGFILE语句删除重做日志文件组。注意:无论重做日志文件组中有多少个成员文件,一个数据库至少需要有两个重做日志文件组;如果数据库处于归档模式下,则在删除重做日志文件组之前,必须确定该组已经被归档;只能删除处于INACTIVE状态或UNUSED状态的重做日志文件组,若要删除状态为CURR

49、ENT的重做日志文件组,则需要执行一次手动日志切换,删除第4个重做日志文件组。ALTER DATABASE DROP LOGFILE GROUP 4;,5.6 归档日志文件设置与管理,归档日志文件介绍数据库归档模式的设置归档目标设置查询归档信息,5.6.1 归档日志文件介绍,重做日志文件归档是指将写满了的重做日志文件保存到一个或多个指定的离线位置,这些被保存的历史重做日志文件的集合称为归档重做日志文件。根据是否对重做日志文件进行归档,数据库运行模式分为归档模式与非归档模式两种。,5.6.2 数据库归档模式的设置,关闭数据库SQLSHUTDOWN IMMEDIATE设置归档目的地将数据库启动到加

50、载状态SQLSTARTUP MOUNT改变数据库归档模式SQLALTER DATABASE ARCHIVELOG;SQLALTER DATABASE NOARCHIVELOG;打开数据库SQLALTER DATABASE OPEN;,指定归档目标,设置初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST设置初始化参数LOG_ARCHIVE_DEST_n,使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能设置两个本地的归档目标,一个主归档目标和一个辅助归档目标。SQLALTER SYSTEM SET LOG_A

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号