1. 程式人生 > >利用閃回功能恢復刪除(drop,delete)的資料和表及資料,update之後資料恢復

利用閃回功能恢復刪除(drop,delete)的資料和表及資料,update之後資料恢復

一、drop表
從 flashback table 裡查詢被刪除的資料表
1、select * from recyclebin order by droptime desc
2、執行表的恢復

flashback table '需要恢復的表名' to before drop

二、delete表中資料
1、先從 flashback_transaction_query 視圖裡查詢,檢視提供了供查詢用的表名稱、事務提交時間、undo_sql等欄位。
select * from flashback_transaction_query where table_name='需要恢復資料的表名(大寫)';
2、查詢刪除的時間點
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') time,
       to_char(dbms_flashback.get_system_change_number) scn
  from dual;
3、記得刪除點,你也可以這樣試試查詢,找出刪除前的時間點
select * from '需要恢復資料的表名' as of timestamp to_timestamp('時間點', 'yyyy-mm-dd hh24:mi:ss');
4、進行資料恢復
   通過第二步找到資料丟失的時間點,恢復極為簡單,語句為
flashback table '需要恢復資料的表名' to timestamp to_timestamp('資料丟失的前一時間點','yyyy-mm-dd hh24:mi:ss');
5、注意:在執行上述操作的時候,需要允許 oracle 修改分配給行的 rowid,這時候 oracle 需要給恢復的資料分配新的實體地址。
開啟行移動:alter table table_name enable row movement;
6、其實找到資料丟失前的時間點後,恢復資料也可以將需要恢復的資料直接插入到目標表中
insert into '資料丟失的表' select * from t of timestamp to_timestamp('時間點', 'yyyy-mm-dd hh24:mi:ss') where .......;
恢復結束後也可以關閉行移動:

alter table table_name disable row movement;

三、update後恢復
1、在v$sqlarea 這視圖裡面找到你操作那條SQL的時間;
select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc;
2、把資料恢復到一個新表
create table t_table_recove --新表
as
select * from t_table--你操作後要恢復的那張表 
as of timestamp to_timestamp('2010-06-02 11:36:53','yyyy-mm-dd hh24:mi:ss');
3、檢視t_table_recove 的資料是否是update前的資料
如果是則匯入原表,資料恢復成功

相關推薦

利用功能恢復刪除dropdelete資料資料update之後資料恢復

一、drop表 從 flashback table 裡查詢被刪除的資料表 1、select * from recyclebin order by droptime desc 2、執行表的恢復flashback table '需要恢復的表名' to before drop

SQL Server資料庫的儲存過程中定義的臨時真的有必要顯式刪除drop table #tableName嗎?

