热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle控制文件(controlfile)作用

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

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

控制文件是一个小小的二进制文件,是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的文件地址

注意:

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

linux

推荐阅读
author-avatar
古子同
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有