[20150513]人為破壞資料塊.txt
[20150513]人為破壞資料塊.txt
--演示的目的,參考連結:
--不要在生產系統測試!!!!!
1.建立測試環境:
SCOTT@test> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- ----------------------------------------------------------------
x86_64/Linux 2.4.xx 10.2.0.4.0 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
SCOTT@test> create table depty as select * from dept ;
Table created.
SCOTT@test> select rowid,depty.* from depty ;
ROWID DEPTNO DNAME LOC
------------------ ------------ -------------- -------------
AAAPbxAAEAAAAUkAAA 10 ACCOUNTING NEW YORK
AAAPbxAAEAAAAUkAAB 20 RESEARCH DALLAS
AAAPbxAAEAAAAUkAAC 30 SALES CHICAGO
AAAPbxAAEAAAAUkAAD 40 OPERATIONS BOSTON
SCOTT@test> @ &r/lookup_rowid AAAPbxAAEAAAAUkAAA
OBJECT FILE BLOCK ROW DBA TEXT
------------ ------------ ------------ ------------ -------------------- ----------------------------------------
63217 4 1316 0 4,1316 alter system dump datafile 4 block 1316
--保證髒塊寫盤.
SCOTT@test> alter system checkpoint;
System altered.
--安全需要備份資料檔案.
RMAN> backup datafile 4 format '/tmp/users_%u' ;
Starting backup at 2015-05-13 12:02:58
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=157 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00004 name=/mnt/ramdisk/test/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2015-05-13 12:02:59
channel ORA_DISK_1: finished piece 1 at 2015-05-13 12:03:00
piece handle=/tmp/users_01q6r3rj tag=TAG20150513T120259 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2015-05-13 12:03:00
2.開始測試:
SCOTT@test> alter system flush buffer_cache;
System altered.
RMAN> BLOCKRECOVER DATAFILE 4 BLOCK 1316 clear;
Starting blockrecover at 2015-05-13 12:07:46
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=147 devtype=DISK
Finished blockrecover at 2015-05-13 12:07:46
SCOTT@test> select rowid,depty.* from depty ;
select rowid,depty.* from depty
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 4, block # 1316)
ORA-01110: data file 4: '/mnt/ramdisk/test/users01.dbf'
RMAN> BLOCKRECOVER DATAFILE 4 BLOCK 1316 ;
Starting blockrecover at 2015-05-13 12:08:51
using channel ORA_DISK_1
channel ORA_DISK_1: restoring block(s)
channel ORA_DISK_1: specifying block(s) to restore from backup set
restoring blocks of datafile 00004
channel ORA_DISK_1: reading from backup piece /tmp/users_01q6r3rj
channel ORA_DISK_1: restored block(s) from backup piece 1
piece handle=/tmp/users_01q6r3rj tag=TAG20150513T120259
channel ORA_DISK_1: block restore complete, elapsed time: 00:00:02
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished blockrecover at 2015-05-13 12:08:54
==補充說明,10g不支援如下格式:
RMAN> recover datafile 4 block 1316 ;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "block": expecting one of: "archivelog, auxiliary, allow, check, comma, delete, from, high, noredo, noparallel, parallel, ;, skip, test, until, undo"
RMAN-01007: at line 1 column 20 file: standard input
RMAN> recover datafile 4 block 1316 clear;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "block": expecting one of: "archivelog, auxiliary, allow, check, comma, delete, from, high, noredo, noparallel, parallel, ;, skip, test, until, undo"
RMAN-01007: at line 1 column 20 file: standard input
================
SCOTT@test> select rowid,depty.* from depty ;
ROWID DEPTNO DNAME LOC
------------------ ------------ -------------- -------------
AAAPbxAAEAAAAUkAAA 10 ACCOUNTING NEW YORK
AAAPbxAAEAAAAUkAAB 20 RESEARCH DALLAS
AAAPbxAAEAAAAUkAAC 30 SALES CHICAGO
AAAPbxAAEAAAAUkAAD 40 OPERATIONS BOSTON
--資料恢復.
== >
補充一點:11g才可以使用如下,10g不行!在11g下做的測試,省略許多步驟:
RMAN> RECOVER DATAFILE 4 BLOCK 1523 clear;
Starting recover at 2015-05-13 15:14:09
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
Finished recover at 2015-05-13 15:14:10
RMAN> RECOVER corruption list;
Starting recover at 2015-05-13 15:15:52
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
channel ORA_DISK_1: restoring block(s)
channel ORA_DISK_1: specifying block(s) to restore from backup set
restoring blocks of datafile 00004
channel ORA_DISK_1: reading from backup piece /tmp/users_3gq6rf0g
channel ORA_DISK_1: piece handle=/tmp/users_3gq6rf0g tag=TAG20150513T151319
channel ORA_DISK_1: restored block(s) from backup piece 1
channel ORA_DISK_1: block restore complete, elapsed time: 00:00:01
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 2015-05-13 15:16:00
SCOTT@test> select rowid,depty.* from depty ;
ROWID DEPTNO DNAME LOC
------------------ ---------- -------------- -------------
AABKCeAAEAAAAXzAAA 10 ACCOUNTING NEW YORK
AABKCeAAEAAAAXzAAB 20 RESEARCH DALLAS1
AABKCeAAEAAAAXzAAC 30 SALES CHICAGO
AABKCeAAEAAAAXzAAD 40 OPERATIONS BOSTON
AABKCeAAEAAAAXzAAE 50 MARKETING LONDON
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1652990/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫壞塊(corruption)-物理壞塊Oracle資料庫
- ORA-01578(資料塊損壞)跳過壞塊
- 資料塊損壞ORA-1578(發現損壞塊)
- 資料庫壞塊處理資料庫
- 使用BBED破壞資料(oracle11g)Oracle
- [20121016]壞塊處理以及資料恢復.txt資料恢復
- 修復損壞的資料塊
- Oracle資料庫壞塊修復Oracle資料庫
- Oracle資料庫壞塊典型案例分析Oracle資料庫
- 跳過Oracle資料庫壞塊方法Oracle資料庫
- ORACLE中修復資料塊損壞Oracle
- 檢查資料塊損壞(Block Corruption)BloC
- 修復資料庫壞塊之五資料庫
- 修復資料庫壞塊之四資料庫
- 修復資料庫壞塊之三資料庫
- 修復資料庫壞塊之二資料庫
- 修復資料庫壞塊之一資料庫
- ORA-01578(資料塊損壞)跳過壞塊處理辦法
- Oracle資料庫塊的物理損壞與邏輯損壞Oracle資料庫
- 使用validate驗證資料檢查資料壞塊
- Oracle資料庫壞塊典型案例擴充Oracle資料庫
- ora_01578 資料庫壞塊資料庫
- 資料庫壞塊解決案例一則資料庫
- 11g資料庫出現壞塊資料庫
- Oracle___專題研究__資料庫壞塊Oracle資料庫
- 怎樣檢查資料庫壞塊(DBV)資料庫
- 【exp】快速檢測資料檔案壞塊
- 勒索軟體 GermanWiper 破壞資料然後索要贖金
- 控制檔案被破壞的資料庫恢復方法資料庫
- [20140424]oracle的邏輯壞塊.txtOracle
- oracle 普通表空間資料檔案壞塊Oracle
- 資料庫壞塊Corrupt block的處理方法資料庫BloC
- Oracle中匯出修復資料塊損壞Oracle
- 關於 資料壞塊 的整理和總結
- undo壞塊引起資料庫無法啟動資料庫
- Oracle中模擬修復資料塊損壞Oracle
- [20170419]bbed探究資料塊.txt
- [20130530]OS block header破壞以及恢復.txtBloCHeader