Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14710
  • 博文数量: 1
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 12
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-08 22:23
文章分类
文章存档

2016年(1)

我的朋友

分类: Oracle

2016-05-10 17:23:01

原文地址:ORACLE 11G 数据文件头格式 作者:TOMSYAN

11G版本
BBED> print kcvfh
struct kcvfh, 860 bytes                     @0      
   struct kcvfhbfh, 20 bytes                @0      
      ub1 type_kcbh                         @0        0x0b
      ub1 frmt_kcbh                         @1        0xa2
      ub1 spare1_kcbh                       @2        0x00
      ub1 spare2_kcbh                       @3        0x00
      ub4 rdba_kcbh                         @4        0x0dc00001  --这四个字节表示块地址即RDBA
      ub4 bas_kcbh                          @8        0x00000000  --这4个字节表示块的scn低4位
      ub2 wrp_kcbh                          @12       0x0000      --这4个字节表示块的scn高4位
      ub1 seq_kcbh                          @14       0x01
      ub1 flg_kcbh                          @15       0x04 (KCBHFCKV) 这个字节是块的flg 1 = virgin block 2 = last change to the block was for a cleanout operation
                                                              4 = checksum value is set 8  = temporary data
                                                       这是一个可以组合的值 也就是说有为 6 的时候是
      ub2 chkval_kcbh                       @16       0xd675     --块的校验值
      ub2 spare3_kcbh                       @18       0x0000
   struct kcvfhhdr, 76 bytes                @20     
      ub4 kccfhswv                          @20       0x00000000
      ub4 kccfhcvn                          @24       0x0b200000
      ub4 kccfhdbi                          @28       0xff6cdb51  --0028――0031 4个字节存储DBID
      text kccfhdbn[0]                      @32      D            --这个8个bytes存放的是数据库名的ascii码表示
      text kccfhdbn[1]                      @33      B
      text kccfhdbn[2]                      @34      S
      text kccfhdbn[3]                      @35      E
      text kccfhdbn[4]                      @36      R
      text kccfhdbn[5]                      @37      V
      text kccfhdbn[6]                      @38      E
      text kccfhdbn[7]                      @39      R
      ub4 kccfhcsq                          @40       0x002105b0  --这4个字节存放的是Control Seq
      ub4 kccfhfsz                          @44       0x0015b048  --这四个字节存放的是文件当前所包含的块数
      s_blkz kccfhbsz                       @48       0x00        --这四个字节存放的是文件的块大小
      ub2 kccfhfno                          @52       0x0037      --这两个字节存放的是文件号
      ub2 kccfhtyp                          @54       0x0003      --这两个字节存放的是文件的类型,03表示为数据文件,06表示为undo文件
      ub4 kccfhacid                         @56       0x00000000
      ub4 kccfhcks                          @60       0x00000000
      text kccfhtag[0]                      @64      
      text kccfhtag[1]                      @65      
      text kccfhtag[2]                      @66      
      text kccfhtag[3]                      @67      
      text kccfhtag[4]                      @68      
      text kccfhtag[5]                      @69      
      text kccfhtag[6]                      @70      
      text kccfhtag[7]                      @71      
      text kccfhtag[8]                      @72      
      text kccfhtag[9]                      @73      
      text kccfhtag[10]                     @74      
      text kccfhtag[11]                     @75      
      text kccfhtag[12]                     @76      
      text kccfhtag[13]                     @77      
      text kccfhtag[14]                     @78      
      text kccfhtag[15]                     @79      
      text kccfhtag[16]                     @80      
      text kccfhtag[17]                     @81      
      text kccfhtag[18]                     @82      
      text kccfhtag[19]                     @83      
      text kccfhtag[20]                     @84      
      text kccfhtag[21]                     @85      
      text kccfhtag[22]                     @86      
      text kccfhtag[23]                     @87      
      text kccfhtag[24]                     @88      
      text kccfhtag[25]                     @89      
      text kccfhtag[26]                     @90      
      text kccfhtag[27]                     @91      
      text kccfhtag[28]                     @92      
      text kccfhtag[29]                     @93      
      text kccfhtag[30]                     @94      
      text kccfhtag[31]                     @95      
   ub4 kcvfhrdb                             @96       0x00000000  --root dba 
   struct kcvfhcrs, 8 bytes                 @100    
      ub4 kscnbas                           @100      0x0d25a596  -- 这4个字节存放的是该文件所属表空间创建时的scn 的低四位  v$datafile.CREATION_CHANGE#
      ub2 kscnwrp                           @104      0x0000
   ub4 kcvfhcrt                             @108      0x2db6e34e
   ub4 kcvfhrlc                             @112      0x2d7c2354  --这四个字节存放的是reset logs count
   struct kcvfhrls, 8 bytes                 @116    
      ub4 kscnbas                           @116      0x000e6c20  --这4个字节存放的是reset logs scn,原来在数据文件头中也记录了上次的resetlog的scn
      ub2 kscnwrp                           @120      0x0000
   ub4 kcvfhbti                             @124      0x00000000
   struct kcvfhbsc, 8 bytes                 @128    
      ub4 kscnbas                           @128      0x00000000  --这4个字节存放的是Backup taken scn
      ub2 kscnwrp                           @132      0x0000
   ub2 kcvfhbth                             @136      0x0000
   ub2 kcvfhsta                             @138      0x0004 (KCVFHOFZ) --这个字节表示数据文件状态,04应该为正常,00是关闭,01是begin backup
   struct kcvfhckp, 36 bytes                @484    
      struct kcvcpscn, 8 bytes              @484    
         ub4 kscnbas                        @484      0x8940c638      --SCN of last change to the datafile. 低四位
         ub2 kscnwrp                        @488      0x0841          --高四位
      ub4 kcvcptim                          @492      0x2eac2488      --Time of the last change to the datafile
      ub2 kcvcpthr                          @496      0x0001          --这个字节表示应该是写resetlogs的thread号
      union u, 12 bytes                     @500    
         struct kcvcprba, 12 bytes          @500    
            ub4 kcrbaseq                    @500      0x000020f2     --这三个字节存放的RBA sequence号码
            ub4 kcrbabno                    @504      0x00000002     --block号
            ub2 kcrbabof                    @508      0x0010         --偏移量
      ub1 kcvcpetb[0]                       @512      0x02
      ub1 kcvcpetb[1]                       @513      0x00
      ub1 kcvcpetb[2]                       @514      0x00
      ub1 kcvcpetb[3]                       @515      0x00
      ub1 kcvcpetb[4]                       @516      0x00
      ub1 kcvcpetb[5]                       @517      0x00
      ub1 kcvcpetb[6]                       @518      0x00
      ub1 kcvcpetb[7]                       @519      0x00
   ub4 kcvfhcpc                             @140      0x00001191  --这四个字节表示数据文件发生checkpoint次数
   ub4 kcvfhrts                             @144      0x00000000
   ub4 kcvfhccc                             @148      0x00001190  --这两个字节表示数据文件ctl cnt Unknown, but is always 1 less than thecheckpoint point count.
   struct kcvfhbcp, 36 bytes                @152    
      struct kcvcpscn, 8 bytes              @152    
         ub4 kscnbas                        @152      0x00000000
         ub2 kscnwrp                        @156      0x0000
      ub4 kcvcptim                          @160      0x00000000
      ub2 kcvcpthr                          @164      0x0000
      union u, 12 bytes                     @168    
         struct kcvcprba, 12 bytes          @168    
            ub4 kcrbaseq                    @168      0x00000000
            ub4 kcrbabno                    @172      0x00000000
            ub2 kcrbabof                    @176      0x0000
      ub1 kcvcpetb[0]                       @180      0x00
      ub1 kcvcpetb[1]                       @181      0x00
      ub1 kcvcpetb[2]                       @182      0x00
      ub1 kcvcpetb[3]                       @183      0x00
      ub1 kcvcpetb[4]                       @184      0x00
      ub1 kcvcpetb[5]                       @185      0x00
      ub1 kcvcpetb[6]                       @186      0x00
      ub1 kcvcpetb[7]                       @187      0x00
   ub4 kcvfhbhz                             @312      0x00000000
   struct kcvfhxcd, 16 bytes                @316    
      ub4 space_kcvmxcd[0]                  @316      0x00000000
      ub4 space_kcvmxcd[1]                  @320      0x00000000
      ub4 space_kcvmxcd[2]                  @324      0x00000000
      ub4 space_kcvmxcd[3]                  @328      0x00000000
   sword kcvfhtsn                           @332      23        --这个字节存放的是该文件所属tablespace号
   ub2 kcvfhtln                             @336      0x0008
   text kcvfhtnm[0]                         @338     H  --这几个字节存放的是tablespace名的ascii表示。
   text kcvfhtnm[1]                         @339     I
   text kcvfhtnm[2]                         @340     S
   text kcvfhtnm[3]                         @341     _
   text kcvfhtnm[4]                         @342     D
   text kcvfhtnm[5]                         @343     A
   text kcvfhtnm[6]                         @344     T
   text kcvfhtnm[7]                         @345     A
   text kcvfhtnm[8]                         @346     
   text kcvfhtnm[9]                         @347     
   text kcvfhtnm[10]                        @348     
   text kcvfhtnm[11]                        @349     
   text kcvfhtnm[12]                        @350     
   text kcvfhtnm[13]                        @351     
   text kcvfhtnm[14]                        @352     
   text kcvfhtnm[15]                        @353     
   text kcvfhtnm[16]                        @354     
   text kcvfhtnm[17]                        @355     
   text kcvfhtnm[18]                        @356     
   text kcvfhtnm[19]                        @357     
   text kcvfhtnm[20]                        @358     
   text kcvfhtnm[21]                        @359     
   text kcvfhtnm[22]                        @360     
   text kcvfhtnm[23]                        @361     
   text kcvfhtnm[24]                        @362     
   text kcvfhtnm[25]                        @363     
   text kcvfhtnm[26]                        @364     
   text kcvfhtnm[27]                        @365     
   text kcvfhtnm[28]                        @366     
   text kcvfhtnm[29]                        @367     
   ub4 kcvfhrfn                             @368      0x00000037
   struct kcvfhrfs, 8 bytes                 @372    
      ub4 kscnbas                           @372      0x00000000
      ub2 kscnwrp                           @376      0x0000
   ub4 kcvfhrft                             @380      0x00000000
   struct kcvfhafs, 8 bytes                 @384    
      ub4 kscnbas                           @384      0x00000000
      ub2 kscnwrp                           @388      0x0000
   ub4 kcvfhbbc                             @392      0x00000000
   ub4 kcvfhncb                             @396      0x00000000
   ub4 kcvfhmcb                             @400      0x00000000
   ub4 kcvfhlcb                             @404      0x00000000
   ub4 kcvfhbcs                             @408      0x00000000
   ub2 kcvfhofb                             @412      0x0000
   ub2 kcvfhnfb                             @414      0x0000
   ub4 kcvfhprc                             @416      0x296b946b  --这四个字节存放的是prev reset logs count
   struct kcvfhprs, 8 bytes                 @420    
      ub4 kscnbas                           @420      0x00000001  --这4个字节存放的是prev reset logs scn
      ub2 kscnwrp                           @424      0x0000
   struct kcvfhprfs, 8 bytes                @428    
      ub4 kscnbas                           @428      0x00000000
      ub2 kscnwrp                           @432      0x0000
   ub4 kcvfhtrt                             @444      0x00000000
阅读(2213) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~

tomcoding2018-08-15 09:49:36

Oracle数据文件格式最全面分析,百度tomcoding