[20190125]bbed恢復資料遇到延遲塊清除的問題3.txt
[20190125]bbed恢復資料遇到延遲塊清除的問題3.txt
--//昨天分別做了2個測試,連結:
http://blog.itpub.net/267265/viewspace-2564716/=>[20190124]bbed恢復資料遇到延遲塊清除的問題.txt
http://blog.itpub.net/267265/viewspace-2564717/=>[20190124]bbed恢復資料遇到延遲塊清除的問題2.txt
--//我測試完感覺,oracle對於system表空間檢查更加嚴格,在修復資料塊時對於系統表空間的資料檔案特別要引起注意.
--//仔細想想system表空間oracle使用mssm,一般使用者的表空間是assm(多數使用者應該選擇這個模式),是否這兩種模式導致的問題呢?
--//自己還是測試看看.
1.環境:
SYSTEM@book> @ 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
CREATE TABLESPACE mssm DATAFILE
'/mnt/ramdisk/book/mssm01.dbf' SIZE 40M AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL
FLASHBACK ON;
--//使用SEGMENT SPACE MANAGEMENT MANUAL.
2.建立測試環境:
SCOTT@book> create table t tablespace mssm as select rownum id,'test' name from dual connect by level<=5;
Table created.
SCOTT@book> select rowid,t.* from t;
ROWID ID NAME
------------------ ---------- --------------------
AAAWP2AAHAAAACBAAA 1 test
AAAWP2AAHAAAACBAAB 2 test
AAAWP2AAHAAAACBAAC 3 test
AAAWP2AAHAAAACBAAD 4 test
AAAWP2AAHAAAACBAAE 5 test
SCOTT@book> @ rowid AAAWP2AAHAAAACBAAA
OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
91126 7 129 0 0x1C00081 7,129 alter system dump datafile 7 block 129 ;
--//建立在mssm表空間,使用mssm模式.
SCOTT@book> delete from t where id=2;
1 row deleted.
SYS@book> alter system flush buffer_cache;
System altered.
SYS@book> @ bh 7 129
HLADDR DBARFIL DBABLK CLASS CLASS_TYPE STATE TCH CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ BA OBJECT_NAME
---------------- ------- ------ ----- ---------- ----- --- ---------- ---------- ---------- ---------- ---------- ---------------- -----------
0000000084D14E60 7 129 1 data block free 0 0 0 0 0 0 0000000069694000 T
0000000084D14E60 7 129 1 data block free 0 0 0 0 0 0 0000000069696000 T
0000000084D14E60 7 129 1 data block free 0 0 0 0 0 0 000000006D890000
0000000084D14E60 7 129 1 data block free 0 0 0 0 0 0 000000006D892000
0000000084D14E60 7 129 1 data block free 0 0 0 0 0 0 000000007068A000
--//注:我的測試支援IMU,必須檢查資料塊不在快取在再提交.
SCOTT@book> commit ;
Commit complete.
--//這個時候對應資料塊已經不在快取了,做延遲塊提交.
3.使用bbed恢復看看:
BBED> set dba 7,129
DBA 0x01c00081 (29360257 7,129)
BBED> x /rnc *kdbr[1]
rowdata[33] @8166
-----------
flag@8166: 0x3c (KDRHFL, KDRHFF, KDRHFD, KDRHFH)
lock@8167: 0x02
cols@8168: 0
--//使用ITL槽2.看看ITL槽2(從0開始)的情況:
BBED> p ktbbh.ktbbhitl[1]
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x000a
ub2 kxidslt @70 0x0021
ub4 kxidsqn @72 0x00005305
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x00c01833
ub2 kubaseq @80 0x10dc
ub1 kubarec @82 0x0d
ub2 ktbitflg @84 0x0002 (NONE)
union _ktbitun, 2 bytes @86
sb2 _ktbitfsc @86 9
ub2 _ktbitwrp @86 0x0009
ub4 ktbitbas @88 0x00000000
--//可以發現ktbitflg=0x0002,表示沒有提交.有點奇怪為什麼是0x0002,應該是0x0001.
--//注:我前面測試視乎mssm表空間會出現這樣的情況.
--//ktbitbas=0x00000000,也就是沒有scn相關資訊寫入.
BBED> assign offset 8166=0x2c;
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
ub1 rowdata[0] @8166 0x2c
BBED> x /rnc *kdbr[1]
rowdata[33] @8166
-----------
flag@8166: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8167: 0x02
cols@8168: 2
col 0[2] @8169: 2
col 1[4] @8172: test
BBED> sum apply
Check value for File 7, Block 129:
current = 0xf398, required = 0xf398
BBED> verify
DBVERIFY - Verification starting
FILE = /mnt/ramdisk/book/mssm01.dbf
BLOCK = 129
Block Checking: DBA = 29360257, Block Type = KTB-managed data block
data header at 0x7f3667031274
kdbchk: the amount of space used is not equal to block size
used=83 fsc=9 avsp=7989 dtl=8072
Block 129 failed with check code 6110
--//我以前測試提到過這樣恢復,讀取是沒有問題,雖然verify時包如上的錯誤.
SCOTT@book> select rowid,t.* from t;
ROWID ID NAME
------------------ --- -----
AAAWP2AAHAAAACBAAA 1 test
AAAWP2AAHAAAACBAAB 2 test
AAAWP2AAHAAAACBAAC 3 test
AAAWP2AAHAAAACBAAD 4 test
AAAWP2AAHAAAACBAAE 5 test
--//OK沒有任何問題,也就是說明oracle對於system表空間檢測更加嚴格.
SYS@book> alter system flush buffer_cache;
System altered.
--//再次透過bbed觀察:
BBED> p ktbbh.ktbbhitl[1]
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x000a
ub2 kxidslt @70 0x0021
ub4 kxidsqn @72 0x00005305
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x00c01833
ub2 kubaseq @80 0x10dc
ub1 kubarec @82 0x0d
ub2 ktbitflg @84 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @86
sb2 _ktbitfsc @86 3
ub2 _ktbitwrp @86 0x0003
ub4 ktbitbas @88 0x17752c40
--//已經修改提交了.
BBED> x /rnc *kdbr[1]
rowdata[33] @8166
-----------
flag@8166: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8167: 0x00
cols@8168: 2
col 0[2] @8169: 2
col 1[4] @8172: test
--//lock標識也清除了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2564779/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20190124]bbed恢復資料遇到延遲塊清除的問題.txt
- [20190124]bbed恢復資料遇到延遲塊清除的問題2.txt
- [20210319]bbed讀取資料塊3.txt
- [20180626]延遲塊清除與只讀表.txt
- [20210401]使用bbed讀取資料塊恢復注意6.txt
- [20210930]bbed恢復刪除的資料.txt
- [20150409]只讀表空間與延遲塊清除.txt
- [20220909]bbed關於刪除記錄恢復的問題.txt
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- 教你如何解決MySQL資料延遲跳動的問題MySql
- [20190213]學習bbed-恢復刪除的資料.txt
- API返回延遲,FPM重啟後恢復之後又重現 問題解決方案API
- 分析伺服器延遲的問題伺服器
- 深入解析:段頭塊損壞bbed異常恢復
- MySQL主從資料庫同步延遲問題怎麼解決MySql資料庫
- 29、undo_2_1(事務槽、延遲塊清除、構造CR塊、ora-01555)
- SQL Server資料庫恢復常見問題SQLServer資料庫
- 【vsan資料恢復】vsan下虛擬機器磁碟元件出現問題的資料恢復案例資料恢復虛擬機元件
- mysqlbinlog命令恢復資料要注意的問題彙總MySql
- 定時器(setTimeout/setInterval)最小延遲的問題定時器
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- oracle asm 資料塊重構恢復OracleASM
- [20210906]bbed讀取資料塊(bbed-wrap.sh).txt
- BBED 修改oracle 資料檔案的 SCN 號來做資料庫不完全恢復。Oracle資料庫
- 美國伺服器延遲高怎麼辦,如何解決延遲問題伺服器
- PostgreSQL 恢復大法 - 恢復部分資料庫、跳過壞塊、修復無法啟動的資料庫SQL資料庫
- MySQL之 從複製延遲問題排查MySql
- [20190218]延遲約束問題2.txt
- 伺服器延遲問題如何解決伺服器
- 第78篇 Redis常見延遲問題Redis
- 【伺服器raid資料恢復】RAID5兩塊盤離線的資料恢復案例伺服器AI資料恢復
- 【伺服器資料恢復】HP EVA儲存多塊硬碟離線的資料恢復案例伺服器資料恢復硬碟
- 【伺服器資料恢復】infortrend儲存資料無法訪問的資料恢復案例伺服器資料恢復
- [20210318]bbed讀取資料塊.txt
- 微軟稱已修復Win10 1903/1909 “延遲更新”消失問題微軟Win10
- 疫情延遲 題解
- 伺服器資料恢復,raid5兩塊硬碟掉線資料恢復案例伺服器資料恢復AI硬碟
- 資料恢復經典案例分析-raid兩塊硬碟離線恢復資料恢復AI硬碟