亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        閃回技術(shù)在數(shù)據(jù)庫誤刪除中的應(yīng)用

        2014-04-19 14:29:10徐捷
        物聯(lián)網(wǎng)技術(shù) 2014年4期

        徐捷

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

        關(guān)鍵詞:備份與恢復(fù);閃回?cái)?shù)據(jù)庫;閃回表;閃回刪除

        中圖法分類號:TP309 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2014)04-0088-02

        0 引 言

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

        1 閃回技術(shù)的功能

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

        SQL>CREATE TABLE testta( id INT, name VARCHAR2(4));

        SQL>INSERT INTO testta VALUES(1,'aaaa');

        SQL>INSERT INTO testta VALUES(2,'bbbb');

        SQL>INSERT INTO testta VALUES(3,'cccc');

        SQL>COMMIT;

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

        SQL>SET TIME ON

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

        14:11:29 SQL>DELETE testta;

        提交刪除事務(wù):

        14:12:30 SQL>COMMIT;

        14:12:34 SQL> SELECT * FROM testta;

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

        關(guān)閉數(shù)據(jù)庫,將數(shù)據(jù)庫設(shè)置到裝載(mount)狀態(tài)。

        14:14:47 SQL>SHUTDOWN IMMEDIATE

        14:15:04 SQL>STARTUP MOUNT

        利用閃回?cái)?shù)據(jù)庫的方法,將數(shù)據(jù)庫整體調(diào)整到刪除數(shù)據(jù)前的某一時(shí)間。

        14:16:10 SQL>FLASHBACK DATABASE TO TIMESTAMP TO_DATE(‘2013-12-23 14:11:27,yyyy-mm-dd hh24:mi:ss) ;

        使用RESETLOGS選項(xiàng),打開數(shù)據(jù)庫。

        14:17:07 SQL>ALTER DATABASE OPEN RESETLOGS;

        查詢testta表內(nèi)容。

        14:17:42 SQL>SELECT * FROM testta;

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

        ID NAME

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

        1 aaaa

        2 bbbb

        3 cccc

        結(jié)果顯示說明,testta表中被刪除的數(shù)據(jù)已經(jīng)恢復(fù)。

        2 閃回?cái)?shù)據(jù)庫的操作

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

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

        14:43:09 SQL> CREATE TABLE testtb( id INT, name VARCHAR2(4));

        14:43:20 SQL> INSERT INTO testtb VALUES(1,aaaa);

        14:43:20 SQL> INSERT INTO testtb VALUES(2,bbbb);

        14:43:20 SQL> INSERT INTO testtb VALUES(3,cccc);

        14:43:20 SQL> COMMIT;

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

        14:44:16 SQL>DELETE testtb;

        提交刪除事務(wù):

        14:44:26 SQL>COMMIT;

        14:44:28 SQL> SELECT * FROM testtb;

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

        閃回表的前提是啟動(dòng)被操作表的行移動(dòng)(ROW MOVEMENT)特性。先啟動(dòng)表testtb的行移動(dòng)特性:

        14:44:32 SQL> ALTER TABLE testtb ENABLE ROW MOVEMENT;

        利用閃回表的方法,將testtb表恢復(fù)到刪除數(shù)據(jù)前的某一時(shí)間。

        14:45:27 SQL> FLASHBACK TABLE testtb TO TIMESTAMP TO_TIMESTAMP(‘2013-12-23 14:44:00, ‘YYYY-MM-DD HH24:MI:SS);

        查詢testtb表內(nèi)容:

        14:45:28 SQL>SELECT * FROM testtb;

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

        ID NAME

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

        1 aaaa

        2 bbbb

        3 cccc

        結(jié)果顯示說明,testtb表中被刪除的數(shù)據(jù)已經(jīng)恢復(fù)。

        3 閃回表

        閃回表能夠恢復(fù)指定表中的記錄內(nèi)容,而不改變數(shù)據(jù)庫其他對象的內(nèi)容。但數(shù)據(jù)恢復(fù)中,閃回表必須啟用被操作表的行移動(dòng)特性,且只能進(jìn)行閃回表的DML操作,不能進(jìn)行閃回DDL操作。如果用戶刪除了(DROP)表,則不能采用閃回表的方法恢復(fù),此時(shí)可以有采用上面介紹的閃回?cái)?shù)據(jù)庫的方法恢復(fù)整個(gè)數(shù)據(jù)庫,也可以采用以下閃回刪除(Flashback Drop)的方法,其操作如下:

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

        16:10:43 SQL> CREATE TABLE testtc( id INT, name VARCHAR2(4));

        16:10:44 SQL> INSERT INTO testtc VALUES(1,aaaa);

        16:10:44 SQL> INSERT INTO testtc VALUES(2,bbbb);

        16:10:44 SQL> INSERT INTO testtc VALUES(3,cccc);

        16:10:46 SQL>COMMIT;

        刪除testtb表:

        16:11:55 SQL> DROP TABLE testtc;

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

        16:12:34 SQL> FLASHBACK TABLE testtc TO BEFORE DROP;

        查詢testtc表內(nèi)容:

        16:13:19 SQL> SELECT * FROM testtc;

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

        ID NAME

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

        1 aaaa

        2 bbbb

        3 cccc

        結(jié)果顯示說明,被刪除testtc表已從回收站中恢復(fù)。

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

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

        4 結(jié) 語

        最后,我們需要再說明以下幾點(diǎn):一是閃回技術(shù)具有強(qiáng)大且簡便的數(shù)據(jù)庫恢復(fù)功能,是否就不需要再做數(shù)據(jù)庫備份和不完全恢復(fù)了呢?答案是否定的,因?yàn)楫?dāng)出現(xiàn)介質(zhì)損壞時(shí),任何閃回方法都是毫無用處,此時(shí),只能執(zhí)行標(biāo)準(zhǔn)的備份、還原與恢復(fù)過程;二是要實(shí)現(xiàn)各種閃回功能,必須要先對數(shù)據(jù)庫進(jìn)行相應(yīng)設(shè)置,如啟動(dòng)閃回?cái)?shù)據(jù)庫、啟動(dòng)數(shù)據(jù)庫的“回收站”、啟動(dòng)表的行移動(dòng)等;三是除了以上介紹的3種閃回技術(shù)外,還要有閃回版本查詢(Flashback Version Query)、閃回事務(wù)查詢(Flashback Transaction Query)、閃回查詢(Flashback Query)和閃回?cái)?shù)據(jù)歸檔(Flashback Data Archive)等閃回方法。

        參 考 文 獻(xiàn)

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

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

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

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

        [5]夏月平.關(guān)于Oracle閃回技術(shù)的應(yīng)用研究分析[J]. 科學(xué)與財(cái)富,2011(11):314-316.

        日韩人妻无码一区二区三区久久99 | 国产aⅴ天堂亚洲国产av| 在线视频亚洲一区二区三区| 一本久道竹内纱里奈中文字幕| 欧美熟妇性xxx交潮喷| 秋霞午夜无码鲁丝片午夜精品 | 无码人妻丰满熟妇啪啪网不卡| 久久精品人人爽人人爽| 亚洲地区一区二区三区| 亚洲一区域二区域三区域四| 2019nv天堂香蕉在线观看| 成人白浆超碰人人人人| 妞干网中文字幕| 久久精品国产精品亚洲艾| 久久精品国产亚洲av久| 日韩精品一区二区亚洲av| 国产精品久久无码免费看 | 中文亚洲成a人片在线观看| 蜜桃视频一区二区三区四| 免费网站看av片| 亚洲成人电影在线观看精品国产 | 亚洲中文字幕免费精品| 深夜爽爽动态图无遮无挡 | 男女性杂交内射女bbwxz| 欧美日韩精品一区二区在线观看| 69国产成人综合久久精| 高清不卡av一区二区| 国产福利视频在线观看| 国内精品久久久久影院优| 亚洲码无人客一区二区三区| 深夜放纵内射少妇| 最近中文字幕在线mv视频在线 | 国成成人av一区二区三区| 在线观看av片永久免费| 久久精品成人欧美大片| 亚洲一区二区国产精品视频| 免费亚洲一区二区三区av| 在线亚洲午夜理论av大片| 国产v精品成人免费视频400条| 亚洲中文字幕精品久久吃奶| 国产成人精品无码一区二区老年人|