十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
對(duì)誤刪的表,只要沒有使用 purge 永久刪除選項(xiàng),那么基本上是能從 flashback table 區(qū)恢復(fù)回來的。

數(shù)據(jù)表和其中的數(shù)據(jù)都是可以恢復(fù)回來的,記得 flashback table 是從 Oralce 10g 提供的,一般步驟有:
a.從 flashback table 里查詢被刪除的數(shù)據(jù)表
select * from recyclebin order by droptime desc
b.執(zhí)行表的恢復(fù)
flashback table '需要恢復(fù)的表名' to before drop
回到頂部
對(duì)誤刪的表記錄,只要沒有 truncate 語句,就可以根據(jù)事務(wù)的提交時(shí)間進(jìn)行選擇恢復(fù)。
這功能也是 oracle 10g 以上提供的,一般步驟有:
a. 先從 flashback_transaction_query 視圖里查詢,視圖提供了供查詢用的表名稱、事務(wù)提交時(shí)間、undo_sql等字段。
select * from flashback_transaction_query where table_name='需要恢復(fù)數(shù)據(jù)的表名(大寫)';
b.查詢刪除的時(shí)間點(diǎn)
select to_char(sysdate, 'yyyy-mm-dd hh34:mi:ss') time, to_char(dbms_flashback.get_system_change_number) scn from dual;
或者你知道大概記得刪除點(diǎn),你也可以這樣試試查詢,找出刪除前的時(shí)間點(diǎn)
select * from '需要恢復(fù)數(shù)據(jù)的表名' as of timestamp to_timestamp('時(shí)間點(diǎn)', 'yyyy-mm-dd hh34:mi:ss');c.進(jìn)行數(shù)據(jù)恢復(fù)
通過第二步找到數(shù)據(jù)丟失的時(shí)間點(diǎn),恢復(fù)極為簡(jiǎn)單,語句為
flashback table '需要恢復(fù)數(shù)據(jù)的表名' to timestamp to_timestamp('數(shù)據(jù)丟失的前一時(shí)間點(diǎn)','yyyy-mm-dd hh34:mi:ss');注意:在執(zhí)行上述操作的時(shí)候,需要允許 oracle 修改分配給行的 rowid,這時(shí)候 oracle 需要給恢復(fù)的數(shù)據(jù)分配新的物理地址。
alter table table_name enable row movement;
其實(shí)找到數(shù)據(jù)丟失前的時(shí)間點(diǎn)后,恢復(fù)數(shù)據(jù)也可以將需要恢復(fù)的數(shù)據(jù)直接插入到目標(biāo)表中
insert into '數(shù)據(jù)丟失的表' select * from t of timestamp to_timestamp('時(shí)間點(diǎn)', 'yyyy-mm-dd hh34:mi:ss') where .......;另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。