版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第16章 Oracle Database 11g閃回技術本章要點:了解閃回技術的意義。掌握閃回表的運用。了解閃回刪除的原理。掌握閃回刪除的運用。掌握閃回版本查詢的運用。掌握閃回事務查詢的運用。掌握閃回數(shù)據(jù)庫的運用。了解閃回數(shù)據(jù)歸檔與其他閃回技術的區(qū)別。掌握閃回數(shù)據(jù)歸檔區(qū)的創(chuàng)建與管理。掌握閃回數(shù)據(jù)歸檔的運用。216.1 閃回表(Flashback Table)閃回表技術用于恢復表中的數(shù)據(jù),可以在線進展閃回表操作。閃回表本質上是將表中的數(shù)據(jù)恢復到指定的時間點(TIMESTAMP)或系統(tǒng)改動號(SCN)上,并將自動恢復索引、觸發(fā)器和約束等屬性,同時數(shù)據(jù)庫堅持聯(lián)機,從而添加整體的可用性。閃回表需求用到
2、數(shù)據(jù)庫中的吊銷表空間,可以經過SHOW PARAMETER undo語句查看與吊銷表空間相關的信息。316.1 閃回表(Flashback Table)【例16.1】查看當前數(shù)據(jù)庫中與吊銷表空間相關的設置,如下:SQL SHOW PARAMETER undo ;NAME TYPE VALUE- -undo_management string AUTOundo_retention integer 1200undo_tablespace string UNDOTBS1416.1 閃回表(Flashback Table)進展閃回表操作需求運用FLASHBACK TABLE語句,其語法如下:FLASH
3、BACK TABLE schema. table TO SCN | TIMESTAMP expr ENABLE | DISABLE TRIGGERS ;語法闡明如下。schema:方式名。table_name:表名。SCN:系統(tǒng)改動號。相對時間點而言,系統(tǒng)改動號比較難以了解,用戶很難知道應該閃回到哪個SCN,而時間那么顯得明了得多。可以運用SCN_TO_TIMESTAMP函數(shù)將SCN轉變?yōu)閷臅r間。TIMESTAMP:時間戳,包括年月日時分秒??梢赃\用TIMESTAMP_TO_SCN函數(shù)將時間轉變?yōu)閷腟CN。Expr:指定一個值或表達式,用于表示時間點或SCN。ENABLE TRIGGE
4、RS:與表相關的觸發(fā)器恢復后,默以為啟用形狀。DISABLE TRIGGERS:與表相關的觸發(fā)器恢復后,默以為禁用形狀。默許情況下為此選項。516.1 閃回表(Flashback Table)【例16.2】下面舉例引見如何運用FLASHBACK TABLE語句執(zhí)行閃回表操作。(1)在system用戶下創(chuàng)建表mytest,如下:SQL CREATE TABLE mytest (id NUMBER) ;表已創(chuàng)建。(2)向mytest表中插入一條記錄,并運用COMMIT命令提交,如下:SQL INSERT INTO mytest VALUES (1) ;已創(chuàng)建 1 行。SQL COMMIT ;提交完
5、成。616.1 閃回表(Flashback Table)(3)查詢系統(tǒng)當前時間,用于閃回時運用,如下:SQL SELECT TO_CHAR(SYSDATE , YYYY-MM-DD HH24:MI:SS) FROM dual ;TO_CHAR(SYSDATE,YY-2021-10-06 10:44:47(4)再次向mytest表中添加一條記錄,并運用COMMIT命令提交,如下:SQL INSERT INTO mytest VALUES (2) ;已創(chuàng)建 1 行。SQL COMMIT ;提交完成。(5)啟用mytest表的行挪動功能,如下:SQL ALTER TABLE mytest ENABL
6、E ROW MOVEMENT ;表已更改。716.1 閃回表(Flashback Table)(6)運用FLASHBACK TABLE命令,將mytest表中的數(shù)據(jù)閃回到第3步查詢出來的時間點上,如下:SQL FLASHBACK TABLE mytest TO TIMESTAMP 2 TO_TIMESTAMP(2021-10-06 10:44:47 , YYYY-MM-DD HH24:MI:SS) ;閃回完成。(7)查詢mytest表中的數(shù)據(jù),察看其數(shù)據(jù)能否閃回到了時間點2021-10-06 10:44:47上,如下:SQL SELECT * FROM mytest ; ID- 1816.2
7、閃回刪除(Flashback Drop)閃回刪除技術用于恢復曾經被用戶刪除(Drop)的數(shù)據(jù)庫對象,這需求運用到Oracle數(shù)據(jù)庫系統(tǒng)中的回收站機制。916.2.1 回收站(RecycleBin)1禁用與啟用回收站Oracle系統(tǒng)中的回收站在默許情況下是啟用形狀的,可以經過設置初始化參數(shù)recyclebin的值來修正回收站的形狀,這需求運用ALTER SESSION語句,其語法方式如下:ALTER SESSION SET recyclebin = ON | OFF ;假設回收站處于禁用(OFF)形狀,那么被刪除的數(shù)據(jù)庫對象無法保管到回收站中,只能是被徹底刪除。1016.2.1 回收站(Recy
8、cleBin)2查看回收站中的信息查看回收站中的信息時,普通用戶可以運用SHOW RECYCLEBIN命令,也可以運用user_recyclebin數(shù)據(jù)字典,而數(shù)據(jù)庫管理員那么可以運用dba_recyclebin數(shù)據(jù)字典。下面運用DESC命令了解user_recyclebin數(shù)據(jù)字典的構造,如下:參見教材P3521116.2.1 回收站(RecycleBin)3去除回收站中的對象去除回收站中的對象需求運用PURGE命令,其語法方式如下:PURGE TABLESPACE tablespace_name USER user_name | TABLE table_name | INDEX index
9、_name | RECYCLEBIN | DBA_RECYCLEBIN ;1216.2.2 運用閃回刪除閃回刪除的語法方式如下:FLASHBACK TABLE table_name TO BEFORE DROP RENAME TO new_table_name ;其中,table_name可以運用表的原名,也可以運用表在回收站中的稱號。假設表的原名一樣,那么在運用原名進展閃回刪除操作時,默許復原最近一次刪除的表。表被復原后,默許情況下運用其原名,而假設該稱號曾經存在,那么需求在復原該表時對其重命名,這時需求運用RENAME TO子句。1316.2.2 運用閃回刪除【例16.5】在scott用戶
10、下創(chuàng)建表mytest2并刪除該表后,查詢該表在回收站中的信息,如下:參見教材P354再運用FLASHBACK語句復原該表,并對其重命名,如下:SQL FLASHBACK TABLE BIN$4VMKTgAvRVG84DxR7n+cFg=$0 2 TO BEFORE DROP 3 RENAME TO mytest2_new ;閃回完成。運用SELECT語句查詢mytest2_new表,檢查能否勝利復原,如下:SQL SELECT * FROM mytest2_new ; ID- 11416.3 閃回版本查詢(Flashback Version Query)閃回版本查詢技術用于查詢某段時間內對表的
11、操作記錄,主要針對INSERT、UPDATE和DELETE操作。閃回版本查詢的語法方式如下:SELECT column_name , . FROM table_nameVERSIONS BETWEEN SCN | TIMESTAMP expr | MINVALUE AND expr | MAXVALUE | AS OF SCN | TIMESTAMP expr ;1516.3 閃回版本查詢(Flashback Version Query)【例16.6】在scott用戶下創(chuàng)建表myversion,并對該表進展一系列增刪改操作,如下:參見教材P355上述操作在每次DML操作后都運用COMMIT命令
12、進展提交。接下來運用閃回版本查詢獲取myversion表上的一切操作記錄。如下:參見教材P356在上述查詢中運用了Flashback Version Query的部分偽列,其中,versions_operation表示對該行執(zhí)行的操作,其值可為I、U和D,分別對應INSERT、UPDATE和DELETE;versions_starttime表示對該行進展改動時的起始時間戳(versions_startscn表示起始SCN);versions_endtime表示此次改動不再有效時的終了時間戳(versions_endscn表示終了SCN)。1616.4 閃回事務查詢(Flashback Tran
13、saction Query)閃回事務查詢是對閃回版本查詢的擴展,經過它可以審計事務甚至吊銷一個已提交的事務。在運用閃回版本查詢時,閃回操作針對的是表,而運用閃回事務查詢那么針對flashback_transaction_query視圖,該視圖的構造如下:參見教材P3561716.4 閃回事務查詢(Flashback Transaction Query)【例16.7】上一節(jié)引見了閃回版本查詢的運用,經過閃回版本查詢可以了解表的操作記錄,這些操作記錄都是已提交的事務。假設需求吊銷某個事務,可以運用如下步驟。(1)運用閃回版本查詢獲取事務ID,這需求用到Flashback Version Query
14、的另外一個偽列versions_xid,例如獲取myversion表上的事務ID,如下:參見教材P357(2)運用閃回事務查詢需求用戶具有SELECT ANY TRANSACTION權限,下面運用system用戶為scott用戶授予該權限:參見教材P357(3)在scott用戶下運用閃回事務查詢獲取010018003F050000對應的事務信息,如下:參見教材P357查詢結果中的undo_sql字段很明確地給出了吊銷事務的語句,也就是說假設想要吊銷刪除“記錄3的事務,只需求執(zhí)行如下語句即可:insert into SCOTT.MYVERSION(ID,TEXT) values (3,記錄3);
15、1816.5 閃回數(shù)據(jù)庫(Flashback Database)閃回數(shù)據(jù)庫,實踐上就是將數(shù)據(jù)庫回退到過去的一個時間點或SCN上,從而實現(xiàn)整個數(shù)據(jù)庫的恢復,這種恢復不需求經過備份,所以運用起來更方便、更快速。1916.5.1 閃回數(shù)據(jù)庫設置閃回數(shù)據(jù)庫是依賴于閃回日志的,Oracle系統(tǒng)提供了一組閃回日志,記錄了數(shù)據(jù)庫的前滾操作。首先需求了解如下幾個參數(shù)。db_recovery_file_dest:閃回日志的存放位置。db_recovery_file_dest_size:存放閃回日志的空間(即恢復區(qū))的大小。db_flashback_retention_target:閃回數(shù)據(jù)的保管時間,其單位為分
16、,默許值為1440,即一天。2016.5.1 閃回數(shù)據(jù)庫設置啟用閃回數(shù)據(jù)庫功能需求運用如下語法方式:ALTER DATABSE FLASHBACK ON | OFF ;啟用閃回數(shù)據(jù)庫功能的步驟如下。(1)確定當前數(shù)據(jù)庫的日志方式能否為歸檔方式 (2)設置閃回數(shù)據(jù)庫功能為啟用形狀 (3)檢查閃回數(shù)據(jù)庫功能能否曾經啟用,如下:SQL SELECT flashback_on FROM v$database ;FLASHBACK_ON-YES從查詢結果可以看出,閃回數(shù)據(jù)庫功能曾經勝利啟用。2116.5.2 運用閃回數(shù)據(jù)庫啟用閃回數(shù)據(jù)庫功能后,就可以對數(shù)據(jù)庫進展閃回操作了。運用閃回數(shù)據(jù)庫,需求用戶具有S
17、YSDBA權限。閃回數(shù)據(jù)庫的語法方式如下:FLASHBACK STANDBY DATABASE database_name TO BEFORE SCN | TIMESTAMP expr ;語法闡明如下。STANDBY:表示恢復一個備用數(shù)據(jù)庫,假設沒有相應的備用數(shù)據(jù)庫,那么系統(tǒng)前往一個錯誤。假設不指定該選項,那么所恢復的數(shù)據(jù)庫可以是主數(shù)據(jù)庫,也可以是備用數(shù)據(jù)庫。database_name:數(shù)據(jù)庫稱號。默以為當前數(shù)據(jù)庫。SCN:指定一個SCN。TIMESTAMP:指定一個時間戳。Expr:指定一個值或表達式。BEFORE:恢復到指定SCN或時間戳之前。2216.5.2 運用閃回數(shù)據(jù)庫【例16.8】
18、Oracle數(shù)據(jù)庫閃回的例如如下。(1)在scott用戶下創(chuàng)建兩個表student1與student2,并向這兩個表添加數(shù)據(jù)(留意運用COMMIT命令進展提交)。 (2)獲取系統(tǒng)當前的時間,供閃回數(shù)據(jù)庫時運用。 (3)刪除student1表,并修正student2表中的數(shù)據(jù)。 (4)下面運用sys用戶閃回當前數(shù)據(jù)庫:參見教材P361(5)運用scott用戶銜接數(shù)據(jù)庫,查詢student1表和student2表。 從查詢結果可以看出,scott用戶下存在student1表,并且student2表中記錄的sname值依然為TRACY,這就闡明當前數(shù)據(jù)庫中的數(shù)據(jù)曾經恢復到了指定的時間點。2316.6
19、 閃回數(shù)據(jù)歸檔(Flashback Data Archive)閃回數(shù)據(jù)歸檔的實現(xiàn)機制與前面幾種閃回不同,它將改動的數(shù)據(jù)另外存儲到特定的閃回數(shù)據(jù)歸檔區(qū)中,從而讓閃回不再受吊銷數(shù)據(jù)的限制,大大提高了數(shù)據(jù)的保管時間,閃回數(shù)據(jù)歸檔中的數(shù)據(jù)行可以保管幾年甚至幾十年。閃回數(shù)據(jù)歸檔并不針對一切的數(shù)據(jù)改動,它只記錄UPDATE和DELETE語句,而不記錄INSERT語句。2416.6.1 創(chuàng)建與管理閃回數(shù)據(jù)歸檔區(qū)1創(chuàng)建閃回數(shù)據(jù)歸檔區(qū)創(chuàng)建閃回數(shù)據(jù)歸檔區(qū)的語法方式如下:CREATE FLASHBACK ARCHIVE DEFAULT archive_nameTABLESPACE tablespace_name Q
20、UOTA size K | M RETENTION retention_time ;2管理閃回數(shù)據(jù)歸檔區(qū)對已創(chuàng)建的閃回數(shù)據(jù)歸檔區(qū),可以進展如下方式的管理添加表空間、刪除表空間、修正數(shù)據(jù)保管期限、修正磁盤限額大小、去除閃回數(shù)據(jù)歸檔區(qū)中的數(shù)據(jù)和刪除閃回數(shù)據(jù)歸檔區(qū)。2516.6.2 為表指定閃回數(shù)據(jù)歸檔區(qū)1在創(chuàng)建表時為表指定閃回數(shù)據(jù)歸檔區(qū)在創(chuàng)建表時為表指定閃回數(shù)據(jù)歸檔區(qū),需求運用FLASHBACK ARCHIVE子句?!纠?6.17】在system用戶下創(chuàng)建表table01,并為其指定閃回數(shù)據(jù)歸檔區(qū)為archive01。詳細如下:SQL CONNECT system/admin已銜接。SQL CREATE TABLE table01 (id NUMBER , text VARCHAR2(10) 2 FLASHBACK ARCHIVE archive01 ;表已創(chuàng)建。2616.6.2 為表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《針灸按摩基礎》課件
- 2020-2021學年遼寧省鐵嶺市六校高一下學期期末聯(lián)考地理試題
- 小學一年級口算題:20以內的加減混合
- 小學一年級20以內加減法試題口算速算練習題
- 2020年石油知識競賽試題215題及答案
- 三年級上冊25 灰雀
- 《紅樹灣營銷報告》課件
- 《騰訊內外環(huán)境分析》課件
- 人的生殖和發(fā)育北師大版-課件
- 《焦點課題模板PU生產模式改善和環(huán)境治理》課件
- [通知╱申請]陜西省衛(wèi)生專業(yè)技術人員到農村基層支醫(yī)工作鑒定表
- 外貿中常見付款方式的英文表達及簡要說明
- 臺式電腦采購評分標準
- 初次申領《南京市建筑業(yè)企業(yè)信用管理手冊(電子版)》辦事
- 某冶金機械修造廠總降壓變電所及配電系統(tǒng)設計
- 中國移動呼叫中心運營管理指標體系
- 泰安市生育保險待遇申報表
- 5WHY分析報告模板-改進版
- 移動式虹吸管防汛搶險設備(移動式虹吸搶險泵)
- 魯教版選修《將軍族》原文閱讀
- FAF、PAF型電站動葉可調軸流式送風機、一次風機安裝和使用維護說明書B本(1)
評論
0/150
提交評論