1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
|
BBED> p kcvfh struct kcvfh, 860 bytes @0 struct kcvfhbfh, 20 bytes @0 --数据块头 --前20个字节对应如图一所示 ub1 type_kcbh @0 0x0b --Header Block Type,如图二 --此处转换为10进制是11,正是file header ub1 frmt_kcbh @1 0xa2 --块格式,1为Oracle 7,2为Oracle 8后 ub1 spare1_kcbh @2 0x00 ub1 spare2_kcbh @3 0x00 ub4 rdba_kcbh @4 0x00400001 --RDBA,相对块地址 ub4 bas_kcbh @8 0x00000000 --SCN base ub2 wrp_kcbh @12 0x0000 --SCN Wrap ub1 seq_kcbh @14 0x01 --序列号,同一个SCN不同的序列号,标记块版本 ub1 flg_kcbh @15 0x04 (KCBHFCKV) --标记号 --0x01新块 --0x02 Delayed Logging Chang advanced SCN/seq --0x04 Check value saved ub2 chkval_kcbh @16 0x1375 --块校验值 ub2 spare3_kcbh @18 0x0000 struct kcvfhhdr, 76 bytes @20 --文件头通用数据类型 ub4 kccfhswv @20 0x00000000 ub4 kccfhcvn @24 0x0b200400 ub4 kccfhdbi @28 0xc9cffd9d --dbid text kccfhdbn[0] @32 L --接下来8个字符为Oracle SID,只能<=8个字符 text kccfhdbn[1] @33 I text kccfhdbn[2] @34 N text kccfhdbn[3] @35 O text kccfhdbn[4] @36 R text kccfhdbn[5] @37 A text kccfhdbn[6] @38 text kccfhdbn[7] @39 ub4 kccfhcsq @40 0x00002353 --Controlfile sequence number ub4 kccfhfsz @44 0x00016800 --所在数据文件块数=dba_data_files.blocks s_blkz kccfhbsz @48 0x00 ub2 kccfhfno @52 0x0001 --文件号file_id 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 0x00400208 --仅1号文件有值,代表root dba,本例中转换为10进制为4194824, --通过dbms_utility可以查看到正是1号文件520 Block。 --在11g中,dba 1,520 代表的是bootstrap$,10g是dba 1,377,10g以前是dba 1,417 --查询语句: --col SEGMENT_NAME for a15 --select segment_name,segment_type,header_file,header_block from dba_segments where header_block=520; struct kcvfhcrs, 8 bytes @100 --数据文件创建scn ub4 kscnbas @100 0x0000000e ub2 kscnwrp @104 0x0000 ub4 kcvfhcrt @108 0x3201eb02 --数据文件创建时间 ub4 kcvfhrlc @112 0x32a6fb05 --resetlog时间 struct kcvfhrls, 8 bytes @116 --resetlog scn ub4 kscnbas @116 0x00170c23 ub2 kscnwrp @120 0x0000 ub4 kcvfhbti @124 0x00000000 --begin hot backup time struct kcvfhbsc, 8 bytes @128 --last backup stared scn ub4 kscnbas @128 0x00000000 ub2 kscnwrp @132 0x0000 ub2 kcvfhbth @136 0x0000 --begin hot backup redo thread ub2 kcvfhsta @138 0x2004 (KCVFHOFZ) --数据文件状态,04为正常,00为关闭,01为begin backup struct kcvfhckp, 36 bytes @484 --检查点信息 struct kcvcpscn, 8 bytes @484 --检查点scn ub4 kscnbas @484 0x003443f4 ub2 kscnwrp @488 0x0000 ub4 kcvcptim @492 0x331aa11c --检查点时间 ub2 kcvcpthr @496 0x0001 --检查点线程号 union u, 12 bytes @500 struct kcvcprba, 12 bytes @500 --Checkpoint scn redo rda(参照前文[重做日志]关于rba的描述) ub4 kcrbaseq @500 0x000000ae --log序列号 ub4 kcrbabno @504 0x00000002 --块号 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 0x00000253 --v$datafile_header.CHECKPOINT_COUNT,数据文件发生Checkpoint的次数 ub4 kcvfhrts @144 0x331aa119 --recoved time ub4 kcvfhccc @148 0x00000252 --控制文件检查点次数 struct kcvfhbcp, 36 bytes @152 --backup Checkpoint struct kcvcpscn, 8 bytes @152 --begin backup checkpoint scn ub4 kscnbas @152 0x00000000 ub2 kscnwrp @156 0x0000 ub4 kcvcptim @160 0x00000000 --begin backup checkpoint time ub2 kcvcpthr @164 0x0000 --begin backup checkpoint thread union u, 12 bytes @168 struct kcvcprba, 12 bytes @168 --begin backup checkpoint rba 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 大专栏 BBED Structure 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 0 --表空间号:v$tablespace.ts$ ub2 kcvfhtln @336 0x0006 --表空间名字,最大为30字节 text kcvfhtnm[0] @338 S text kcvfhtnm[1] @339 Y text kcvfhtnm[2] @340 S text kcvfhtnm[3] @341 T text kcvfhtnm[4] @342 E text kcvfhtnm[5] @343 M text kcvfhtnm[6] @344 text kcvfhtnm[7] @345 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 0x00000001 --相对文件号 struct kcvfhrfs, 8 bytes @372 --Recovery fuzzy scn ub4 kscnbas @372 0x00000000 ub2 kscnwrp @376 0x0000 ub4 kcvfhrft @380 0x00000000 --Recovery fuzzy time struct kcvfhafs, 8 bytes @384 --Absolute fuzzy scn ub4 kscnbas @384 0x00000000 ub2 kscnwrp @388 0x0000 ub4 kcvfhbbc @392 0x00000000 --Backup Block Count ub4 kcvfhncb @396 0x00000000 --marked media Corrupt Blocks ub4 kcvfhmcb @400 0x00000000 --Media Corrupt Blocks ub4 kcvfhlcb @404 0x00000000 --Logically Corrupt Blocks ub4 kcvfhbcs @408 0x00000000 --Backup Completion timeStamp ub2 kcvfhofb @412 0x000a ub2 kcvfhnfb @414 0x000a ub4 kcvfhprc @416 0x323c286e --prev reset logs time struct kcvfhprs, 8 bytes @420 --prev reset logs scn ub4 kscnbas @420 0x001084e6 ub2 kscnwrp @424 0x0000 struct kcvfhprfs, 8 bytes @428 ub4 kscnbas @428 0x00000000 ub2 kscnwrp @432 0x0000 ub4 kcvfhtrt @444 0x00000000 --Terminal Recovery Stamp
|