[20161129]轉儲記憶體的內容還原成資料塊.txt
[20161129]轉儲記憶體的內容還原成資料塊.txt
--昨天在做1128PAGETABLE SEGMENT HEADER損壞恢復,連結http://blog.itpub.net/267265/viewspace-2129195/
--在做還原成資料塊時思路很亂,當時是一邊做一邊想,希望能找到好的方法,今天自己在重複做一次。
1.環境:
SCOTT@book> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SCOTT@book> select rowid,dept.* from dept where rownum=1;
ROWID DEPTNO DNAME LOC
------------------ ---------- -------------- -------------
AAAVRCAAEAAAACHAAA 10 ACCOUNTING NEW YORK
SCOTT@book> @ &r/rowid AAAVRCAAEAAAACHAAA
OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
87106 4 135 0 0x1000087 4,135 alter system dump datafile 4 block 135 ;
--透過轉儲的內容還原成資料塊。
2.使用方法如下:
--//參考 http://blog.itpub.net/267265/viewspace-1659981/
alter session set events 'immediate trace name set_tsn_p1 level m';
ALTER SESSION SET EVENTS 'immediate trace name buffer level rdba';
--//注 m要ts#+1.
SCOTT@book> select ts# from sys.ts$ where name='USERS';
TS#
----------
4
SCOTT@book> @ &r/convrdba 4 135
RDBA16 RDBA
-------------- ----------
1000087 16777351
--換1個資料塊測試看看。
alter session set events 'immediate trace name set_tsn_p1 level 5';
ALTER SESSION SET EVENTS 'immediate trace name buffer level 0x1000087';
SCOTT@book> alter session set events 'immediate trace name set_tsn_p1 level 5';
Session altered.
SCOTT@book> ALTER SESSION SET EVENTS 'immediate trace name buffer level 0x1000087';
Session altered.
3.檢查轉儲內容:
$ cat 4.135.bin
073A3C000 0000A206 01000087 000E0EF0 06010000 [................]
073A3C010 0000E273 00160001 00015442 000E0EE4 [s.......BT......]
073A3C020 1FE80000 00321F02 01000080 00020009 [......2.........]
073A3C030 00000364 00C167B0 002E009A 00002004 [d....g....... ..]
073A3C040 000E0EF0 00000000 00000000 00000000 [................]
073A3C050 00000000 00000000 00000000 00000000 [................]
073A3C060 00000000 00040100 001AFFFF 1F221F3C [............<.".]
073A3C070 00001F22 1F7E0004 1F541F68 18891F3C [".....~.h.T.<...]
073A3C080 17D1182D 172B177E 168516D8 15DF1632 [-...~.+.....2...]
..
073A3DFA0 0203012C 4F0A29C1 41524550 4E4F4954 [,....).OPERATION]
073A3DFB0 4F420653 4E4F5453 0203012C 53051FC1 [S.BOSTON,......S]
073A3DFC0 53454C41 49484307 4F474143 0203012C [ALES.CHICAGO,...]
073A3DFD0 520815C1 41455345 06484352 4C4C4144 [...RESEARCH.DALL]
073A3DFE0 012C5341 0BC10203 4343410A 544E554F [AS,......ACCOUNT]
073A3DFF0 08474E49 2057454E 4B524F59 0EF00601 [ING.NEW YORK....]
--前面073A3C000 以及 [................] 刪除。
--編輯刪除Repeat 3 times這行刪除,實際上會vi很簡單,先在前面一行按Y,然後按3P複製一樣的3行。後面的操作類似(比如
--Repeat 142 times),不再講解。(注我目前這個檔案不存在這個問題)
$ cut -c11-45 4.135.bin > 4.135a.bin
--然後經過如下轉換就ok了。
$ xxd -r -p 4.135a.bin | od -t x4 -v | cut -c9- | xxd -r -p | md5sum
af2e621ca94aa6d52671462f29f933e1 -
--//注意僅僅將後面的|md5sum 替換成>檔名 就ok了。
$ dd if=/mnt/ramdisk/book/users01.dbf bs=8192 count=1 skip=135 2>/dev/null | md5sum
af2e621ca94aa6d52671462f29f933e1 -
--//md5sum的結果一直,說明還原正確。
總結:
這樣簡單許多,不知道以後是否有用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2129263/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20161129]奇怪的轉儲命令.txt
- 記憶體中的資料儲存記憶體
- golang的記憶體相關內容Golang記憶體
- 誰能說說java記憶體的永久儲存區域中儲存的內容嗎?Java記憶體
- 用GDB檢視記憶體內容記憶體
- PostgreSQL共享記憶體裡的內容(initCommunication)SQL記憶體
- Redis 記憶體優化神技,小記憶體儲存大資料Redis記憶體優化大資料
- 轉儲資料塊玩玩
- [20171228]關於資料塊轉儲的問題.txt
- [20160904]在記憶體修改資料.txt記憶體
- 解讀記憶體資料庫的儲存需求RC記憶體資料庫
- dump 轉儲檔案內容
- oracle資料塊轉儲說明Oracle
- oracle程式和記憶體轉儲說明Oracle記憶體
- C語言 | 深度剖析資料在記憶體中的儲存(原碼,反碼,補碼,大小端儲存)C語言記憶體
- 如何在windows程式中讀取bios內容(實體記憶體內容) (5千字)WindowsiOS記憶體
- [20180604]在記憶體修改資料(bbed).txt記憶體
- 記憶體資料庫記憶體資料庫
- Solmyr和Zero的故事 —— 記憶體,最後一塊 (轉)記憶體
- 在ASP.NET中將資料直接輸出成Excel內容 (轉)ASP.NETExcel
- Memory Dumps(ORACLE記憶體結構轉儲)Oracle記憶體
- 資料儲存位置記憶體圖及一個題目記憶體
- double型別資料在記憶體中中儲存格式型別記憶體
- 使用LiME收集主機實體記憶體的內容時發生當機記憶體
- Oracle記憶體結構(四)----如何獲得Oracle各記憶體段的內部資訊(轉)Oracle記憶體
- Mongodb記憶體資料庫MongoDB記憶體資料庫
- Apache Arrow 記憶體資料Apache記憶體
- 記憶體資料庫如何發揮記憶體優勢?記憶體資料庫
- Redis的資料被刪除,佔用記憶體咋還那麼大?Redis記憶體
- [20140928]資料庫建立在記憶體中.txt資料庫記憶體
- 資料在記憶體中儲存的方式:大端模式與小端模式記憶體模式
- 快閃記憶體將改變資料庫儲存引擎的設計記憶體資料庫儲存引擎
- 成為MySQL DBA後,再看ORACLE資料庫(五、記憶體管理)MySqlOracle資料庫記憶體
- 轉儲指定的資料塊並檢視TRC資訊
- sqlserver資料庫還原儲存過程指令碼SQLServer資料庫儲存過程指令碼
- 使用儲存指令碼還原恢復資料庫指令碼資料庫
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- InnoDB儲存引擎——記憶體儲存引擎記憶體