oracle的控制文件(control file)

1:对oracle database  files进行说明

2:oracle doc 对 control file的定义

3:查找oracle数据文件的三种方式

4:FAQ


控制文件是一个小小的二进制文件,是oracle数据库的一部分,这个控制文件是用于记录数据库的状态和物理结构。


每个数据库必须要至少一个控制文件,但是强烈的建议超过一个控制文件,每个控制文件的备份应该放在不同的磁盘上。


一:控制文件包含如下信息:

1:数据库名

2:数据库创建的时间戳

3:数据文件的名字和位置

4:redo log (联机重做日志文件)的名字和位置

5:当前日志的序列号

6:checkpoint 信息

7:最近的 RMAN备份(我现在不知道这个是什么?)


二: 三种方式查找控制文件信息


1:通过查询  v$controlfile 表中的信息可以查到控制文件信息

SQL> select status, name from  v$controlfile;

STATUS  NAME
------- --------------------------------------------------
        D:\APP\TOPWQP\ORADATA\ORCL\CONTROL01.CTL
        D:\APP\TOPWQP\ORADATA\ORCL\CONTROL02.CTL
        D:\APP\TOPWQP\ORADATA\ORCL\CONTROL03.CTL


2:使用参数 control_files可以查到控制文件

因为前面提到过,控制文件信息是在启动参数文件 spfile或者pfile中有定义,所以可以通过查看这个参数的形式查找控制文件:

SQL> show parameter control_files;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      D:\APP\TOPWQP\ORADATA\ORCL\CON
                                                 TROL01.CTL, D:\APP\TOPWQP\ORAD
                                                 ATA\ORCL\CONTROL02.CTL, D:\APP
                                                 \TOPWQP\ORADATA\ORCL\CONTROL03
                                                 .CTL


3:通过操作系统查找文件命令 查找:

D:\>dir /s control*.ctl
 驱动器 D 中的卷是 soft
 卷的序列号是 000B-1FAE

 D:\app\topwqp\oradata\orcl 的目录

2013/06/18  21:24         9,781,248 CONTROL01.CTL
2013/06/18  21:24         9,781,248 CONTROL02.CTL
2013/06/18  21:24         9,781,248 CONTROL03.CTL
               3 个文件     29,343,744 字节


V$CONTROLFILE_RECORD_SECTION 列出了control_file中的信息


通过以下方式可以修改控制文件的位置:

alter system set control_files = '文件路径/文件名'
scope= spfile 

scope= spfile 代表修改spfile中 control_file的文件地址


注意:
oracle启动的时候读取启动初始化信息,
初始化信息中包含了控制文件的位置
控制文件中包含了联机重做日志文件和数据文件的位置


这三个控制文件的大小一样,3个控制文件最好放在不同的物理磁盘上,往控制文件中写信息的时候并发同时写,所以3个控制文件的内容是相同的,
但是读取的时候,只读取第一个,如果3个控制文件有一个出错了,oracle就不能启动了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据库中,可以通过修改参数控制 Control File 的备份周期。具体操作如下: 1.登录到数据库服务器并以管理员身份启动 SQL*Plus 或其他 Oracle 数据库客户端工具。 2.使用 SYS 或其他具有 SYSDBA 权限的用户登录到数据库实例中。 3.执行以下语句查看当前数据库Control File 自动备份配置: ``` SHOW CONTROLFILE AUTOBACKUP; ``` 如果输出结果为 "OFF",表示当前未启用 Control File 自动备份功能;如果输出结果为 "ON",表示当前已启用 Control File 自动备份功能,并且备份周期默认为每次备份数据库时都会备份 Control File。 4.如果需要修改 Control File 自动备份周期,可以执行以下语句: ``` CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/%F'; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE TAPE TO '/dev/rmt0'; CONFIGURE CONTROLFILE AUTOBACKUP MAXCOPIES 3; ``` 其中,第一条语句用于启用 Control File 自动备份功能,第二条语句用于指定备份文件的格式和存储路径,第三条语句用于指定备份文件的最大备份数量。在这个例子中,自动备份的 Control File 文件将会保存在磁盘上的 /u01/backup 目录中,备份文件名的格式为 %F,表示使用时间戳作为备份文件名的一部分;同时,还指定了备份文件最大备份数量为 3,表示最多只保留 3 个备份文件。 5.执行以下语句验证修改是否生效: ``` SHOW CONTROLFILE AUTOBACKUP; ``` 如果输出结果为修改后的值,表示修改已生效。 注意:修改 Control File 自动备份的参数需要谨慎操作,必须确保备份文件的存储路径和备份文件的最大备份数量设置合理,否则可能会导致备份文件过多或存储位置不正确的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值