問題背景 在寫SQL Server儲存過程中,如果儲存過程中定義了臨時表,有些人習慣在儲存過程結束的時候一個一個顯式地刪除過程中定義的臨時表(drop table #tName),有些人又沒有這個習慣,對於不明真相的群眾或者喜歡思考的人會問,儲存過程中定義的臨時表,最後要不要主動刪除,為什麼

mysql----快速刪除資料drop,truncate.delete

概念:三者均可刪除資料表 TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。DELETE 語句每次刪除一行,並在事務日誌

mysql----快速刪除資料drop,truncate,delete

概念: 三者均可刪除資料表 TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。 DELETE 語句每次刪除一行,並在事務

oracle資料功能恢復刪除資訊

1  ORACLE用PL/SQL提交資料後執行回滾的方法  1、如果資料庫表,不支援閃回功能   alter table A enable row movement;  2、查詢刪除資料的時間點的資料(也就是閃回至該時間點之前的資料)    select * from A

oracle利用flashback 功能恢復delete資料

select * from tablename  as of timestamp to_timestamp('2010-06-12 13:00:00','yyyy-mm-dd hh24:mi:ss'); flashba

使用功能快速恢復用戶的誤操作

查看表 問題 使用 策略 mail 關註 because 基於 實驗 Oracle提供的閃回特性對於快速恢復誤操作的數據起到了非常大的幫助。在沒有這個特性的Oracle早期版本,如果需要恢復因用戶錯誤導致的數據丟失,需要大量的時間和精力去做不完全恢復。 不過,這種用空間換

【oracle恢復】通過(flahback)找回刪除

oracle誤刪的表通過閃回(flash back)找回 場景: 資料庫版本:11.2.0.4單例項;系統版本:Oracle Linux6.4 子公司聯絡人反饋,某公司人員對庫進行了誤操作,導致有六張基礎表被誤刪除,看能否找回相關表,並把相關使用者名稱atist和表名資訊傳送過來。 解決

如何利用資料庫特性恢復failover 後的dataguard 環境?

11g dataguard standby 切成主庫,測試完成後恢復為原standby 環境 ####################### 概述: 11204 單機對單機實施dg,因局方要求需要(讀寫模式)開啟standby ;而這時原生產環境不能有任何影響動,依然對外服

【DG】利用資料庫flashback修復Failover後的DG環境

13.2.1 Flashing Back a Failed Primary Database into a Physical Standby Database The following steps assume that a failover has been performed to a

MySQL Flashback 功能詳解

轉換 下載 libstdc -s bin 二進制日誌 pos 發生 插入 閱讀目錄 1. 簡介 2. 閃回原理 3. flashback安裝 4. 使用簡介 5. Flashback工具使用註意點 回到頂部 1. 簡介 mysqlbinlog flashback(閃

2.0解析系列 | OceanBase 2.0 之 Flashback 功能

OB君:本文是 “ OceanBase 2.0 技術解析系列” 的第六篇文章。今天我們來聊聊資料的持續可用,說說2.0中大家都很關心的“Flashback”閃回功能。更多精彩歡迎關注OceanBase公眾號持續訂閱本系列內容! 前言 資料庫產品作為資訊

pandas刪除drop方法

刪除指定軸上的項 即刪除 Series 的元素或 DataFrame 的某一行(列)的意思,通過物件的 .drop(labels, axis=0) 方法: 刪除Series的一個元素: 1234567 In[11]: ser = Series([4.5,7.2,

oracle update並commit誤操作後利用方法 flashback可以還原上個時間點的資料

今天在生產環境更新一個選單的URL時,用update更新資料,但是忘記加上where限定條件,將所有選單的URL都更新為同一個。一時間感覺我惹大事了,慌忙找了個以前的備份表將整個表替換掉。可是備份表與真是表之間存在一些差異,結果就只能一個一個查詢並修改了。 事後才淡定下來,

MySQL資料庫的基本操作-建立create database、選擇use、檢視shows database刪除drop database

一、MySQL概述 MySQL是目前最流行的開源資料庫,是完全網路化的跨平臺關係型資料庫系統,尤其與PHP,被稱為黃金組合。 MySQL的特點: 1、功能強大。 2、支援跨平臺。 3、執行速度快。 4、支援面向物件。 5、安全性高。 6、成本低。 7、支援各種語言開發。 8、資料庫儲存容

資料庫中刪除語句DropDelete、Truncate的相同點不同點的比較舉例說明

資料庫中刪除語句Drop、Delete、Truncate的相同點和不同點的比較(舉例說明) 資料庫刪除語句的分別介紹: Delete:用於刪除表中的行(注:可以刪除某一行;也可以在不刪除表的情況下(即意味著表的結構、屬性、索引完整)刪除所有行)        

java——定義一個功能將ArrayList 集合中的重複元素刪除java集合七

定義一個功能將ArrayList 集合中的重複元素刪除 ArrayList 集合中是允許儲存重複元素的 import java.util.ArrayList; import java.util

開啟或關閉oracle資料庫的功能步驟

一、開啟閃回資料庫特性: 1、確保資料庫處於歸檔模式,如果為非歸檔模式,將資料庫轉換成歸檔模式SQL> archive log list;資料庫日誌模式            存檔模式自動存檔             啟用存檔終點            /cw

通過自動復機器人學Mybatis搭建核心架構

root -c 驅動 ear resource any 異常 cep driver imooc視頻學習筆記 ----> URL:http://www.imooc.com/learn/154 MessageDao.java package com.imooc.d

Node.js:創建應用+調函數阻塞/非阻塞

我們 異步化 沒有 就會 幾分鐘 能說 image console cti 一、創建應用   如果我們使用PHP來編寫後端的代碼時,需要Apache 或者 Nginx 的HTTP 服務器,並配上 mod_php5 模塊和php-cgi。從這個角度看,整個"接收 HTTP 請