其实,蛮蛋疼的,体系结构要想深入的理解,还需要配合后续的备份与恢复的实验和原理。但不管啦,先稍微了解一下。
控制文件是个相当小的二进制文件,最多能增长到64m左右。
参数文件告诉实例控制文件的位置。而控制文件告诉实例:数据库名,数据文件的名称及其位置,在线重做日志文件的名称及其位置,以及系统和各个数据文件的SCN信息。 我们的Oracle内部的几个人,都比较喜欢往ctl上面写东东,比如:
server process会把数据库结构的变化更新到control file
LGWR会把当前日志序列号记录到control file
CKPT会把检查点信息记录到control file
ARCn会把归档日志信息记录到control file
有了以上的信息,因此,在mount阶段,SMON会去读控制文件,确认它上面的记录是否正确:
1)上次关机的SCN A
上次关机的checkpoint B
2)日志组最后一条的记录 C
RBA指针的位置 D
若正常关机,则 A=B C=D
若不正常关机,则 A>B D>C
这时,就需要派SMON去前滚,按重做日志的记录在内存中重做一遍,直到C=D。 以下是我的控制文件的部分摘录:
平台是:RHEL-5.8 ora10g
*** SERVICE NAME:() 2012-07-10 10:09:23.691
*** SESSION ID:(159.3) 2012-07-10 10:09:23.691
Thread 1 checkpoint: logseq 17, block 2, scn 676899
cache-low rba: logseq 17, block 40599
on-disk rba: logseq 17, block 40868, scn 697180
start recovery at logseq 17, block 40599, scn 0 我们对控制文件的一些常见操作,比如:
1)如何多路镜像控制文件?
正常关机,cp一份,修改pfile,生成spfile,重启数据库 2)查看控制文件的位置?
i SQL> show parameter control_files NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/ORCL/c
ontrolfile/o1_mf_7xzsjpnk_.ctl
, /u01/app/oracle/flash_recove
ry_area/ORCL/controlfile/o1_mf
_7xzsjq6j_.ctl
ii SQL> select name from v$controlfile; NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/controlfile/o1_mf_7xzsjpnk_.ctl
/u01/app/oracle/flash_recovery_area/ORCL/controlfile/o1_mf_7xzsjq6j_.ctl iii SQL> select value from v$parameter where name="control_files"; VALUE
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/controlfile/o1_mf_7xzsjpnk_.ctl, /u01/app/oracle/fl
ash_recovery_area/ORCL/controlfile/o1_mf_7xzsjq6j_.ctl
3)查看控制文件的内容?
alter database backup controlfile to trace;
然后到udump下去找DBA和老板签合同的参数:fast_start_mttr_targetOracle存储结构之数据文件和表空间相关资讯 Oracle存储结构
- Oracle物理存储结构简述 (05/27/2015 08:37:00)
- Oracle存储结构之参数文件 (07/09/2012 08:20:58)
| - Oracle存储结构之数据文件和表空间 (07/12/2012 10:25:03)
|
本文评论 查看全部评论 (0)