控制文件

本文介绍了Oracle数据库控制文件的重要作用,包括记录数据库物理结构、装载和打开数据库所需信息及同步恢复时的日志信息。此外,还详细说明了如何通过PFILE和SPFILE建立多元化的控制文件,以及在控制文件损坏时如何重建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制文件不仅记载了数据库的物理结构(数据文件的名称和位置、重做日志的名称和位置),装载和打开数据库时也需要这些文件,而且它们还记载了日志序列号、检查点和日志历史信息,同步和恢复数据库时需要这些信息。控制文件主要记载了一下信息:

     数据库名称

     数据文件名称和位置

     重做日志名称和位置

     表空间名称

     当前日志序列号

     检查点信息

     日志历史信息

      RMAN信息

控制文件是一种较小的oracle数据库文件,尺寸一般在2M~10M之间,变化尺寸主要由永久参数和RMAN信息决定。执行CREATE DATABASE命令建立数据库时,通过设置永久参数可以设定oracle数据库最大的例程个数、最大数据文件个数、最大日志组个数、最大日志成员个数以及最大日志历史个数等信息。为了存放数据文件、日志组、日志成员、例程、日志历史等信息,控制文件需要为它们提供预留空间。这些永久参数包括:

       MAXINSTANCES:用于指定可以同时访问数据库的最大例程个数

       MAXDATAFILES:用于 指定oracle数据库的最大数据文件个数。

       MAXLOGFILES:用于指定oracle数据库的最大日志组个数。

       MAXLOGMEMBERS:用于指定每个日志组的最大日志成员个数。

       MAXLOGHISTORY:用于指定控制文件可记载日志历史的最大个数。

使用RMAN执行备份操作时,RMAN备份信息会被记载到控制文件中。初始化参数control_files_record_keep_time指定了RMAN备份信息在控制文件中的保留时间,其默认值为7。

 

 

1. 使用PFILE 建立多元化控制文件

   (1)手动打开PFILE文件,找到control_files,修改控制文件路径。例如:control_files=D:/DEMO/CONTROL01.CTL

    (2)关闭数据库。修改了静态参数后,必须首先关闭数据库,然后重启才能生效。

    (3)复制控制文件。多元化控制文件时,多个控制文件互为景象,为了确保文件内容完全一致,必须 关闭数据库后再复制控制文件。示例如下:

       HOST COPY D:/DEMO/CONTROL01.CTL E:DEMO/CONTROL02.CTL

    (4)启动数据库

2.使用SPFILE多元化控制文件

    (1)alter system set control_file='d:/demo/control01.ctl' scope=spfile;

     (2)关闭数据库。

     (3)复制控制文件,好PFILE一样

     (4)启动数据库

3.建立控制文件

     (1)控制文件损坏,无法恢复。需要重新创建控制文件,步骤如下。

             @1  修改初始化参数control_files 改变控制文件位置。

                 如果控制文件所在磁盘出现损坏,必须使用alter system命令改变控制文件位置。当例程处于NOMOUNT状态时,执行以下命令可以改变控制文件位置。 ALTER SYSTEM SET CONTROL_FILES= 'C:/DEMO/CONTROL01.CTL'

             @2  关闭例程

 

     @3     建立控制文件时,要求例程必须处于NOMOUNT状态。所以输入 startup nomount

              @4 建立控制文件

                    启动例程后,就可以创建控制文件了。注意,建立控制文件必须提供正确的数据文件和重做日志清单。示例如下:

                    CREATE CONTROLFILE DATABASE demo NORESETLOGS

                     LOGFILE

                               GROUP 1 'D:/DEMO/REDO01.LOG' SIZE 10M,

                                GROUP 2 'D:/DEMO/REDO02.LOG' SIZE 10M

                      DATAFILE

                                 'D:/DEMO/SYSTEM01.DBF',

                                 'D:/DEMO/UNDOTBS01.DBF',

                                  'D:/DEMO/SYSAUX01.DBF'

                    CHARACTER SET ZHS16GBK;

     @5 打开数据库

                 @6 增加临时文件

                        打开数据库后,客户应用可以执行各种数据库访问操作,但如果执行排序操作,可能会显示错误信息。为了顺利执行排序操作,必须重新建立临时文件。具体命令如下:

                    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:/DEMO/TEMP.DBF' SIZE 10M REUSE AUTOEXTEND OFF;

4. 删除控制文件就使用ALTER SYSTEM SET CONTROL_FILES= ‘’ 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值