a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle內部工具Block Corruption介紹

2024-08-29 13:50:46
字體:
來源:轉載
供稿:網友
有人在Google新聞組上提出了一個問題:“How can I get the BBED passWord?”,繼而引發了一場很有意思的討論。 后來Pete Finnigan也在他的Blog寫了一篇文章"An interesting thread on Oracle-l about BBED"描述這次有意思的探討。 在討論中,有一個有趣的觀點提到,假如這個工具被廣泛傳播,那么可能有些人不是用BBED來修復數據,意外的破壞可能更為多見。最終的后果可能是Oracle徹底把這個工具移除。BBED是Block Browser/Editor的縮寫,是Oracle的一個內部工具,不對外發布文檔及支持。BBED隨軟件發布,但是我們需要進行簡單的relink才能使用,relink請參考:How to compile Oracle10g BBED tools. 雖然BBED工具的使用存在很多風險,但是假如利用得當,可以以之解決很多棘手的問題。本文簡單介紹一下如何用BBED模擬壞塊,以練習壞塊修復等技術,此前我曾經介紹過另外一種方法,請參考:Oracle中模擬及修復數據塊損壞 1.創建測試表
[oracle@jumper conner]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.4.0 - PRodUCtion on Sun Sep 11 19:59:27 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning optionJServer Release 9.2.0.4.0 - ProductionSQL> create table bbed tablespace users as select * from dba_tables;Table created.SQL> select count(*) from bbed;COUNT(*)523SQL> col segment_name for a10SQL> select segment_name,file_id,block_id from dba_extents where segment_name='BBED';SEGMENT_NA FILE_ID BLOCK_ID---------- ---------- ----------BBED 3 9BBED 3 17BBED 3 25SQL> select count(*) from bbed;COUNT(*)523
2.創建BBED參數文件等。
[oracle@jumper conner]$ more filelist.txt1 /opt/oracle/oradata/conner/system01.dbf 4404019202 /opt/oracle/oradata/conner/undotbs01.dbf 1048576003 /opt/oracle/oradata/conner/users01.dbf 27262976[oracle@jumper conner]$ more par.bbdblocksize=8192listfile=filelist.txtmode=edit
3.使用BBED
[oracle@jumper conner]$ bbed parfile=par.bbdPassword:BBED: Release 2.0.0.0.0 - Limited Production on Sun Sep 11 20:01:01 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> set file 3 FILE# 3 BBED> show FILE# 3 BLOCK# 1 OFFSET 0 DBA 0x00c00001 (12582913 3,1) FILENAME /opt/oracle/oradata/conner/users01.dbf BIFILE bifile.bbd LISTFILE filelist.txt BLOCKSIZE 8192 MODE Edit EDIT Unrecoverable IBASE Dec OBASE Dec WIDTH 80 COUNT 512 LOGFILE log.bbd SPOOL No
4.回滾誤操作 假如操作中發生誤操作,可以使用revert命令回滾。
BBED> modify /x 0x00c00011 File: /opt/oracle/oradata/conner/users01.dbf (3) Block: 1 Offsets: 1000 to 1511 Dba:0x00c00001------------------------------------------------------------------------ 00c00011 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED> revertAll changes made in this session will be rolled back. Proceed? (Y/N) YReverted file '/opt/oracle/oradata/conner/users01.dbf', block 1Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) Y
5.改寫數據塊 模擬壞塊:
BBED> modify 1000 file 3 block 17 File: /opt/oracle/oradata/conner/users01.dbf (3) Block: 17 Offsets: 1000 to 1511 Dba:0x00c00011------------------------------------------------------------------------ 03e80000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 002c002f 03535953 18415050 4c59245f 434f4e46 5f48444c 525f434f 4c554d4e 53065359 5354454d ffff02c1 0b02c129 02c10203 c2033804 c3073825 ff02c102 06c51630 31252eff 02c10202 c1020359 4553014e ffffffff ffffffff 0a202020 20202020 2020310a 20202020 20202020 20310520 2020204e 07454e41 424c4544 ffff024e 4fff014e 014e024e 4f074445 4641554c 54084449 5341424c 4544024e 4f024e4f ff084449 5341424c 4544024e 4fff0844 49534142 4c454408 44495341 424c4544 2c002f03 53595314 4150504c 59245f45 52524f52 5f48414e 444c4552 06535953 54454dff ff02c10b 02c12902 c10203c2 033804c3 073825ff 02c10206 c5163031 252eff02 c10202c1 02035945 53014eff ffffffff ffffff0a 20202020 20202020 20310a20 20202020 20202020 31052020 20204e07 454e4142 4c4544ff ff024e4f ff014e01 4e024e4f 07444546 41554c54 08444953 41424c45 44024e4f 024e4fff 08444953 41424c45 44024e4f ff084449 5341424c 45440844 49534142 4c45442c 002f0353 59530c41 50504c59 245f4552 524f5206 <32 bytes per line>
6.檢查數據塊損壞 使用verify命令,可以發現剛才修改的file 3 block 17已經被標記為損壞。
BBED> verifyDBVERIFY - Verification startingFILE = /opt/oracle/oradata/conner/users01.dbfBLOCK = 17 Block 17 is corrupt***Corrupt block relative dba: 0x00c00011 (file 0, block 17)Bad check value found during verificationData in bad block - type: 6 format: 2 rdba: 0x00c00011 last change scn: 0x0000.20a3b575 seq: 0x1 flg: 0x04 consistency value in tail: 0xb5750601 check value in block header: 0x3006, computed block checksum: 0xe803 spare1: 0x0, spare2: 0x0, spare3: 0x0*** DBVERIFY - Verification complete Total Blocks Examined : 1Total Blocks Processed (Data) : 0Total Blocks Failing (Data) : 0Total Blocks Processed (Index): 0Total Blocks Failing (Index): 0Total Blocks Empty : 0Total Blocks Marked Corrupt : 1Total Blocks Influx : 0 BBED> quit
7.使用DBV檢查
[oracle@jumper conner]$ dbv file=users01.dbf blocksize=8192 DBVERIFY: Release 9.2.0.4.0 - Production on Sun Sep 11 20:13:23 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. DBVERIFY - Verification starting : FILE = users01.dbfPage 17 is marked corrupt***Corrupt block relative dba: 0x00c00011 (file 3, block 17)Bad check value found during dbv:Data in bad block - type: 6 format: 2 rdba: 0x00c00011 last change scn: 0x0000.20a3b575 seq: 0x1 flg: 0x04 consistency value in tail: 0xb5750601 check value in block header: 0x3006, computed block checksum: 0xe803 spare1: 0x0, spare2: 0x0, spare3: 0x0*** DBVERIFY - Verification complete Total Pages Examined : 128Total Pages Processed (Data) : 107Total Pages Failing (Data) : 0Total Pages Processed (Index): 0Total Pages Failing (Index): 0Total Pages Processed (Other): 20Total Pages Processed (Seg) : 0Total Pages Failing (Seg) : 0Total Pages Empty : 0Total Pages Marked Corrupt : 1Total Pages Influx : 0
8.全表掃描此時出現ORA-01578錯誤 重新啟動數據庫以后,執行全表掃描,此時錯誤出現:
SQL> startup force;ORACLE instance started. Total System Global Area 101782828 bytesFixed Size 451884 bytesVariable Size 37748736 bytesDatabase Buffers 62914560 bytesRedo Buffers 667648 bytesDatabase mounted.Database opened.SQL> select count(*) from bbed;select count(*) from bbed *ERROR at line 1:ORA-01578: ORACLE data block corrupted (file # 3, block # 17)ORA-01110: data file 3: '/opt/oracle/oradata/conner/users01.dbf' SQL>
以上方法僅供測試使用。


上一篇:Oracle 9i輕松取得建表和索引DDL語句

下一篇:Oracle9i自動分段空間管理改善分段存儲

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 91精品国产91久久久久久吃药 | 91精产国品一二三区在线观看 | 久久人人爽人人爽 | 91精品久久久久久久久久 | 国产精品第一国产精品 | 日本精品视频在线 | 黄色在线免费网站 | 欧美日韩一区二区在线 | 丝袜+亚洲+另类+欧美+变态 | 黄色免费在线观看网址 | 国产精品毛片一区二区在线看 | 欧美日韩国产高清 | 欧美天堂在线观看 | 国产精品久久久久桃色tv | 日韩av在线免费 | 国产高清毛片 | 国产一区久久 | 午夜精品久久久久99蜜 | 午夜性电影 | 国产一区在线视频 | 91久久精品国产 | 国产免费一区二区三区 | 亚洲女人天堂网 | 日韩色综合 | 密臀av | 久久久久久成人 | 亚洲精品午夜视频 | 亚洲精品久久久 | 午夜电影合集 | 精品在线播放 | 91精品福利 | 色综合久久久久 | 国产激情网址 | 黄a免费| 黄色电影免费看 | 91精品国产综合久久婷婷香蕉 | 美女黄网 | 国产九九九| 国产一区观看 | 国产乱a视频在线 | 国产一级做a爰片在线看免费 |