本文整理自网络,侵删。
一、控制文件
作用:
- 二进制文件
- 记录了数据库当前实例的结构和行为,数据文件日志文件的信息,维护数据库一致性
- 参数文件中定义了控制文件的位置和大小
- 很小的二进制文件,一般不超过100m
- mount阶段open以后,一直在用
- 一套控制文件只能连接一个database
- 分散放置,至少一份,至多八份
相关视图:
- v$controlfile ---- 列出实例的所有控制文件的名字和状态
- v$parameter ---- 列出所有参数的位置和状态(where name='control_files')
- v$controlfile_recode_section ---- 提供控制文件的记录部分的信息
- show parameter control_files ---- 列出控制文件的名字、状态和位置
查看控制文件内容:
strings $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl alter database backup controlfile to trace as '<filepath&name>'
转储控制文件:
alter system set events 'immediate trace name controlf level 10'
- level 1 块头
- level 2 文件内容
- level 3 1+2
- level 10 全部
管理控制文件:
spfile 修改spfile参数control_files(alter……)
- 一致性关闭数据库
- 增加或减少控制文件
- 启动数据库使用spfile
- 验证结果
pfile 一致性关闭数据库
- 修改pfile参数
- 增加或减少控制文件
- 启动数据库使用spfile
- 验证结果
状态查询:参数和具体文件是否对应、磁盘空间剩余、控制文件<100M
热备控制文件:
数据库归档模式下,
alter database backup controlfile to '<fpath&name>'
其他模式下:
alter database backup controlfile to trace as '<fpath&name>'
得到建立控制文件脚本
数据库归档模式下rman备份:
rman target / >backup current controlfile; or >backup database include current controlfile;
rman自动备份控制文件:
>show all中的configure controlfile autobackup设置为on
>configure controlfile autobackup on
问题解决:
控制文件不一致:
(1). 拷贝新版本的控制文件到旧版本文件
2. 修改参数文件,只使用新版本的文件(alter system set……),重启
控制文件丢失:
【mount阶段,使用archive log list可以查看数据库是否在归档模式下】
相关阅读 >>
更多相关阅读请进入《oracle》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。