Oracle数据库管理、开发与实践 教学课件 ppt 作者 杨永健 刘尚毅 第11章 控制文件和日志文件

上传人:E**** 文档编号:89369964 上传时间:2019-05-24 格式:PPT 页数:43 大小:1.63MB
返回 下载 相关 举报
Oracle数据库管理、开发与实践 教学课件 ppt 作者  杨永健 刘尚毅 第11章 控制文件和日志文件_第1页
第1页 / 共43页
Oracle数据库管理、开发与实践 教学课件 ppt 作者  杨永健 刘尚毅 第11章 控制文件和日志文件_第2页
第2页 / 共43页
Oracle数据库管理、开发与实践 教学课件 ppt 作者  杨永健 刘尚毅 第11章 控制文件和日志文件_第3页
第3页 / 共43页
Oracle数据库管理、开发与实践 教学课件 ppt 作者  杨永健 刘尚毅 第11章 控制文件和日志文件_第4页
第4页 / 共43页
Oracle数据库管理、开发与实践 教学课件 ppt 作者  杨永健 刘尚毅 第11章 控制文件和日志文件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Oracle数据库管理、开发与实践 教学课件 ppt 作者 杨永健 刘尚毅 第11章 控制文件和日志文件》由会员分享,可在线阅读,更多相关《Oracle数据库管理、开发与实践 教学课件 ppt 作者 杨永健 刘尚毅 第11章 控制文件和日志文件(43页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第11章 控制文件和日志文件,掌握管理控制文件的方法 掌握管理重做日志文件的方法 掌握管理归档日志文件的方法,主要内容,1.管理控制文件 2.管理重做日志文件 3.管理归档日志文件 4.综合实例向数据库中添加包含3个文件的重做日志文件组,第11章 控制文件和日志文件,11.1 管理控制文件,11.1.1 简介控制文件 11.1.2 控制文件的多路复用 11.1.3 创建控制文件 11.1.4 备份和恢复控制文件 11.1.5 删除控制文件 11.1.6 查询控制文件的信息,在Oracle数据库中,控制文件是一个很小(大小一般在10MB范围内)的二进制文件,含有数据库的结构信息,包

2、括数据文件和日志文件的信息。可以将控制文件理解为物理数据库的一个元数据存储库。控制文件在数据库创建时被自动创建,并在数据库发生物理变化时更新。控制文件被不断更新,并且在任何时候都要保证控制文件是可用的。只有Oracle进程才能够安全地更新控制文件的内容,所以,任何时候都不要试图手动编辑控制文件。 由于控制文件在数据库中的重要地位,所以保护控制文件的安全非常重要,为此Oracle系统提供了备份文件和多路复用的机制。当控制文件损坏时,用户可以通过先前的备份来恢复控制文件。系统还提供了手工创建控制文件和把控制文件备份成文本文件的方式,从而使用户能够更加灵活地管理和保护控制文件。 控制文件中记录了对应

3、数据库的结构信息(如,数据文件和日志文件的名称、位置等信息)和数据库当前的参数设置,其中主要包含如下内容: 数据库名称和SID标识 数据文件和日志文件列表(包括文件名称和对应路径信息)。 数据库创建的时间戳。 表空间信息。 当前重做日志文件序列号。 归档日志信息。 检查点信息。 回滚段(UNDO SEGMENT)的起始和结束。 备份数据文件信息。,11.1.1 简介控制文件,在了解了控制文件的主要内容之后,我们来看一下如何对控制文件进行日常管理。 (1)及时备份控制文件 Oracle数据库的控制文件是在创建数据库时自动创建的,一般情况下,控制文件至少有一个副本。当Oracle数据库的实例启动时

4、,控制文件用于在数据库(包括数据文件、控制文件、日志文件)和实例(指Oracle内存管理结构)之间建立起关联,它在进行数据库操作时必须被打开。当数据库的物理组成(比如,增加一个重做日志文件)发生变化时,Oracle将自动把这个变化信息记录到控制文件中。如果数据库的物理组成发生了变化,则建议用户及时备份控制文件。 (2)保护控制文件 一旦控制文件被损坏,数据库便无法顺利启动,而且修复也非常困难。也因为如此,控制文件的管理与维护工作显得格外重要。由于控制文件对整个数据库起着非常重要的作用,因此数据库管理员在管理控制文件时,需要采用多种策略或准则来保护控制文件,目前采用的方法主要包括多路复用控制文件

5、和备份控制文件。,11.1.2 控制文件的多路复用,为了提高数据库的安全性,至少要为数据库建立两个控制文件,并且这两个控制文件最好分别保存在不同的磁盘中,这样就可以避免产生由于某个磁盘故障而无法启动数据库的危险,该管理策略被称为多路复用控制文件。通俗地说,多路复用控制文件是指在系统不同的位置上同时存放多个控制文件的副本,在这种情况下,如果多路复用控制文件中的某个磁盘发生物理损坏导致其所包含的控制文件损坏,数据库将被关闭(在数据库实例启动的情况下),此时就可以利用另一个磁盘中保存的控制文件来恢复被损坏的控制文件,然后再重新启动数据库,达到保护控制文件的目的。 在初始化参数CONTROL_FILE

6、S中列出了当前数据库的所有控制文件名。Oracle将根据CONTROL_FILES参数中的信息同时修改所有的控制文件,但只读取其中的第一个控制文件中的信息。另外,需要注意的是:在整个数据库运行期间,如果任何一个控制文件被损坏,那么实例就不能再继续运行。实现控制文件的多路复用主要包括更改CONTROL_FILES参数和复制控制文件两个步骤,具体如下: 1更改CONTROL_FILES参数 在SPFILE文件中,CONTROL_FILES参数用于设置数据库的控制文件路径(包括文件名),Oracle通过该参数来定位并打开控制文件,如果需要对控制文件进行多路复用,就必须先更改CONTROL_FILES

7、参数的设置,更改这个参数可以使用ALTER SYSTEM语句,如下面的示例代码: SQL alter system set control_files= 2 E:APPADMINISTRATORORADATAORCLCONTROL01.CTL, 3 E:APPADMINISTRATORFLASH_RECOVERY_AREAORCLCONTROL02.CTL, 4 D:OracleFilesControlFilesCONTROL03.CTL 5 scope=spfile; 系统已更改。,在上面的代码中,前两个控制文件是在创建数据库时自动创建的,第3个控制文件是用户将要手动添加的(用于实现多路复用

8、的功能),并且它位于不同的磁盘上(为了降低故障率),但目前还没有创建该文件,用户需要关闭数据库,然后通过手动复制来创建它。 2复制控制文件 在CONTROL_FILES参数进行设置后,需要创建第3个控制文件,以达到复用控制文件的目的,具体步骤如下: (1)退出SQL*Plus环境。 (2)选择“开始”/“控制面板”/“管理工具”/“组件服务”项,打开Windows的“组件服务”窗口,在该窗口的中间部分找到OracleServiceORCL和OracleDBConsoleORCL服务,手动将这些服务停止,如图11-1所示。 图11-1 停止OracleServiceORCL和OracleDBCo

9、nsoleORCL服务,(3)找到CONTROL_FILES参数中所指定的第一个控制文件,然后将这个控制文件拷贝到CONTROL_FILES参数中新增加的目录下,并按照参数的设置重新命名(这里重命名为CONTROL03.CTL,注意:它就是CONTROL01.CTL的多路复用控制文件),如图11-2所示。 图11-2 复制第一个控制文件,(4)启动“组件服务”窗口中的OracleServiceORCL和OracleDBConsoleORCL服务,打开SQL*Plus环境,通过查询数据字典V$CONTROLFILE来确认添加的控制文件是否已经起作用,代码如下: SQL select name a

10、s 控制文件 from V$CONTROLFILE; 上面代码运行结果如图11-3所示。 图11-3 查看控制文件,11.1.3 创建控制文件,在一般情况下,若使用了多路复用控制文件,并将各个控制文件分别存储在不同的磁盘中,则全部控制文件丢失或损坏的可能性将非常小。如果突发意外,而导致数据库的所有控制文件全部丢失或损坏,唯一的补救方法就是手工创建一个新的控制文件。手工创建控制文件使用CREATE CONTROLFILE语句,其语法格式如下。 create controlfile reuse database db_name logfile group 1 redofiles_list1 gro

11、up 2 redofiles_list2 group 3 redofiles_list3 . datafile datafile1 datafile2 datafile3 maxlogfiles max_value1 maxlogmembers max_value2 maxinstances max_value3 maxdatafiles max_value4 noresetlogs|resetlogs archivelog|noarchivelog;,参数说明如下: db_name:数据库名称,通常是orcl。 redofiles_list1:重做日志组中的重做日志文件列表1,列表中的重做日

12、志文件可以有多个,其下面两个个列表与此相同。 datafile1:数据文件路径,其下面两个个列表与此相同。 max_value1:最大的重做日志文件数,这是一个永久性的参数。 max_value2:最大的重做日志组成员数,这是一个永久性的参数。 max_value3:最大实例数,这是一个永久性的参数。 max_value4:最大数据文件数,这是一个永久性的参数。 在上面的语法中,提到了永久性参数这个概念,它是在创建数据库时设置的参数,主要包括数据库名称、MAXLOGFILES、MAXLOGMEMBERS、MAXINSTANCES等。 注意: 若数据库管理员需要改变数据库的某个永久性参数,那么必

13、须重新创建控制文件。,11.1.4 备份和恢复控制文件,为了提高数据库的可靠性,降低由于丢失控制文件而造成灾难性后果的可能性,DBA需要进场对控制文件进行备份。特别是当修改了数据库结构之后,需要立即对控制文件进行备份。 1备份控制文件 备份控制文件需要使用到ALTER DATABASE BACKUP CONTROLFILE语句。有两种备份方式:一种是备份为二进制文件,另一种是备份为脚本文件。 备份为二进制文件 备份为二进制文件需要使用“alter dabase backup controlfile”语句。 【例11-1】 将数据库的控制文件备份为一个二进制文件,即复制当前的控制文件,代码及其运

14、行结果如下。 SQL alter database backup controlfile 2 to D:OracleFilesControlFilescontrol_file1.bkp; 数据库已更改。 备份为脚本文件 备份为脚本文件实际上就是备份为可读的文本文件,同样使用“alter dabase backup controlfile”语句。,11.1.5 删除控制文件,如果控制文件的位置不在适合时,可以从数据库中删除控制文件,其操作过程如下。 (1)关闭数据库(shutdown)。 (2)编辑初始化参数CONTROL_FILES,清除掉打算要删除的控制文件的名称。 (3)重新启动数据库(s

15、tartup)。 上面的第二部操作,仅仅是在初始化参数CONTROL_FILES中删除了指定的控制文件,但物理磁盘上的控制文件还是存在的,用于也可以在这个操作之后,手动清除磁盘上的物理文件。 注意: 不能够将控制文件全部删除,至少保留两个或两个以上,否则数据库将无法启动。,11.1.6 查询控制文件的信息,控制文件是一个二进制文件,其中被分隔成许多部分,分别记录各种类型的信息。每一类信息成为一个记录文档段。控制文件的大小在创建时即被确定,其中各个记录文档段大小也是固定的。例如,在创建数据库时通过MAXLOGFILES子句设定数据库中最多的重做日志文件数量,那么在控制文件中就会为LOGFILE记

16、录文档分配相应的存储空间。 查询Oracle数据库的控制文件信息,可以使用若干个数据字典视图,与控制文件信息相关的常用数据字典视图如表11-1所示。 表11-1 与控制文件信息相关的常用数据字典视图,下面来看一个关于查看控制文件中各个记录文档段的信息的例子。 【例11-4】 使用v$controlfile_record_section视图查看控制文件中记录文档段的类型、文档段中每条记录的大小、记录文档中最多能够存储的条目数、已经创建的数目等信息,代码如下。 SQL select type,record_size,records_total,records_used from v$controlfile_record_section; 本例运行结果如图11-11所示。 图11-11 查询控制文件中各个记录文档段的信息 type列表示记录文档段的类型,这里以TABLESPACE为例,该数据库最多可以拥有200个表空间(RECORDS_TOTAL列),而现在系统

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号