zoukankan      html  css  js  c++  java
  • data file header的一点点研究

    数据文件头就是datafile 的第1,第2个block,我们直接通过alter system dump datafile n block min 1 max 2;是得不到任何信息的,请看测试:

    SQL> alter system dump datafile 1 block min 1 block max 2;

    系统已更改。

    部分的DUMP文件内容

    Start dump data blocks tsn: 0 file#: 1 minblk 1 maxblk 2
    Block 1 (file header) not dumped: use dump file header command    ----这里已经说明了,file header 没有dump出来
    buffer tsn: 0 rdba: 0x00400002 (1/2)
    scn: 0x0000.001d3fde seq: 0x01 flg: 0x04 tail: 0x3fde1d01
    frmt: 0x02 chkval: 0x8ebb type: 0x1d=KTFB Bitmapped File Space Header
    Hex dump of block: st=0, typ_found=1
    Dump of memory from 0x09667800 to 0x09669800
    9667800 0000A21D 00400002 001D3FDE 04010000  [......@..?......]
    9667810 00008EBB 00000001 00000008 0000F500  [................]
    9667820 00000009 00000500 003FFFFE 00000007  [..........?.....]
    9667830 0000F500 00001DB8 00000087 001D3FDC  [.............?..]
    9667840 00000000 00000000 00000000 00000000  [................]
    9667850 0000EDC9 00000008 00000000 00000000  [................]
    9667860 00000000 00000000 00000000 00000000  [................]
            Repeat 504 times
    96697F0 00000000 00000000 00000000 3FDE1D01  [...............?]
    File Space Header Block:
    Header Control:
    RelFno: 1, Unit: 8, Size: 62720, Flag: 9
    AutoExtend: YES, Increment: 1280, MaxSize: 4194302
    Initial Area: 7, Tail: 62720, First: 7608, Free: 135
    Deallocation scn: 1916892.0
    Header Opcode:
    Save: No Pending Op
    End dump data blocks tsn: 0 file#: 1 minblk 2 maxblk 2
    上面的dump文件没有任何有价值的信息,查看DSI文档403 File Dump Analysis 一节可以知道,如果要得到 file header的dump文件,必须通过ORADEBUGE或者以下命令

    alter system set events 'immediate trace name file_hdrs level 1'; -----控制文件中关于datafile 的记录条目

    alter system set events 'immediate trace name file_hdrs level 2'; -----包含level1 以及generic header

    alter system set events 'immediate trace name file_hdrs level 3;  ---包含level2以及header information in the datafile

    现在以 datafile 1为研究对象

    SQL> alter system set events 'immediate trace name file_hdrs level 3';

    System altered

    datafile 1的 dump文件,注意虚线(-----)的部分是我的注释

    DATA FILE #1: 

    ----这一片内容存在于控制文件中,我们通过level 1的转储就只能得到该信息
      (name #10) C:/ORACLE/PRODUCT/10.2.0/ORADATA/ROBINSON/DATAFILE/O1_MF_SYSTEM_5H28M6WT_.DBF
    creation size=0 block size=8192 status=0xe head=10 tail=10 dup=1
     tablespace 0, index=1 krfil=1 prev_file=0   ---prev_file表示相同表空间的前一个数据文件号
     unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
     Checkpoint cnt:421 scn: 0x0000.001d46c8 12/25/2009 10:06:40   ---这条信息也会记录在datafile header中
     Stop scn: 0xffff.ffffffff 12/24/2009 18:01:27  ----如果是0xffff.ffffffff表示该文件正被打开,如果文件未打开表示最后关闭的SCN
     Creation Checkpointed at scn:  0x0000.0000000b 04/17/2007 03:34:41
     thread:0 rba:(0x0.0.0)
     enabled  threads:  00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000
     Offline scn: 0x0000.0007f64a prev_range: 0
     Online Checkpointed at scn:  0x0000.0007f64b 11/04/2009 11:42:25 

     --表示此数据文件online还是offline的,用于快速跳过archive log恢复

     thread:1 rba:(0x1.2.0)    ---不明白
     enabled  threads:  01000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000
     Hot Backup end marker scn: 0x0000.00000000
     aux_file is NOT DEFINED
     V10 STYLE FILE HEADER:                                                 ---------这一片是generic file header,level必须>=2才有此信息
     Compatibility Vsn = 169870080=0xa200300                  ---------control,redo,data,temp文件都有相同的generic file header
     Db ID=162442526=0x9aead1e, Db Name='ROBINSON'  ---这些内容存在于datafile 第一个block.     

     Activation ID=0=0x0   -----这个不知道,知道的哥们告诉俺一声,给俺留个言吧
     Control Seq=5455=0x154f, File size=62720=0xf500

    ---control seq表示控制文件序列号,更新控制文件的时候也会更新seq,如果控制文件中的control seq小于数据文件中的control sel,表示控制文件来自于备份。File size 不是表示整个文件的大小,而是表示当前保存在cache layer中的大小
     File Number=1, Blksiz=8192, File Type=3 DATA  ---TYPE=3表示普通的数据文件(包括undo,没有temp,temp的type=6)     

    -------file number是记录在file$表中的,如果数据文件被删除,那么file number可以重用  
    Tablespace #0 - SYSTEM  rel_fn:1 ----这一片信息是从datafile header block 2中得到的,转储level必须为3才能得到此信息

    ---tablespace#0表示表空间序号可以查询v$tablespace.ts#验证,rel_fn:1表示relative file number可以通过v$dba_data_files.relativ_fno查到
    Creation   at   scn: 0x0000.0000000b 04/17/2007 03:34:41

    ---这里表示这个数据文件建立的时间,因为我是通过DBCA创建数据库的,DBCA是根据模板克隆的,所以这里的建立时间为2007年,

    事实上我创建这个数据库是在今年(2009年)
    Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0

    ---RMAN是不会更新这个记录的,只有在SQL>中运行begin backup才会更新该信息
     reset logs count:0x29d85021 scn: 0x0000.0007f64b reset logs terminal rcv data:0x0 scn: 0x0000.00000000
     prev reset logs count:0x24f60fb2 scn: 0x0000.00000001 prev reset logs terminal rcv data:0x0 scn: 0x0000.00000000
     recovered at 12/24/2009 09:59:59
     status:0x2004 root dba:0x00400179 chkpt cnt: 421 ctl cnt:420

    ---只有system文件才有root dba,用来定位bootstrap$,ctl cnt 是控制文件的一份拷贝,用于鉴别控制文件是否来自于备份
    begin-hot-backup file size: 0
    ---当backup scn被更新,它才就更新
    Checkpointed at scn:  0x0000.001d46c8 12/25/2009 10:06:40
    ---每个检查点都会更新此信息,除了在热备份的时候
     thread:1 rba:(0x4d.5be4.10)
     enabled  threads:  01000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000
    Backup Checkpointed at scn:  0x0000.00000000
     thread:0 rba:(0x0.0.0)
     enabled  threads:  00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000000 00000000 00000000
    External cache id: 0x0 0x0 0x0 0x0         ----这个也不是很明白,懂的哥们告诉俺一声
    Absolute fuzzy scn: 0x0000.00000000  
    ---表示该文件是热备份
    Recovery fuzzy scn: 0x0000.00000000 11/04/2009 14:40:11
    Terminal Recovery Stamp  01/01/1988 00:00:00
    Platform Information:  Creation Platform ID: 7    ----这个也不知道,平台信息在哪里能查到?知道的哥们告诉我偶一声
    Current Platform ID: 7 Last Platform ID: 7           ---不知道.....

    还有一些东西不明白,还得继续研究才行..........

  • 相关阅读:
    oracle函数 MAX([distinct|all]x)
    oracle函数 MAX([distinct|all]x)
    oralce函数 count(*|[distinct|all]x)
    oracle函数 VARIANCE([distinct|all]x)
    oralce函数 STDDEV([distinct|all]x)
    oracle函数 SUM([distinct|all]x)
    oralcle函数 AVG([distinct|all]x)
    oracle函数 lag()和lead()
    oracle函数 ROW_NUMBER()
    Linux性能测试 netstat命令
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330629.html
Copyright © 2011-2022 走看看