利用BBED恢复UPDATE修改前的值
update
修改
使用
實驗
恢復
過程
实验过程如下: 1、创建表guo_test1 gyj@PROD create table guoyJoe_t1(id int,name varchar2(10));Table created.gyj@PROD insert into guoyJoe_t1 values(1,guoyJoe);1 row created.gyj@PROD insert into guoyJoe_t1 values(1,tom);1 row created.gyj@PROD
实验过程如下:
1、创建表guo_test1
gyj@PROD> create table guoyJoe_t1(id int,name varchar2(10)); Table created. gyj@PROD> insert into guoyJoe_t1 values(1,'guoyJoe'); 1 row created. gyj@PROD> insert into guoyJoe_t1 values(1,'tom'); 1 row created. gyj@PROD> COMMIT; Commit complete.
登入後複製
gyj@PROD> select name,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,dbms_rowid.rowid_row_number(rowid) row# from guoyJoe_t1; NAME FILE# BLOCK# ROW# ---------- ---------- ---------- ---------- guoyJoe 5 20877 0 tom 5 20877 1
登入後複製
3、刷数据缓存
gyj@PROD> alter system flush buffer_cache; System altered.
登入後複製
4、利用BBED找到这行记录(修改前的值:guoyJoe)
BBED> BBED> set file 5 block 20877 FILE# 5 BLOCK# 20877
登入後複製
5、发生UPDATE语句,把原来的值guoyJoe修改成oracledba
gyj@PROD> update guoyJoe_t1 set name='oracledba' where name='guoyJoe'; 1 row updated. gyj@PROD> commit; Commit complete
登入後複製
6、刷数据缓存
gyj@PROD> alter system flush buffer_cache; System altered.
登入後複製
7、利用BBED找到这行被修改后的记录(修改后的值上:oracledba)
BBED> set file 5 block 20877 FILE# 5 BLOCK# 20877
登入後複製
8、对比修改前与修改后的数据
BBED> d /v offset 8174 count 16 File: /u01/app/oracle/oradata/PROD/tp01.dbf (5) Block: 20877 Offsets: 8174 to 8189 Dba:0x0140518d ------------------------------------------------------- 2c000202 c1020767 756f794a 6f650106 l ,...á..guoyJoe.. BBED> d /v offset 8148 count 16 File: /u01/app/oracle/oradata/PROD/tp01.dbf (5) Block: 20877 Offsets: 8148 to 8163 Dba:0x0140518d ------------------------------------------------------- 2c010202 c102096f 7261636c 65646261 l ,...á..oracledba
登入後複製
9、开始恢复
10、恢复成功(oracledba--->guoyJoe)
gyj@PROD> alter system flush buffer_cache; System altered. gyj@PROD> select name,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,dbms_rowid.rowid_row_number(rowid) row# from guoyJoe_t1 where id=1; NAME FILE# BLOCK# ROW# ---------- ---------- ---------- ---------- guoyJoe 5 20877 0 tom 5 20877 1
登入後複製
实际上用BBED恢复UPDATE前的值不难,主要是要了解内部原理和块格式
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Microsoft compatibility telemetry佔用高CPU的解決方法
