麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Oracle > 正文

oracle誤刪數據恢復方法小結

2024-08-29 13:58:43
字體:
來源:轉載
供稿:網友
最近幫客戶維護一個數據庫,數據庫中的數據被他誤刪了,下面就為大家分享下我是通過什么方法來實現的
 

如果用戶誤刪/更新了數據后,作為用戶并沒有什么直接的方法來進行恢復,他們必須求助DBA來對數據庫進行恢復,到了Oracle9i,這一個難堪局面有所改善。Or(www.companysz.com)acle 9i中提供了一項新的技術手段--閃回查詢,用戶使用閃回查詢可以及時取得誤操作前的數據,并可以針對錯誤進行相應的恢復措施,而這一切都無需DBA干預

因為一時手賤,生產上的數據被我給delete掉了。

用的是delete語句,然后很迅速的還給commit了

下面這兩個語句:

ALTER TABLE tablename ENABLE row movement ;
flashback table tablename to timestamp to_timestamp('2012-09-13 13:00:00','yyyy-mm-dd hh24:mi:ss');

記得大概是兩點半左右運行的delete---commit;

具體執行流程我們可從以下幾個示例圖中體會;

1.原表記錄

 $ sqlplus eygle/eygleSQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005Copyright (c) 1982, 2004, Oracle.  All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>select count(*) from t1;  COUNT(*)----------    9318

2.誤刪除所有記錄
并且提交更改。

SQL>delete from t1;9318 rows deleted.SQL>commit;Commit complete.SQL>select count(*) from t1;  COUNT(*)----------     0

3.獲得當前SCN
如果能夠確切知道刪除之前SCN最好,如果不知道,可以進行閃回查詢嘗試.

SQL>select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER------------------------         10671006SQL>select count(*) from t1 as of scn 10671000;  COUNT(*)----------     0SQL>select count(*) from t1 as of scn 10670000;  COUNT(*)----------    9318


我們看到在SCN=10670000時,數據都在。

4.恢復數據.

SQL>insert into t1 select * from t1 as of scn 10670000;9318 rows created.SQL>commit;Commit complete.SQL>select count(*) from t1;  COUNT(*)----------    9318

其它網友用的教程


進行數據庫操作,delete后面一定要加where”。今天無意中在網上看到了關于oracle誤刪除數據恢復的一條信息,發現的確很好使,下面就我的測試向大家匯報下。

 1. select * from t_viradsl2 t     //查詢t_viradsl2中所有的數據,可以看到三條數據 2. delete t_viradsl2           //刪除t_viradsl2中所有的數據,三條數據消失 3. select * from t_viradsl2 t     //無數據。 4. insert into t_viradsl2 select * from t_viradsl2 as of timestamp to_Date('2011-01-19 15:28:00', 'yyyy-mm-dd hh24:mi:ss')       //已將誤刪除數據插入表中 5. select * from t_viradsl2 t     //又會看到三條數據。

我們來分析下第四步,注意這句:

select * from t_viradsl2 as of timestamp to_Date('2011-01-19 15:28:00', 'yyyy-mm-dd hh24:mi:ss'),什么意思呢, 找到t_viradsl2在2011-01-19 15:28:00這個時間點的所有數據,既然找到了,你想怎么操作都可以了。

在此分享給大家



注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄视频网站免费在线观看 | 亚洲人成在线播放网站 | 黄色网址在线免费播放 | 一级黄色毛片a | 国产九色视频在线观看 | videos真实高潮xxxx | 欧洲精品色 | 成人在线免费视频观看 | 欧美毛片免费观看 | 国产一区二区三区视频在线 | 欧美成人小视频 | 国产日产精品一区四区介绍 | 亚洲免费网站 | 国产毛片网 | 国产宾馆3p国语对白 | 成人免费一区二区三区 | 亚洲亚色| 91短视频免费 | 欧美激情猛片xxxⅹ大3 | 亚洲字幕av | 黄色网址在线免费播放 | 精品一区二区三区毛片 | 欧美一区二区片 | 一日本道久久久精品国产 | 成人毛片网 | 香蕉成人在线视频 | 一级做受毛片免费大片 | 国产在线地址 | 全黄性色大片 | 91av日韩| 国产精品久久久久久久av | av在线一区二区三区 | 久久精品中文字幕一区二区 | 毛片在线不卡 | 91精品国产92久久久久 | 羞羞电影在线观看www | 久久久久国产成人精品亚洲午夜 | 中文字幕xxx | 亚洲精品午夜电影 | 麻豆视频网 | 日本一区免费看 |