Oracle-控制文件详解

控制文件至少包含以上的信息:
1.数据库名称DBID
2.数据库建立的时间
3.数据文件,在线日志文件,归档文件的信息
4.表空间信息
5.RMAN的备份信息
控制文件的作用:
它包含数据文件,在线日志文件,归档文件的信息,这些信息用于数据库OPEN时的文件验证
        当数据库的架构改变时,比如增减,删除文件时,会更新控制文件
包含了数据库恢复时候需要的一些信息,用于数据库的恢复
 
控制文件的结构:
空间允许重用区
– 这个区域的信息是可以被从用(覆盖的),当空间不足或者规则满足时,允许覆盖以前的信息
,比如归档日志和 Rman备份集的信息。
空间不允许重用区
– 这个区域的信息是不允许重用(覆盖)的,因为他们是数据库必须的信息,比如表空间,数据文件,在线日志文件等等。


控制文件丢失了怎么办?
备份控制文件
        从RMAN的备份集中恢复控制文件
重建控制文件
        1.停止数据库,将控制文件复制到其它地方备份
        cp /u01/app/oracle/oradata/orcl/control01.ctl  /tmp/control01.ctl
        2.生成创建控制文件的脚本文件
        SQL> alter database backup controlfile to trace;
        查看生成文件的位置
        SQL>select d.value||b.bias||lower(rtrim(i.instance, chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name from ( select p.spid from sys.v$mystat m,sys.v$session s,sys.v$process p where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p, ( select t.instance from sys.v$thread t,sys.v$parameter v where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i, ( select value from sys.v$parameter where name = 'user_dump_dest') d,(select DECODE(count(BANNER),0,'/','\') bias from v$version where upper(banner) like '%WINDOWS%') b;
        TRACE_FILE_NAME
        ------------------------------------------------------------------------------------------------------------------------
        /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4445.trc


查看控制文件的大小:
sys@ORCL> SELECT NAME,block_size*file_size_blks bytes FROM v$controlfile;


NAME                                                                  BYTES
------------------------------------------------------------ ----------
/u01/app/oracle/oradata/orcl/control01.ctl                        9994240
/u01/app/oracle/fast_recovery_area/orcl/control02.ctl                9994240
分割线
打赏
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS