控制文件(controlfile)
2016-03-15 21:46
281 查看
一.概述
a.存放相关信息:控制文件记载了数据库的物理结构等重要的信息,如日志文件和数据文件信息。
b.控制文件是用来维护数据库完整性的重要文件
c.oracle正式使用控制文件来建立实例与数据库的连接
d.当实例发生故障时,控制文件中记录的信息可以用来进行实例恢复
二.控制文件内容
控制文件的体现:
在数据库mount阶段,oracle会按照初始化参数文件中controlfiles的内容来查找并打开控制文件
在open阶段,oracle会根据控制文件中所记录的日志文件和数据文件信息来打开数据文件和日志文件
从启动过程可以看出,oracle需要从控制文件中读取必要的信息,而且数据库启动之后会不断的将信息
写回到控制及文件。所以,在数据库打开及运行的过程中,controlfile必须是可用的。
控制文件中记录的信息(来自官方文档)
The database name --数据库名称或标识
Names and locations of associated datafiles and redo log files --数据文件,日志文件的名称和路径
The timestamp of the database creation --数据库创建的时间信息
The current log sequence number --当前的日志序号
Checkpoint information --检查点信息
除此之外,还有些其他的信息,比如表空间的信息,日志文件的历史信息,发生归档时,归档日志的位置和状态,rman记录的备份信息的
位置和状态
三.控制文件复用
控制文件复用(增加控制文件)
在数据库关闭状态下(open状态控制文件会时刻改变,所以必须在关闭状态),复制控制文件到相应的路径,再改变controlfile的参数即可
a,shutdown immediate
b.使用操作系统命令复制控制文件到相应的路径
c.startup nomount --因为Mount阶段就要打开控制文件
d.改变控制文件参数
alter system set control_files='/oracle/app/oracle/oradata/orcl/control01.ctl','/oracle/app/oracle/oradata/orcl/control02.ctl' scope=spfile
四.控制文件备份(测试控制文件的脚本备份)
a.alter database backup controlfile to trace;--备份控制文件到数据库跟踪日志
可以利用参数user_dump_dest来查找trace文件
在相应的目录下alert_orcl.log中查找相应的日志记录来定位具体的trace文件
运行trace文件中创建控制文件的sql即可
STARTUPNOMOUNT
CREATE CONTROLFILE
REUSE/*覆盖原有控制文件*/
DATABASE "ORCL"/*数据库名称db_name*/
NORESETLOGS ARCHIVELOG
--resetlogs选项会清空重做日志所包含的事务修改
MAXLOGFILES
16
MAXLOGMEMBERS
3
MAXDATAFILES
80
MAXINSTANCES
8
MAXLOGHISTORY
292
LOGFILE
GROUP
1 '/oracle/app/oracle/oradata/orcl/redo01.log'
SIZE 50M
BLOCKSIZE 512,
GROUP
2 '/oracle/app/oracle/oradata/orcl/redo02.log'
SIZE 50M
BLOCKSIZE 512,
GROUP
3 '/oracle/app/oracle/oradata/orcl/redo03.log'
SIZE 50M
BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/oracle/app/oracle/oradata/orcl/system01.dbf',
'/oracle/app/oracle/oradata/orcl/sysaux01.dbf',
'/oracle/app/oracle/oradata/orcl/undotbs01.dbf',
'/oracle/app/oracle/oradata/orcl/users01.dbf',
'/oracle/app/oracle/oradata/orcl/users02.dbf',
'/oracle/app/oracle/oradata/orcl/users03.dbf',
'/oracle/app/oracle/oradata/orcl/block.dbf',
'/oracle/app/oracle/oradata/orcl/perfstat01.dba'
CHARACTER
SET WE8MSWIN1252 --数据库字符集
;
a.存放相关信息:控制文件记载了数据库的物理结构等重要的信息,如日志文件和数据文件信息。
b.控制文件是用来维护数据库完整性的重要文件
c.oracle正式使用控制文件来建立实例与数据库的连接
d.当实例发生故障时,控制文件中记录的信息可以用来进行实例恢复
二.控制文件内容
控制文件的体现:
在数据库mount阶段,oracle会按照初始化参数文件中controlfiles的内容来查找并打开控制文件
在open阶段,oracle会根据控制文件中所记录的日志文件和数据文件信息来打开数据文件和日志文件
从启动过程可以看出,oracle需要从控制文件中读取必要的信息,而且数据库启动之后会不断的将信息
写回到控制及文件。所以,在数据库打开及运行的过程中,controlfile必须是可用的。
控制文件中记录的信息(来自官方文档)
The database name --数据库名称或标识
Names and locations of associated datafiles and redo log files --数据文件,日志文件的名称和路径
The timestamp of the database creation --数据库创建的时间信息
The current log sequence number --当前的日志序号
Checkpoint information --检查点信息
除此之外,还有些其他的信息,比如表空间的信息,日志文件的历史信息,发生归档时,归档日志的位置和状态,rman记录的备份信息的
位置和状态
三.控制文件复用
控制文件复用(增加控制文件)
在数据库关闭状态下(open状态控制文件会时刻改变,所以必须在关闭状态),复制控制文件到相应的路径,再改变controlfile的参数即可
a,shutdown immediate
b.使用操作系统命令复制控制文件到相应的路径
c.startup nomount --因为Mount阶段就要打开控制文件
d.改变控制文件参数
alter system set control_files='/oracle/app/oracle/oradata/orcl/control01.ctl','/oracle/app/oracle/oradata/orcl/control02.ctl' scope=spfile
四.控制文件备份(测试控制文件的脚本备份)
a.alter database backup controlfile to trace;--备份控制文件到数据库跟踪日志
可以利用参数user_dump_dest来查找trace文件
在相应的目录下alert_orcl.log中查找相应的日志记录来定位具体的trace文件
运行trace文件中创建控制文件的sql即可
STARTUPNOMOUNT
CREATE CONTROLFILE
REUSE/*覆盖原有控制文件*/
DATABASE "ORCL"/*数据库名称db_name*/
NORESETLOGS ARCHIVELOG
--resetlogs选项会清空重做日志所包含的事务修改
MAXLOGFILES
16
MAXLOGMEMBERS
3
MAXDATAFILES
80
MAXINSTANCES
8
MAXLOGHISTORY
292
LOGFILE
GROUP
1 '/oracle/app/oracle/oradata/orcl/redo01.log'
SIZE 50M
BLOCKSIZE 512,
GROUP
2 '/oracle/app/oracle/oradata/orcl/redo02.log'
SIZE 50M
BLOCKSIZE 512,
GROUP
3 '/oracle/app/oracle/oradata/orcl/redo03.log'
SIZE 50M
BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/oracle/app/oracle/oradata/orcl/system01.dbf',
'/oracle/app/oracle/oradata/orcl/sysaux01.dbf',
'/oracle/app/oracle/oradata/orcl/undotbs01.dbf',
'/oracle/app/oracle/oradata/orcl/users01.dbf',
'/oracle/app/oracle/oradata/orcl/users02.dbf',
'/oracle/app/oracle/oradata/orcl/users03.dbf',
'/oracle/app/oracle/oradata/orcl/block.dbf',
'/oracle/app/oracle/oradata/orcl/perfstat01.dba'
CHARACTER
SET WE8MSWIN1252 --数据库字符集
;
相关文章推荐
- 学习《HTML+CSS基础课程》里的权值
- Spring和Hibernate结合的一个小例子
- 百度距离谷歌何止一个太平洋的距离
- Spring和Hibernate结合的一个小例子
- python连接redis3.x集群并做操作
- shell之文本编辑
- nyoj27水池数目
- springMVC No mapping found for HTTP request with URI
- 百度距离谷歌何止一个太平洋的距离
- C#开源项目大全
- 自动生成四则运算题目
- 使用okhttp报错"Missing type parameter"
- Git 时间,版本控制工具进阶
- ext2文件系统源代码之dir.c
- 逆波兰表达式计算器
- Hibernate批量操作
- poj(1222)——EXTENDED LIGHTS OUT
- 大话kmp! (模版测试题hdu1171)
- 手机震动的节奏(Vibrator对象及周期运用)
- Java学习笔记(反射+枚举类)