Oracle OCP笔记(08)控制文件

来源:互联网 发布:淘宝同行竞争插件 编辑:程序博客网 时间:2024/05/22 14:46

Oracle OCP笔记(08)控制文件



1.关于控制文件
    控制文件是数据库中非常重要的一类文件,它记录了当前实例连接的数据库的结构和行为,并维护数据库的一致性.
    初始化参数文件中描述控制文件的位置.
    控制文件是很小的二进制文件,一般不要超过100M.
    在实例mount时读取控制文件,open后一直在使用.
    控制文件只能连接一个database.
    控制文件丢失需要要恢复.
    最多有8个控制文件,最少1个,多个控制文件是镜像的关系.
    控制文件的初始化大小由CREATE DATABASE时定义.


2.控制文件包含以下内容
    数据库名字和标识
    数据库创建的时间戳
    表空间名字
    数据文件和联机重做日志文件的位置和名字
    当前联机重做日志文件的sequence号码
    检查点信息
    回滚段的开始和结束
    联机重做日志的归档信息
    备份信息


3.下列视图获得控制文件信息
    v$controlfile  列出实例的所有控制文件的名字和状态
    v$parameter    列出所有参数的位置和状态(参数control_files)
    v$parameter2   列出所有参数的位置和状态(参数control_files),多行列表形式
    v$controlfile_record_section  提供控制文件的记录部分的信息
    show parameter control_files  列出控制文件的名字,状态,位置


    使用操作系统命令strings查看控制文件中的具体内容
    strings control01.ctl | more




4.修改控制文件初始化参数,可以包含新副本位置
    alter system set control_files='control01.ctl','control02.ctl','control03.ctl' scope=spfile;
    shutdown immediate
    startup


5.备份控制文件
    脱机一致冷备份
    shutdown之后复制控制文件即可(所有控制文件及副本select * from v$controlfile),处于打开或加载模式时进行复制,副本是无效的。


    联机不一致热备份
    alter database backup controlfile to 'file_name' reuse;     -- 二进制文件
    alter database backup controlfile to trace as 'file_name';  -- 文本文件,重建脚本


    RMAN备份控制文件
    RMAN> connect target /
    RMAN> backup current controlfile;
    RMAN> backup database include current controlfile;
    RMAN> configure controlfile autobackup on;   --将控制文件自动备份功能置为on;


6.控制文件副本恢复
    永远都不能彻底丢失控制文件,必须实现控制文件的多重化。如果控制文件的任何副本受损,数据库实例将立即异常终止,如果尝试启动,实例将进入NOMOUNT模式,并停在那里,只有CONTROL_FILES实例参数指定的所有副本都有效,才会加载数据库.
    了解哪个控制文件副本受损或丢失,须看警报日志(alert_SID.ora),警报日志位置: 
    select value from v$parameter where name='background_dump_dest';  -- 10g及以前
    select value from v$diag_info where name ='Diag Trace';           -- 11g
    修复受损文件,用v$parameter查询中列出的继续存在的文件之一,覆盖受损文件.
0 0
原创粉丝点击