写上一篇日志的时候,在转储数据文件头看详细信息的时候遇到一些问题,下面简单的说一下这个过程。
上次说到open阶段,数据库在这个阶段会做两个校验,主要是:
1,checkpoint cnt
2,scn
在这两个都相同的情况下,就能open数据库了。
那么怎么来得到这两个数据的详细信息呢?简单的做个试验给大家看下:
一、先说下能顺利打开数据库的情况
SQL> startup mount --为了验证open阶段的过程,启动数据库到mount状态
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 83887696 bytes
Database Buffers 197132288 bytes
Redo Buffers 2973696 bytes
Database mounted.
转储控制文件:
SQL> alter session set events 'immediate trace name CONTROLF level 8';
Session altered.
选取datafile 1作为参考:
DATA FILE #1:
(name #4) /oracle/ora10/oradata/orcl/system01.dbf
creation size=38400 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
Checkpoint cnt:91 scn: 0x0000.0006e7aa 12/07/2011 18:12:34
Stop scn: 0x0000.0006e7aa 12/07/2011 18:12:34
Creation Checkpointed at scn: 0x0000.00000005 04/11/2011 21:45:10
thread:1 rba:(0x1.3.10)
这里记录了数据文件的checkpoint cnt和start scn以及stop scn
转储数据文件: ----注意换一个session,要不trace文件不会变的
SQL> alter session set events 'immediate trace name file_hdrs l