国产黄色毛片-国产黄色毛片视频-国产黄色片91-国产黄色片一级-一级坐爱片-一级免费

計算機網絡論文閃回技術在數據庫誤刪除中的應用

所屬欄目:計算機網絡論文 發(fā)布日期:2014-05-06 09:43 熱度:

  傳統(tǒng)上,誤刪除了Oracle數據庫中的重要表或表中的記錄,提交(COMMIT)成功后,再想恢復被誤刪除的表格或表格中的數據,那只能采用數據庫備份和恢復技術,其步驟為:首先利用誤刪除前備份的全部數據文件和控制文件將數據庫還原到備份狀態(tài),再應用在線重做日志文件和歸檔日志文件,將數據庫恢復到誤刪除前的狀態(tài),即執(zhí)行數據庫的不完全恢復,這樣做不但需要數據庫全備份,且操作復雜,耗費時間較長,在恢復期間數據庫還必需關閉,不能使用。從Oracle9i開始,利用新提供的閃回功能,被誤刪除的表或表中的數據恢復可以更加方便、快捷。Oracle閃回功能在10g、11g又分別得到了加強。

  摘要:當數據庫發(fā)生誤刪除等邏輯錯誤時,傳統(tǒng)上只能通過執(zhí)行不完全恢復來恢復數據,本文介紹了通過3種閃回技術,提高效率恢復數據庫邏輯錯誤的方法,并對3種閃回技術進行了分析比較。

  關鍵詞:計算機網絡論文,備份與恢復,閃回數據庫,閃回表,閃回刪除

  1閃回技術的功能

  為了演示閃回功能,先在sql*plus中執(zhí)行以下語句,創(chuàng)建測試表testta,表中插入3條新記錄后,提交插入事務。

  SQL>CREATETABLEtestta(idINT,nameVARCHAR2(4));

  SQL>INSERTINTOtesttaVALUES(1,'aaaa');

  SQL>INSERTINTOtesttaVALUES(2,'bbbb');

  SQL>INSERTINTOtesttaVALUES(3,'cccc');

  SQL>COMMIT;

  再執(zhí)行以下語句,設置顯示當前時間:

  SQL>SETTIMEON

  刪除testta表中全部3條記錄:

  14:11:29SQL>DELETEtestta;

  提交刪除事務:

  14:12:30SQL>COMMIT;

  14:12:34SQL>SELECT*FROMtestta;

  表testta中已沒有記錄。由于刪除事務已提交成功,如想恢復被刪除的記錄,傳統(tǒng)的方法只能是執(zhí)行數據庫的不完全恢復。現(xiàn)在采用閃回數據庫(FlashbackDatabase)的方法恢復刪除數據,操作如下。

  關閉數據庫,將數據庫設置到裝載(mount)狀態(tài)。

  14:14:47SQL>SHUTDOWNIMMEDIATE

  14:15:04SQL>STARTUPMOUNT

  利用閃回數據庫的方法,將數據庫整體調整到刪除數據前的某一時間。

  14:16:10SQL>FLASHBACKDATABASETOTIMESTAMPTO_DATE(‘2013-12-2314:11:27’,’yyyy-mm-ddhh24:mi:ss’);

  使用RESETLOGS選項,打開數據庫。

  14:17:07SQL>ALTERDATABASEOPENRESETLOGS;

  查詢testta表內容。

  14:17:42SQL>SELECT*FROMtestta;

  執(zhí)行后,部分顯示結果如下:

  IDNAME

  --------------

  1aaaa

  2bbbb

  3cccc

  結果顯示說明,testta表中被刪除的數據已經恢復。

  2閃回數據庫的操作

  閃回數據庫就像數據庫上的倒帶按鈕,可以把整個數據庫回退到過去的某個時點狀態(tài),其最終結果就像執(zhí)行了不完整恢復。因此,閃回數據庫不但能恢復像以上例子中被刪除表中的記錄,也能恢復被刪除的表、視圖等數據庫其他對象,還能恢復被刪除了的用戶等。但此種方法也有其局限性,一是恢復到過去某一時間點后,則數據庫的全部內容都被恢復到當時時間點狀態(tài),如果只是誤刪除了某個表中的記錄,而只想恢復該表的內容,則不宜采用閃回數據庫的方法;二是采用閃回數據庫的方法,必須要先關閉數據庫。為了克服閃回數據庫的缺陷,可采用以下閃回表(FlashbackTable)的方法,恢復被刪除的記錄,操作如下:

  創(chuàng)建測試表testtb,在表中插入3條新記錄后,提交插入事務:

  14:43:09SQL>CREATETABLEtesttb(idINT,nameVARCHAR2(4));

  14:43:20SQL>INSERTINTOtesttbVALUES(1,’aaaa’);

  14:43:20SQL>INSERTINTOtesttbVALUES(2,’bbbb’);

  14:43:20SQL>INSERTINTOtesttbVALUES(3,’cccc’);

  14:43:20SQL>COMMIT;

  刪除testtb表中全部3條記錄:

  14:44:16SQL>DELETEtesttb;

  提交刪除事務:

  14:44:26SQL>COMMIT;

  14:44:28SQL>SELECT*FROMtesttb;

  刪除事務已提交成功,testtb表中已沒有記錄。現(xiàn)采用閃回表的方法恢復刪除數據。

  閃回表的前提是啟動被操作表的行移動(ROWMOVEMENT)特性。先啟動表testtb的行移動特性:14:44:32SQL>ALTERTABLEtesttbENABLEROWMOVEMENT;

  利用閃回表的方法,將testtb表恢復到刪除數據前的某一時間。

  14:45:27SQL>FLASHBACKTABLEtesttbTOTIMESTAMPTO_TIMESTAMP(‘2013-12-2314:44:00’,‘YYYY-MM-DDHH24:MI:SS’);

  查詢testtb表內容:

  14:45:28SQL>SELECT*FROMtesttb;

  執(zhí)行后,部分顯示結果如下:

  IDNAME

  --------------

  1aaaa

  2bbbb

  3cccc

  結果顯示說明,testtb表中被刪除的數據已經恢復。

  3閃回表

  閃回表能夠恢復指定表中的記錄內容,而不改變數據庫其他對象的內容。但數據恢復中,閃回表必須啟用被操作表的行移動特性,且只能進行閃回表的DML操作,不能進行閃回DDL操作。如果用戶刪除了(DROP)表,則不能采用閃回表的方法恢復,此時可以有采用上面介紹的閃回數據庫的方法恢復整個數據庫,也可以采用以下閃回刪除(FlashbackDrop)的方法,其操作如下:

  創(chuàng)建測試表testtc,表中插入3條新記錄后,提交插入事務:

  16:10:43SQL>CREATETABLEtesttc(idINT,nameVARCHAR2(4));

  16:10:44SQL>INSERTINTOtesttcVALUES(1,’aaaa’);

  16:10:44SQL>INSERTINTOtesttcVALUES(2,’bbbb’);

  16:10:44SQL>INSERTINTOtesttcVALUES(3,’cccc’);

  16:10:46SQL>COMMIT;

  刪除testtb表:

  16:11:55SQL>DROPTABLEtesttc;

  從回收站中閃回刪除的testtc表:

  16:12:34SQL>FLASHBACKTABLEtesttcTOBEFOREDROP;

  查詢testtc表內容:

  16:13:19SQL>SELECT*FROMtesttc;

  執(zhí)行后,部分顯示結果如下:

  IDNAME

  --------------

  1aaaa

  2bbbb

  3cccc

  結果顯示說明,被刪除testtc表已從回收站中恢復。

  Oracle在刪除一個表時,并不立即丟棄它,而是把它放在回收站中,并保留盡可能長的時間。閃回刪除能夠像Windows操作系統(tǒng)一樣,將回收站中被刪除的對象方便地恢復,但閃回刪除只能恢復表、索引等對象,對于用戶等對象,閃回刪除無能為力。

  通過以上驗證可能看出,采用閃回技術,可以針對行級和事務級發(fā)生過變化的數據進行恢復,縮短數據恢復的時間,且操作簡單,這樣做大大提高了數據庫恢復的效率。

  4結語

  最后,我們需要再說明以下幾點:一是閃回技術具有強大且簡便的數據庫恢復功能,是否就不需要再做數據庫備份和不完全恢復了呢?答案是否定的,因為當出現(xiàn)介質損壞時,任何閃回方法都是毫無用處,此時,只能執(zhí)行標準的備份、還原與恢復過程;二是要實現(xiàn)各種閃回功能,必須要先對數據庫進行相應設置,如啟動閃回數據庫、啟動數據庫的“回收站”、啟動表的行移動等;三是除了以上介紹的3種閃回技術外,還要有閃回版本查詢(FlashbackVersionQuery)、閃回事務查詢(FlashbackTransactionQuery)、閃回查詢(FlashbackQuery)和閃回數據歸檔(FlashbackDataArchive)等閃回方法。

  參考文獻

  [1]張曉明.OracleDBA突擊[M].北京:人民郵電出版社,2009.

  [2]王東明.Oracle11g管理備份恢復從入門到精通[M].北京:中國水利水電出版社,2008.

  [3]汪照東.Oracle11g數據庫管理與優(yōu)化寶典[M].北京:電子工業(yè)出版社,2008.

  [4]曾傳軍,傅秀芬,彭小玲,等.Oracle閃回技術在數據恢復中的應用[J].微型機與應用,2010(16):94-96,99.

  [5]夏月平.關于Oracle閃回技術的應用研究分析[J].科學與財富,2011(11):314-316.

