控制文件至少包含以上的信息:
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
2020-05-03
Oracle-控制文件详解
评论
发表评论
姓 名: