1. 转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/31018075
  2.  
  3. @@@@@@@利用BBED模拟损坏5文件1号块(文件头)
  4.  
  5. BBED> copy file 4 block 4 to file 5 block 1
  6. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  7. Block: 1 Offsets: 0 to 19 Dba:0x01400001
  8. ------------------------------------------------------------------------
  9. 1ea20000 04000001 1a4b0000 00000104 99810000
  10.  
  11. <32 bytes per line>
  12.  
  13. sys@PROD> shutdown abort;
  14. ORACLE instance shut down.
  15. sys@PROD> starup
  16. SP2-0042: unknown command "starup" - rest of line ignored.
  17. sys@PROD> startup
  18. ORACLE instance started.
  19. Total System Global Area 939495424 bytes
  20. Fixed Size 2233960 bytes
  21. Variable Size 251660696 bytes
  22. Database Buffers 679477248 bytes
  23. Redo Buffers 6123520 bytes
  24. Database mounted.
  25. ORA-01122: database file 5 failed verification check
  26. ORA-01110: data file 5: '/u01/app/oracle/oradata/PROD/tp01.dbf'
  27. ORA-01210: data file header is media corrupt
  28.  
  29. BBED开始恢复
  30.  
  31. 1、找个文件头覆盖
  32.  
  33. BBED> copy file 4 block 1 to file 5 block 1
  34. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  35. Block: 1 Offsets: 0 to 19 Dba:0x01400001
  36. ------------------------------------------------------------------------
  37. 0ba20000 01000001 00000000 00000104 edbc0000
  38.  
  39. <32 bytes per line>
  40.  
  41. 2、进入5文件1号块
  42. BBED> set file 5 block 1
  43. FILE# 5
  44. BLOCK# 1
  45.  
  46. 1)改块的地址5文件1号块,rdba_kcbh
  47.  
  48. BBED> p kcvfhbfh
  49. struct kcvfhbfh, 20 bytes @0
  50. ub1 type_kcbh @0 0x0b
  51. ub1 frmt_kcbh @1 0xa2
  52. ub1 spare1_kcbh @2 0x00
  53. ub1 spare2_kcbh @3 0x00
  54. ub4 rdba_kcbh @4 0x01000001
  55. ub4 bas_kcbh @8 0x00000000
  56. ub2 wrp_kcbh @12 0x0000
  57. ub1 seq_kcbh @14 0x01
  58. ub1 flg_kcbh @15 0x04 (KCBHFCKV)
  59. ub2 chkval_kcbh @16 0xbced
  60. ub2 spare3_kcbh @18 0x0000
  61.  
  62. 0x01000001===》0000 0001 0000==》100==》4号文件1号块
  63. 修改成51 ===》0x01400001
  64. BBED> d /v offset 4
  65. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  66. Block: 1 Offsets: 4 to 23 Dba:0x01400001
  67. -------------------------------------------------------
  68. 01000001 00000000 00000104 edbc0000 l ............í?..
  69. 00000000
  70. BBED> m /x 01004001 offset 4
  71. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  72. Block: 1 Offsets: 4 to 23 Dba:0x01400001
  73. ------------------------------------------------------------------------
  74. 01004001 00000000 00000104 edbc0000 00000000
  75.  
  76. (2)文件的大小kccfhfsz
  77.  
  78. BBED> p kcvfhhdr
  79. struct kcvfhhdr, 76 bytes @20
  80. ub4 kccfhswv @20 0x00000000
  81. ub4 kccfhcvn @24 0x0b200000
  82. ub4 kccfhdbi @28 0x0f302c3e
  83. text kccfhdbn[] @32 P
  84. text kccfhdbn[] @33 R
  85. text kccfhdbn[] @34 O
  86. text kccfhdbn[] @35 D
  87. text kccfhdbn[] @36
  88. text kccfhdbn[] @37
  89. text kccfhdbn[] @38
  90. text kccfhdbn[] @39
  91. ub4 kccfhcsq @40 0x00000d3d
  92. ub4 kccfhfsz @44 0x00003200
  93. s_blkz kccfhbsz @48 0x00
  94. ub2 kccfhfno @52 0x0004
  95. ub2 kccfhtyp @54 0x0003
  96. ub4 kccfhacid @56 0x00000000
  97. ub4 kccfhcks @60 0x00000000
  98. text kccfhtag[] @64
  99. ....................
  100. sys@PROD> select name from v$dbfile where file#=5;
  101.  
  102. NAME
  103. --------------------------------------------------
  104. /u01/app/oracle/oradata/PROD/tp01.dbf
  105.  
  106. [oracle@jfdb PROD]$ ls -lFtr |grep tp01
  107. -rw-r-----. 1 oracle oinstall 524296192 Jun 8 18:58 tp01.dbf
  108.  
  109. sys@PROD> select 524296192/8192 from dual;
  110.  
  111. 524296192/8192
  112. --------------
  113. 64001
  114.  
  115. 注:0号块他是操作系头不为ORACLE所控制
  116. 64001-1=64000个块(10进制)
  117.  
  118. 6400010)==fa00(16)=====>bbed存储:00fa0000
  119.  
  120. BBED> d /v offset 44
  121. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  122. Block: 1 Offsets: 44 to 63 Dba:0x01400001
  123. -------------------------------------------------------
  124. 00320000 00200000 04000300 00000000 l .2... ..........
  125. 00000000
  126. BBED> m /x 00fa0000 44
  127. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  128. Block: 1 Offsets: 44 to 63 Dba:0x01400001
  129. ------------------------------------------------------------------------
  130. 00fa0000 00200000 04000300 00000000 00000000
  131.  
  132. (3)修改文件号(4--->5
  133.  
  134. ub2 kccfhfno                          @52       0x0004
  135.  
  136. BBED> d /v offset 52
  137. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  138. Block: 1 Offsets: 52 to 71 Dba:0x01400001
  139. -------------------------------------------------------
  140. 04000300 00000000 00000000 00000000 l ................
  141. 00000000
  142.  
  143. BBED> m /x 05 offset 52
  144. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  145. Block: 1 Offsets: 52 to 71 Dba:0x01400001
  146. ------------------------------------------------------------------------
  147. 05000300 00000000 00000000 00000000 00000000
  148.  
  149. (4)修改文件创建时SCN
  150.  
  151. BBED> p kcvfhcrs
  152. struct kcvfhcrs, 8 bytes @100
  153. ub4 kscnbas @100 0x00004b14
  154. ub2 kscnwrp @104 0x0000
  155.  
  156. sys@PROD> select file#,CREATION_CHANGE# from v$datafile where file#=5;
  157.  
  158. FILE# CREATION_CHANGE#
  159. ---------- ----------------
  160. 5 363921
  161.  
  162. sys@PROD> select to_char('','xxxxxxxxxxxxx') from dual;
  163.  
  164. TO_CHAR('36392
  165. --------------
  166. 58d91 ===(倒:918d0500)==》00058d91
  167.  
  168. BBED> d /v offset 100
  169. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  170. Block: 1 Offsets: 100 to 119 Dba:0x01400001
  171. -------------------------------------------------------
  172. 144b0000 00000000 30cf3e32 a41da532 l .K......0?>2¤.¥2
  173. ec4f1900
  174.  
  175. BBED> m /x 918d offset 100
  176. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  177. Block: 1 Offsets: 100 to 119 Dba:0x01400001
  178. ------------------------------------------------------------------------
  179. 918d0000 00000000 30cf3e32 a41da532 ec4f1900
  180.  
  181. BBED> m /x 0500 offset 102
  182. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  183. Block: 1 Offsets: 102 to 121 Dba:0x01400001
  184. ------------------------------------------------------------------------
  185. 05000000 000030cf 3e32a41d a532ec4f 19000000
  186.  
  187. BBED> d /v offset 100
  188. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  189. Block: 1 Offsets: 100 to 119 Dba:0x01400001
  190. -------------------------------------------------------
  191. 918d0500 00000000 30cf3e32 a41da532 l ........0?>2¤.¥2
  192. ec4f1900
  193.  
  194. (5)修改文件创建时间
  195. ub4 kcvfhcrt @108 0x323ecf30
  196. BBED> p kcvfhcrt
  197. ub4 kcvfhcrt @108 0x323ecf30
  198.  
  199. sys@PROD> select file#,to_char(CREATION_TIME,'yyyy-mm-dd hh24:mi:ss') createTime,
  200. 2 (to_char(CREATION_TIME,'yyyy')-1988)*12*31*24*3600+
  201. 3 (to_char(CREATION_TIME,'mm')-1)*31*24*3600+
  202. 4 (to_char(CREATION_TIME,'dd')-1)*24*3600+
  203. 5 to_char(CREATION_TIME,'hh24')*3600+
  204. 6 to_char(CREATION_TIME,'mi')*60+
  205. 7 to_char(CREATION_TIME,'ss') createTimeSCN
  206. 8 from v$datafile WHERE file# in(4,5);
  207.  
  208. FILE# CREATETIME CREATETIMESCN
  209. ---------- ------------------- -------------
  210. 4 2014-03-23 16:17:52 842977072
  211. 5 2014-03-29 10:32:22 843474742
  212.  
  213. sys@PROD> select '4' file#, to_char('842977072','xxxxxxxxxxxxxx') from dual;
  214.  
  215. F TO_CHAR('842977
  216. - ---------------
  217. 4 323ecf30 ===>倒:30cf3e32
  218.  
  219. sys@PROD> select '' file#,to_char('','xxxxxxxxxxxxxx') from dual;
  220.  
  221. sys@PROD> select '' file#,to_char('','xxxxxxxxxxxxxx') from dual;
  222.  
  223. F TO_CHAR('843474
  224. - ---------------
  225. 5 32466736 ==》36674632
  226.  
  227. BBED> d /v offset 108
  228. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  229. Block: 1 Offsets: 108 to 127 Dba:0x01400001
  230. -------------------------------------------------------
  231. 30cf3e32 a41da532 ec4f1900 00000000 l 0?>2¤.¥2ìO......
  232. d713a532
  233.  
  234. BBED> m /x 36674632 offset 108
  235. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  236. Block: 1 Offsets: 108 to 127 Dba:0x01400001
  237. ------------------------------------------------------------------------
  238. 36674632 a41da532 ec4f1900 00000000 d713a532
  239.  
  240. (6)修改表空间号
  241. sword kcvfhtsn @332 4
  242.  
  243. sys@PROD> select file#,TS# from v$datafile where file# in(4,5);
  244.  
  245. FILE# TS#
  246. ---------- ----------
  247. 4 4
  248. 5 5
  249.  
  250. BBED> d /v offset 332
  251. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  252. Block: 1 Offsets: 332 to 351 Dba:0x01400001
  253. -------------------------------------------------------
  254. 04000000 05005553 45525300 00000000 l ......USERS.....
  255. 00000000 l ....
  256.  
  257. <16 bytes per line>
  258.  
  259. BBED> m /x 05 offset 332
  260. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  261. Block: 1 Offsets: 332 to 351 Dba:0x01400001
  262. ------------------------------------------------------------------------
  263. 05000000 05005553 45525300 00000000 00000000
  264.  
  265. (7)修改相对文件号
  266. ub4 kcvfhrfn                             @368      0x00000004
  267.  
  268. BBED> d /v offset 368
  269. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  270. Block: 1 Offsets: 368 to 387 Dba:0x01400001
  271. -------------------------------------------------------
  272. 04000000 00000000 00000000 00000000 l ................
  273. 00000000 l ....
  274.  
  275. <16 bytes per line>
  276.  
  277. BBED> m /x 05 offset 368
  278. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  279. Block: 1 Offsets: 368 to 387 Dba:0x01400001
  280. ------------------------------------------------------------------------
  281. 05000000 00000000 00000000 00000000 00000000
  282.  
  283. (8)修改表空间的名称
  284. BBED> p kcvfhtnm
  285. text kcvfhtnm[0] @338 U
  286. text kcvfhtnm[1] @339 S
  287. text kcvfhtnm[2] @340 E
  288. text kcvfhtnm[3] @341 R
  289. text kcvfhtnm[4] @342 S
  290. text kcvfhtnm[5] @343
  291. text kcvfhtnm[6] @344
  292. text kcvfhtnm[7] @345
  293. text kcvfhtnm[8] @346
  294. text kcvfhtnm[9] @347
  295. text kcvfhtnm[10] @348
  296. text kcvfhtnm[11] @349
  297. text kcvfhtnm[12] @350
  298.  
  299. sys@PROD> select file#,TS# from v$datafile where file# in(4,5);
  300.  
  301. FILE# TS#
  302. ---------- ----------
  303. 4 4
  304. 5 5
  305.  
  306. sys@PROD> select TS#,NAME from v$tablespace where ts# in(4,5);
  307.  
  308. TS# NAME
  309. ---------- --------------------------------------------------
  310. 4 USERS
  311. 5 TP1
  312.  
  313. BBED> d /v offset 338
  314. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  315. Block: 1 Offsets: 338 to 357 Dba:0x01400001
  316. -------------------------------------------------------
  317. 55534552 53000000 00000000 00000000 l USERS...........
  318. 00000000
  319.  
  320. sys@PROD> select dump('USERS',16) from dual;
  321.  
  322. DUMP('USERS',16)
  323. ----------------------------
  324. Typ=96 Len=5: 55,53,45,52,53
  325.  
  326. sys@PROD> select dump('TP1',16) from dual;
  327.  
  328. DUMP('TP1',16)
  329. ----------------------
  330. Typ=96 Len=3: 54,50,31
  331.  
  332. BBED> m /x 54503100 offset 338
  333. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  334. Block: 1 Offsets: 338 to 357 Dba:0x01400001
  335. ------------------------------------------------------------------------
  336. 54503100 53000000 00000000 00000000 00000000
  337.  
  338. <32 bytes per line>
  339.  
  340. BBED> m /x 00 offset 342
  341. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  342. Block: 1 Offsets: 342 to 361 Dba:0x01400001
  343. ------------------------------------------------------------------------
  344. 00000000 00000000 00000000 00000000 00000000
  345.  
  346. <32 bytes per line>
  347.  
  348. BBED> d /v offset 338
  349. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  350. Block: 1 Offsets: 338 to 357 Dba:0x01400001
  351. -------------------------------------------------------
  352. 54503100 00000000 00000000 00000000 l TP1.............
  353. 00000000
  354.  
  355. (9)修改表空间的长度
  356. ub2 kcvfhtln                             @336      0x0005
  357.  
  358. BBED> d /v offset 336
  359. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  360. Block: 1 Offsets: 336 to 355 Dba:0x01400001
  361. -------------------------------------------------------
  362. 05005450 31000000 00000000 00000000 l ..TP1...........
  363. 00000000 l ....
  364.  
  365. <16 bytes per line>
  366.  
  367. BBED> m /x 03 offset 336
  368. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  369. Block: 1 Offsets: 336 to 355 Dba:0x01400001
  370. ------------------------------------------------------------------------
  371. 03005450 31000000 00000000 00000000 00000000
  372.  
  373. <32 bytes per line>
  374.  
  375. (10)检查点
  376.  
  377. BBED> p kcvfhckp
  378. struct kcvfhckp, 36 bytes @484
  379. struct kcvcpscn, 8 bytes @484
  380. ub4 kscnbas @484 0x0019b1a1 --->1683873
  381. ub2 kscnwrp @488 0x0000
  382. ub4 kcvcptim @492 0x32a59921 -->849713441
  383. ub2 kcvcpthr @496 0x0001
  384. union u, 12 bytes @500
  385. struct kcvcprba, 12 bytes @500
  386. ub4 kcrbaseq @500 0x00000002
  387. ub4 kcrbabno @504 0x000002e0
  388. ub2 kcrbabof @508 0x0010
  389. ub1 kcvcpetb[0] @512 0x02
  390. ub1 kcvcpetb[1] @513 0x00
  391. ub1 kcvcpetb[2] @514 0x00
  392. ub1 kcvcpetb[3] @515 0x00
  393. ub1 kcvcpetb[4] @516 0x00
  394. ub1 kcvcpetb[5] @517 0x00
  395. ub1 kcvcpetb[6] @518 0x00
  396. ub1 kcvcpetb[7] @519 0x00
  397.  
  398. sys@PROD> select file#,rfile#,CREATION_TIME,checkpoint_change#,unrecoverable_change#,offline_change# from v$datafile;
  399.  
  400. FILE# RFILE# CREATION_ CHECKPOINT_CHANGE# UNRECOVERABLE_CHANGE# OFFLINE_CHANGE#
  401. ---------- ---------- --------- ------------------ --------------------- ---------------
  402. 1 1 23-MAR-14 1683873 0 1658859
  403. 2 2 23-MAR-14 1683873 0 1658859
  404. 3 3 23-MAR-14 1683873 0 1658859
  405. 4 4 23-MAR-14 1683873 0 1658859
  406. 5 5 29-MAR-14 1684251 0 1658859
  407.  
  408. sys@PROD> select to_number('19b1a1','xxxxxxxxxxxx') from dual;
  409.  
  410. TO_NUMBER('19B1A1','XXXXXXXXXXXX')
  411. ----------------------------------
  412. 1683873
  413. sys@PROD> select to_number('32a59921','xxxxxxxxxxxx') from dual;
  414.  
  415. TO_NUMBER('32A59921','XXXXXXXXXXXX')
  416. ------------------------------------
  417. 849713441
  418. sys@PROD> select file#,to_char(CHECKPOINT_TIME,'yyyy-mm-dd hh24:mi:ss') createTime,
  419. 2 (to_char(CHECKPOINT_TIME,'yyyy')-1988)*12*31*24*3600+
  420. 3 (to_char(CHECKPOINT_TIME,'mm')-1)*31*24*3600+
  421. 4 (to_char(CHECKPOINT_TIME,'dd')-1)*24*3600+
  422. 5 to_char(CHECKPOINT_TIME,'hh24')*3600+
  423. 6 to_char(CHECKPOINT_TIME,'mi')*60+
  424. 7 to_char(CHECKPOINT_TIME,'ss') createTimeSCN
  425. 8 from v$datafile WHERE file# in(4,5);
  426.  
  427. FILE# CREATETIME CREATETIMESCN
  428. ---------- ------------------- -------------
  429. 4 2014-06-08 15:30:41 849713441
  430. 5 2014-06-08 15:38:33 849713913
  431.  
  432. sys@PROD> sys@PROD> select to_char('1684251','xxxxxxxxxxxxxxx') from dual;
  433.  
  434. TO_CHAR('1684251
  435. ----------------
  436. 19b31b ====>真正5号文件的检查点SCN
  437.  
  438. sys@PROD> select to_char('','xxxxxxxxxxxxxxx') from dual;
  439.  
  440. TO_CHAR('8497139
  441. ----------------
  442. 32a59af9 ====>真正5号文件的检查点时间
  443.  
  444. ub4 kscnbas @484 0x0019b1a1 ====>真正5号文件的检查点SCN 19b31b (倒:1bb319)
  445. ub4 kcvcptim @492 0x32a59921 ====>真正5号文件的检查点时间32a59af9(倒:f99aa532)
  446.  
  447. BBED> d /v offset 484
  448. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  449. Block: 1 Offsets: 484 to 503 Dba:0x01400001
  450. -------------------------------------------------------
  451. a1b11900 00000000 2199a532 01000000 l ?±......!.¥2....
  452. 02000000
  453.  
  454. BBED> m /x 1bb319 offset 484
  455. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  456. Block: 1 Offsets: 484 to 503 Dba:0x01400001
  457. ------------------------------------------------------------------------
  458. 1bb31900 00000000 2199a532 01000000 02000000
  459.  
  460. BBED> d /v offset 492
  461. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  462. Block: 1 Offsets: 492 to 511 Dba:0x01400001
  463. -------------------------------------------------------
  464. 2199a532 01000000 02000000 e0020000 l !.¥2........à...
  465. 10007261
  466.  
  467. BBED> m /x f99a offset 492
  468. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  469. Block: 1 Offsets: 492 to 511 Dba:0x01400001
  470. ------------------------------------------------------------------------
  471. f99aa532 01000000 02000000 e0020000 10007261
  472.  
  473. ##################校验块
  474. BBED> sum apply
  475. Check value for File 5, Block 1:
  476. current = 0x4a10, required = 0x4a10
  477.  
  478. BBED> verify
  479. DBVERIFY - Verification starting
  480. FILE = /u01/app/oracle/oradata/PROD/tp01.dbf
  481. BLOCK = 1
  482.  
  483. DBVERIFY - Verification complete
  484.  
  485. Total Blocks Examined : 1
  486. Total Blocks Processed (Data) : 0
  487. Total Blocks Failing (Data) : 0
  488. Total Blocks Processed (Index): 0
  489. Total Blocks Failing (Index): 0
  490. Total Blocks Empty : 0
  491. Total Blocks Marked Corrupt : 0
  492. Total Blocks Influx : 0
  493. Message 531 not found; product=RDBMS; facility=BBED
  494.  
  495. ######################检查物理坏块
  496.  
  497. [oracle@jfdb PROD]$ dbv file=tp01.dbf start=1 end=2
  498.  
  499. DBVERIFY: Release 11.2.0.3.0 - Production on Sun Jun 8 21:48:37 2014
  500.  
  501. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
  502.  
  503. DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/PROD/tp01.dbf
  504.  
  505. DBVERIFY - Verification complete
  506.  
  507. Total Pages Examined : 2
  508. Total Pages Processed (Data) : 0
  509. Total Pages Failing (Data) : 0
  510. Total Pages Processed (Index): 0
  511. Total Pages Failing (Index): 0
  512. Total Pages Processed (Other): 2
  513. Total Pages Processed (Seg) : 0
  514. Total Pages Failing (Seg) : 0
  515. Total Pages Empty : 0
  516. Total Pages Marked Corrupt : 0
  517. Total Pages Influx : 0
  518. Total Pages Encrypted : 0
  519. Highest block SCN : 1687542 (0.1687542)
  520.  
  521. ############打开数据库报错
  522.  
  523. sys@PROD> shutdown abort;
  524. ORACLE instance shut down.
  525. sys@PROD> startup
  526. ORACLE instance started.
  527.  
  528. Total System Global Area 939495424 bytes
  529. Fixed Size 2233960 bytes
  530. Variable Size 251660696 bytes
  531. Database Buffers 679477248 bytes
  532. Redo Buffers 6123520 bytes
  533. Database mounted.
  534. ORA-01122: database file 5 failed verification check
  535. ORA-01110: data file 5: '/u01/app/oracle/oradata/PROD/tp01.dbf'
  536. ORA-01207: file is more recent than control file - old control file
  537.  
  538. ###########怀疑检查点计数器,这里我先用BBED(方法1重建控制文件,方法2利用BBED修改计算器)
  539.  
  540. ub4 kcvfhcpc                             @140      0x00000102
  541.  
  542. ub4 kcvfhccc                             @148      0x00000101
  543.  
  544. idle> alter session set events 'immediate trace name controlf level 8';
  545.  
  546. Session altered.
  547.  
  548. DATA FILE #5:
  549. name #4: /u01/app/oracle/oradata/PROD/tp01.dbf
  550. creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1
  551. tablespace 5, index=5 krfil=5 prev_file=0
  552. unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
  553. Checkpoint cnt:226 scn: 0x0000.0019b31b 06/08/2014 15:38:33
  554. Stop scn: 0xffff.ffffffff 06/08/2014 07:44:07
  555. Creation Checkpointed at scn: 0x0000.00058d91 03/29/2014 10:32:22
  556. thread:0 rba:(0x0.0.0)
  557.  
  558. sys@PROD> select to_char('226','xxxxxxxxxxxxx') from dual;
  559.  
  560. TO_CHAR('226',
  561. --------------
  562. e2
  563.  
  564. sys@PROD> select to_char('225','xxxxxxxxxxxxx') from dual;
  565.  
  566. TO_CHAR('225',
  567. --------------
  568. e1
  569.  
  570. BBED> d /v offset 140
  571. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  572. Block: 1 Offsets: 140 to 159 Dba:0x01400001
  573. -------------------------------------------------------
  574. 02010000 8bc6a532 01010000 b24f1900 l .....?¥2....2O..
  575. 00000000
  576.  
  577. BBED> m /x e200 offset 140
  578. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  579. Block: 1 Offsets: 140 to 159 Dba:0x01400001
  580. ------------------------------------------------------------------------
  581. e2000000 8bc6a532 01010000 b24f1900 00000000
  582.  
  583. <32 bytes per line>
  584.  
  585. BBED> d /v offset 148
  586. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  587. Block: 1 Offsets: 148 to 167 Dba:0x01400001
  588. -------------------------------------------------------
  589. 01010000 b24f1900 00000000 d713a532 l ....2O......×.¥2
  590. 01000000 l ....
  591.  
  592. <16 bytes per line>
  593.  
  594. BBED> m /x e100 offset 148
  595. File: /u01/app/oracle/oradata/PROD/tp01.dbf (5)
  596. Block: 1 Offsets: 148 to 167 Dba:0x01400001
  597. ------------------------------------------------------------------------
  598. e1000000 b24f1900 00000000 d713a532 01000000
  599.  
  600. <32 bytes per line>
  601.  
  602. BBED> sum apply
  603. Check value for File 5, Block 1:
  604. current = 0x4a10, required = 0x4a10
  605.  
  606. BBED> verify
  607. DBVERIFY - Verification starting
  608. FILE = /u01/app/oracle/oradata/PROD/tp01.dbf
  609. BLOCK = 1
  610.  
  611. DBVERIFY - Verification complete
  612.  
  613. Total Blocks Examined : 1
  614. Total Blocks Processed (Data) : 0
  615. Total Blocks Failing (Data) : 0
  616. Total Blocks Processed (Index): 0
  617. Total Blocks Failing (Index): 0
  618. Total Blocks Empty : 0
  619. Total Blocks Marked Corrupt : 0
  620. Total Blocks Influx : 0
  621. Message 531 not found; product=RDBMS; facility=BBED
  622.  
  623. ##########再次打开库,OK!
  624.  
  625. sys@PROD> select status from v$instance;
  626. STATUS
  627. ------------
  628. MOUNTED
  629.  
  630. sys@PROD> alter database open;
  631.  
  632. Database altered.
  633.  
  634. ###############################修改数据文件头的注意点:
  635.  1、修改数据的DBA,rdba_kcbh
  636.  
  637.  2、修改文件的大小,kccfhfsz
  638.  
  639.  3、修改文件号,kccfhfno
  640.  
  641.  4、修改文件创建时SCN,kcvfhcrs
  642.  
  643.  5、修改文件创建时间,kcvfhcrt
  644.  
  645.  6、修改表空间号,kcvfhtsn 
  646.  
  647.  7、修改相对文件号,kcvfhrfn  
  648.  
  649.  8、修改表空间的名称, kcvfhtnm
  650.  
  651.  9、修改表空间的长度,kcvfhtln     
  652.  
  653.  10、修改检查点的SCN,kcvfhckp
  654.  
  655.  11、修改检查点的时间,kcvcptim 
  656.  
  657.  12、修改检查点的计数器,kcvfhcpc
  658.  
  659.  13、修改检查点的控制文件备份的计数器, kcvfhccc
  660.  
  661.  14、如果你修改是1号文件的1号块他的root rdba的地针是指向了bootstrap$
  662. ---------------------
  663. 作者:郭一军_guoyJoe
  664. 来源:CSDN
  665. 原文:https://blog.csdn.net/guoyjoe/article/details/31018075
  666. 版权声明:本文为博主原创文章,转载请附上博文链接!

利用BBED恢复数据文件头的更多相关文章

  1. 使用BBED恢复数据文件头

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/31018075 @@@@@@@利用BBED模拟损坏5文件1号块(文件头) BBED> ...

  2. 使用dd备份和恢复ASM中的数据文件头

    这里用大家随处可见的(除了extent分布的x$kffxp需要百度和google外),其余都是文档中有详细记载的常用ASM视图来实现同样功能: 下面的用于从ASM中备份数据文件头: SQL> s ...

  3. 04 bbed修复system文件头损坏

    04 bbed修复system文件头损坏 1 启动数据库,查看trace,在mount到open, SQL> startup mount; ORACLE instance started. To ...

  4. 利用BBED恢复UPDATE改动前的值

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/30615151 实验步骤例如以下: 1.创建表guo_test1 gyj@PROD> ...

  5. mysql利用binlog恢复数据

    需求:需要给开发提供一个2018年9月30号的数据,按照我们公司正常备份策略来说,直接找到对应时间的备份数据,解压导入即可,恰好这个时间节点的数据没有,只备份到2018年9月25号的,糟糕了吧 咋办呢 ...

  6. mysql利用binlog恢复数据详细例子

    模拟数据恢复的案例 有些时候脑瓜就会短路,难免会出错 场景:在生产环境中,我们搭建了mysql主从,备份操作都是在从备份数据库上 前提:有最近一天或者最近的全备 或者最近一天相关数据库的备份 最重要的 ...

  7. 05 使用bbed跳过归档恢复数据文件

    5 使用BBED跳过归档 在归档模式下,缺失了一部分的归档日志文件,对数据文件进行恢复 1 开启归档 --shutdown immediate --startup mount --alter data ...

  8. 不小心删除数据--利用MySQL的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

  9. 利用mysql的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

随机推荐

  1. 3款网页jQuery抽奖实例演示

    实例演示 实例演示 实例演示

  2. angularJs学习笔记-路由

    1.angular路由介绍 angular路由功能是一个纯前端的解决方案,与我们熟悉的后台路由不太一样. 后台路由,通过不同的 url 会路由到不同的控制器 (controller) 上,再渲染(re ...

  3. MySQL5.7: Paging using Mysql Stored Proc

    -- 查询外键 涂聚文 (Geovin Du) select concat(table_name, '.', column_name) as 'foreign key', concat(referen ...

  4. wamp本地可以访问,远程无法访问,报错:client denied by server configuration

    出错原因:配置文件限制非本机访问 对策:修改httpd.conf,选择合适的模式,一般局域网环境的话,可以完全放开,使用 <Directory "..../wamp/www" ...

  5. java调用matlab

    object result[]; result = pClass1.job_3in1(2, c, ws2, 1275, a, 0); string adg[]; adg = result[1].toS ...

  6. 矢量图面层和线层相交得到相交后的线层文件(gis相交)

    目的:将arcgis里的面层和线层相交(重叠)部分的线单独生成一个shp文件,用于道路路网密度计算等. 注意:进行相交运算后生成的是线要素文件,相当于把面线相交部分的线单独拿了出来. 操作例子:将图示 ...

  7. JNI NDK (AndroidStudio+CMake )实现C C++调用Java代码流程

    JNI/NDK Java调用C/C++前言  通过第三篇文章讲解在实际的开发过程中Java层调用C/C++层的处理流程.其实我们在很大的业务里也需要C/C+ +层去调用Java层,这两层之间的相互调用 ...

  8. 使用adb命令通过IP地址连接手机

    前提:已经通过USB设备线连接过电脑,并成功安装驱动. adb连接手机进行调试有两种方式,一种是使用USB线,另一种是使用无线WiFi. 第一种  使用USB线连接 1. 在手机上启用USB调试 2. ...

  9. Hive内部表与外部表的区别

    1.未被external修饰的是内部表[managed table],被external修饰的为外部表[external table]. 2.内部表数据由Hive自身管理,外部表数据由HDFS管理. ...

  10. ERROR 1044 (42000): Access denied for user 'root'@'localhost'

    从供应商那边接手一个MySQL数据库(数据库版本为5.7.21 MySQL Community Server (GPL)),在创建账号时遇到了"ERROR 1044 (42000): Acc ...