来自网络
控制文件是一个二进制文件,无法直接打开查阅,但可以通过DUMP转储查看。
Sql>alter system set events 'immediate trace name controlf level 10';
控制文件上面记录了数据库中重要的状态信息,包括
数据文件的名称、位置等信息;所有表空间信息;日志序列号;最近检查点信息。
如果物理信息与控制文件不一致会造成数据库不能正常工作。
鉴于它的重要性,通常会多路复用或备份控制文件。
1. /*--操作系统及数据库版本信息*/
Dump file c:\oracle\admin\oradb\udump\oradb_ora_3580.trc
Wed Sep 27 13:32:18 2006
ORACLE V9.2.0.7.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.1 Service Pack 2, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
Windows 2000 Version 5.1 Service Pack 2, CPU type 586
Instance name: oradb
Redo thread mounted by this instance: 1
Oracle process number: 12
Windows thread id: 3580, image: ORACLE.EXE
2. /*---控制文件头信息*/
*** 2006-09-27 13:32:18.736
*** SESSION ID:(11.6) 2006-09-27 13:32:18.636
DUMP OF CONTROL FILES, Seq # 4977 = 0x1371(控制文件序号)
FILE HEADER:
Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000
软件版本与兼容版本(与8i格式兼容)
Db ID=2350586097=0x8c1b18f1, Db Name='ORADB'(数据库ID,数据库名)
Activation ID=0=0x0
Control Seq=4977=0x1371(控制文件序号), File size=202=0xca
(当前控制文件大小,单位block)
File Number=0(文件号), Blksiz=8192(控制文件块大小), File Type=1 CONTROL
(文件类型)
3. /*数据库项信息*/
***********************************************************************
DATABASE ENTRY
***********************************************************************
(blkno = 0x1, size = 192, max = 1, in-use = 1, last-recid= 0)
/*数据库项信息所在的block号及大小,max只最大块,in-use表示当前使用块*/
DF Version: creation=0x9200000 compatible=0x8000000, Date 08/01/2006 10:35:29
/*数据文件版本及兼容性*/
DB Name "ORADB"—数据库名
Database flags = 0x10404001—含义
Controlfile Creation Timestamp 08/01/2006 10:35:30—控制文件创建时间
Incmplt recovery scn: 0x0000.00000000—不完全恢复的scn(如果进行过不完全恢复)
Resetlogs scn: 0x0000.00077f93 Resetlogs Timestamp 08/25/2006 16:35:04
(启用resetlogs时的scn和时间)
Prior resetlogs scn: 0x0000.00000001 Prior resetlogs Timestamp 08/01/2006 10:35:29(启用resetlogs前的scn和时间,oracle不能应用resetlog之前的redo)
Redo Version: creation=0x9200000 compatable=0x9200000(redo文件的版本和兼容性)
#Data files = 5, #Online files = 5(数据文件数和联机文件个数)
Database checkpoint: Thread=1 scn: 0x0000.000f1783(完全检查点scn)
Threads: #Enabled=1, #Open=1, Head=1, Tail=1(当前启用和打开的线程)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
Max log members = 3, Max data members = 1(每个日志组最大允许日志个数,Oracle目前还不支持数据文件的多路复用,因此,Max data members的值为1,这个条目是为以后的版本升级而预留的.)
Arch list: Head=3, Tail=3, Force scn: 0x0000.000e6f09scn: 0x0000.000f1782
归档列表,请注意Force scn,凡是开始scn小于Force scn的重做都被归档.强制scn是所有重做都被归档的scn.
Controlfile Checkpointed at scn: 0x0000.000f1786 09/27/2006 09:20:04
thread:0 rba:(0x0.0.0)
enabled threads: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
4. /*检查点进度记录*/
***********************************************************************
CHECKPOINT PROGRESS RECORDS
***********************************************************************
(blkno = 0x4, size = 104, max = 1, in-use = 1, last-recid= 0)
THREAD #1 - status:0x2 flags:0x0 dirty:21
low cache rba:(0x3c.c72.0) on disk rba:(0x3c.dfb.0)
--low cache rba指出在实例回复或崩溃中,需要恢复的重做日志块地址.
--On disk rba磁盘上最高的RBA,在进行实例恢复应用重做的时候必须达到这个值.
on disk scn: 0x0000.000f3e6b 09/27/2006 13:32:03
--on disk rba处的scn值
resetlogs scn: 0x0000.00077f93 08/25/2006 16:35:04
--启用Resetlogs时的scn值和时戳,和数据库项中相同
heartbeat: 602269887 mount id: 2355509688—心跳
MTTR statistics status: 3
Init time: Avg: 12751801, Times measured: 3
File open time: Avg: 97413, Times measured: 22
Log block read time: Avg: 404, Times measured: 31384
Data block handling time: Avg: 1340, Times measured: 1390
/*检查点进度记录,从oracle8开始,引入了增量检查点的概念,数据库中引入checkpint queue机制,每一个脏数据块都会被移动到检查点队列,按照Low RBA的顺序来排列,执行检查点是按照Low RBA的顺序写出.CKPT进程使用轻量级的控制文件更新协议,每3s将当前最低的RBA写入控制文件,而不像完全检查点更新控制文件和所有数据文件头*/
这里Low RBA的含义是指:checkpoint Queue将安装第一次对数据块的修改对应得
RBA(Redo byte Address)来排列
5. /*扩展的数据库项,从Oracle9i开始引入*/
***********************************************************************
EXTENDED DATABASE ENTRY
***********************************************************************
(blkno = 0x64, size = 276, max = 1, in-use = 1, last-recid= 0)
Control AutoBackup date(dd/mm/yyyy)=14/ 9/2006
Next AutoBackup sequence= 1
6. /*重做线程信息*/
***********************************************************************
REDO THREAD RECORDS
***********************************************************************
(blkno = 0x4, size = 104, max = 1, in-use = 1, last-recid= 0)
THREAD #1 - status:0xf thread links forward:0 back:0
#logs:3 first:1 last:3 current:3 last used seq#:0x3c—日志组数目,当前正在使用第3组
enabled at scn: 0x0000.00077f93 08/25/2006 16:35:04--启用线程1时的scn值
disabled at scn: 0x0000.00000000 01/01/1988 00:00:00-启用线程1时的scn值
opened at 09/27/2006 09:20:03 by instance oradb—打开线程的时间
Checkpointed at scn: 0x0000.000f1783 09/27/2006 09:20:03—检查点scn
thread:1 rba:(0x3c.2.10)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
log history: 59
7. /*日志文件项信息*/
***********************************************************************
LOG FILE RECORDS
***********************************************************************
(blkno = 0x5, size = 72, max = 5, in-use = 3, last-recid= 6)
LOG FILE #1:
(name #1) C:\ORACLE\ORADATA\ORADB\REDO01.LOG
Thread 1 redo log links: forward: 2 backward: 0
/*LOG FILE #1写满后,会切换到forward: 2,即切换到LOG FILE #2,即LOG FILE#1的Next Scn等于LOGFILE#2的Low scn*/
siz: 0x32000 seq: 0x0000003a hws: 0x6 bsz: 512 nab: 0x2ff flg: 0x1 dup: 1—文件大小及块大小bsz
Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.000e1fe1
Low scn: 0x0000.000e6f09 09/26/2006 18:22:20(日志文件包含的最低scn)
Next scn: 0x0000.000ec515 09/27/2006 08:48:40(日志文件包含的最高scn)
LOG FILE #2:
(name #2) C:\ORACLE\ORADATA\ORADB\REDO02.LOG
Thread 1 redo log links: forward: 3 backward: 1
siz: 0x32000 seq: 0x0000003b hws: 0x5 bsz: 512 nab: 0x1f1 flg: 0x1 dup: 1
Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.000e6f09
Low scn: 0x0000.000ec515 09/27/2006 08:48:40
Next scn: 0x0000.000f1782 09/27/2006 09:20:03
LOG FILE #3:
(name #3) C:\ORACLE\ORADATA\ORADB\REDO03.LOG
Thread 1 redo log links: forward: 0 backward: 2
siz: 0x32000 seq: 0x0000003c hws: 0x2 bsz: 512 nab: 0xffffffff flg: 0x8 dup: 1
Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.000ec515
Low scn: 0x0000.000f1782 09/27/2006 09:20:03
Next scn: 0xffff.ffffffff 01/01/1988 00:00:00—当前正在写入的log文件next scn为无穷大
8. /*数据文件信息*/
***********************************************************************
DATA FILE RECORDS
***********************************************************************
(blkno = 0x6, size = 180, max = 100, in-use = 9, last-recid= 2537)
DATA FILE #1:
(name #4) C:\ORACLE\ORADATA\ORADB\SYSTEM01.DBF
creation size=32000 block size=8192 status=0xe head=4 tail=4 dup=1
tablespace 0, index=1 krfil=1 prev_file=0 -表空间信息
unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00—记录nologging操作的scn
Checkpoint cnt:173 scn: 0x0000.000f1783 09/27/2006 09:20:03 -检查点计数器及scn,在热备份状态下scn被锁定.
Stop scn: 0xffff.ffffffff 09/27/2006 09:18:19—文件结束scn,open状态为无穷大
Creation Checkpointed at scn: 0x0000.00000007 08/01/2006 10:35:59
--当使用"alter database create datafile"命令恢复数据文件时,需要依据文件创建时的检查点scn(Creation Checkpointed at scn).
thread:1 rba:(0x1.3.10)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
Offline scn: 0x0000.00077f92 prev_range: 0
Online Checkpointed at scn: 0x0000.00077f93 08/25/2006 16:35:04
thread:1 rba:(0x1.2.0)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
Hot Backup end marker scn: 0x0000.00000000
aux_file is NOT DEFINED
DATA FILE #2:
(name #5) C:\ORACLE\ORADATA\ORADB\UNDOTBS01.DBF
creation size=25600 block size=8192 status=0xe head=5 tail=5 dup=1
tablespace 1, index=2 krfil=2 prev_file=0
……
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24355950/viewspace-670129/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24355950/viewspace-670129/