文章標題:計算機網絡論文閃回技術在數據庫誤刪除中的應用

轉載請注明來自:http://www.optiwork.cn/fblw/dianxin/wangluo/20909.html

相關問題解答

SCI服務

搜論文知識網 冀ICP備15021333號-3

主站蜘蛛池模板: 美女张开腿让男人桶下面 | 亚洲高清国产一线久久 | 国产a毛片| 亚洲天堂男人天堂 | 国产日韩欧美一区 | 小明台湾成人永久免费看看 | 国产欧美日韩不卡在线播放在线 | 99精品福利 | 午夜在线精品不卡国产 | 国产精品无码久久综合网 | 国产高清精品自在久久 | 欧美叫床戏做爰无遮挡 | 欧美一级va在线视频免费播放 | 免费观看a黄一级视频 | 成人国产在线视频 | 九九综合九九综合 | 99国产精品高清一区二区二区 | 亚洲成人影院在线 | 欧美在线观看一区二区三区 | 欧美一级在线免费观看 | 一本大道香蕉大vr在线吗视频 | 波多野结衣在线观看免费区 | 国产乱色在线观看 | 做爰www免费看视频 1024色淫免费视频 | 亚洲欧美在线观看视频 | 日韩亚洲一区中文字幕在线 | 国内精品小视频福利网址 | 亚洲视频精选 | 日韩高清不卡在线 | 亚洲国产系列久久精品99人人 | 久久久99精品免费观看精品 | 亚洲视频手机在线 | 久久91亚洲精品中文字幕奶水 | 亚洲炮网| 色婷婷激婷婷深爱五月老司机 | 91精品久久久| 欧美一区二区三区免费看 | 91情侣在线偷精品国产 | 日韩黄色片在线观看 | 亚洲美女视频在线 | 毛色毛片 |