第08章Oracle閃回_回收站管理ppt課件_第1頁
第08章Oracle閃回_回收站管理ppt課件_第2頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)庫操作與管理言語Oracle SQL 閃回目的閃回的根本概念閃回表閃回刪除閃回版本查詢閃回事務(wù)查詢閃回的根本概念閃回表錯誤的執(zhí)行了insert,update,delete且執(zhí)行了commit語句。閃回刪除錯誤的執(zhí)行了drop語句。主要是操作oracle的回收站recyclebin。閃回版本查詢獲取表上一切已提交過的事務(wù)歷史記錄。閃回事務(wù)查詢吊銷事務(wù)。其他閃回閃回數(shù)據(jù)庫。-要求數(shù)據(jù)庫為歸檔方式。默以為非歸檔方式。必需求停頓數(shù)據(jù)庫。閃回歸檔日志。閃回(Flashback)在Oracle的操作工程中,會不可防止地出現(xiàn)操作失誤或者用戶失誤,例如不小心刪除了一個表等,這些失誤和錯誤能夠會呵斥重要數(shù)據(jù)

2、的喪失,最終導致Oracle數(shù)據(jù)庫停頓在傳統(tǒng)意義上,當發(fā)生數(shù)據(jù)喪失、數(shù)據(jù)錯誤問題時,處理的主要方法是數(shù)據(jù)的導入導出、備份恢復(fù)技術(shù),這些方法都需求在發(fā)生錯誤前,有一個正確的備份才干進展恢復(fù)。為了減少這方面的損失,Oracle提供了閃回技術(shù)。有了閃回技術(shù),就可以實現(xiàn)數(shù)據(jù)的快速恢復(fù),而且不需求數(shù)據(jù)備份。閃回的益處恢復(fù)中,閃回技術(shù)是革命性的提高傳統(tǒng)的恢復(fù)技術(shù)緩慢:它是整個數(shù)據(jù)庫或者一個文件恢復(fù),不只恢復(fù)損壞的數(shù)據(jù)在數(shù)據(jù)庫日志中每個修正都必需被檢查閃回速度快:經(jīng)過行和事務(wù)把改動編入索引僅僅改動了的數(shù)據(jù)會被恢復(fù)閃回命令很容易:沒有復(fù)雜棘手的多步程序閃回的類型閃回表(flashback table)閃回刪除

3、(flashback drop)閃回版本查詢(flashback version query)閃回事務(wù)查詢(flashback transaction query)閃回表閃回表,實踐上是將表中的數(shù)據(jù)快速恢復(fù)到過去的一個是焦點或者系統(tǒng)改動號SCN(System Change Number)上。實現(xiàn)表的閃回,需求運用到與撤銷表空間相關(guān)的undo信息,經(jīng)過show parameter undo命令可以了解這些信息。SCN:系統(tǒng)改動號。 與時間構(gòu)成一一對應(yīng)的關(guān)系。經(jīng)過timestemp_to_scn(sysdate)獲取某一個時間的SCN號。閃回表是指將表中的數(shù)據(jù),恢復(fù)到之前的一個時間點上。用戶對表數(shù)

4、據(jù)的修正操作,都記錄在撤銷表空間中,這為表的閃回提供了數(shù)據(jù)恢復(fù)的根底。例如,某個修正操作在提交后被記錄在撤銷表空間中,保管時間為900秒,用戶可以在這900秒的時間內(nèi)對表進展閃回操作,從而將表中的數(shù)據(jù)恢復(fù)到修正之前的形狀。執(zhí)行表的閃回,需求有flashback any table的權(quán)限需求運用oracle EE 10g版本或以上的Oracle數(shù)據(jù)庫。閃回的時間參數(shù):默許情況下,在900秒以內(nèi)的數(shù)據(jù)可以無條件閃回可以經(jīng)過show parameters undo;查詢時間參數(shù)。只需管理員,才可以查看時間參數(shù)。修正閃回的時間參數(shù):可以經(jīng)過修正閃回的時間限制,修正時間限制。但性有能夠會因此下降。 修正

5、閃回的時間參數(shù)為20分鐘=20*60=1200秒alter system set undo_retention=1200 scope=both;scope是指作用的范圍,取值:memory(當前實例有效),spfile(修正配置文件,后面的實例有效) both(兩個同時有效) 查詢閃回時間 show parameters undo;給用戶授權(quán)閃回操作:默許情況下,scott沒有閃回的權(quán)限。Grant flashback any table to scott;留意:閃回表需求將表的行挪動功能翻開alter table enable row movement;閃回表語法:FLASHBACK TAB

6、LE schema. TO BEFORE DROP RENAME TO table SCN|TIMESTAMPexprENABLE|DISABLETRIGGERS schema:方式名,普通為用戶名。TO TIMESTAMP:系統(tǒng)郵戳,包含年、月、日、時、分、秒。TO SCN:系統(tǒng)更改號,ENABLE TRIGGERS:表示觸發(fā)器恢復(fù)以后為enable形狀,而默以為disable形狀。TO BEFORE DROP:表示恢復(fù)到刪除drop之前。RENAME TO table:表示改換表名。閃回表舉例:經(jīng)過timestamp閃回表flashback table flash_test to time

7、stamp to_date(2021-03-23 18:27:40,yyyy-mm-dd hh24:mi:ss);經(jīng)過SCN號閃回表即可以閃回刪除的數(shù)據(jù),也可以經(jīng)過閃回刪除插入的新的數(shù)據(jù)。即flashback table flash_test to scn 868741;必需求運用Oracle EE版本。以下是刪除表時用的閃回,即drop tableflashback table tab_test to before drop;例如:根據(jù)時間戳閃回: flashback table b to timestamp to_timestamp(2021-03-26 10:42:01,yyyy-mm-

8、dd hh24:mi:ss);根據(jù)SCN號閃回:Select timestamp_to_scn(sysdate) from dua; flashback table b to scn 998723;閃回表: 需求思索的事情FLASHBACK TABLE命令作為單一的事務(wù)執(zhí)行,會得到一個單一的DML鎖表的統(tǒng)計數(shù)據(jù)不會被閃回當前的索引和從屬的對象會被維持閃回表操作:系統(tǒng)表不能被閃回不能跨越DDL操作根據(jù)版本不同,有所變化,11g曾經(jīng)提升此功能。會被寫入警告日志產(chǎn)生撤銷和重做的數(shù)據(jù)閃回表: 需求思索的事情閃回表數(shù)據(jù)閃回刪除閃回刪除,實踐上從系統(tǒng)的回收站中將已刪除的對象,恢復(fù)到刪除之前的形狀。系統(tǒng)的回

9、收站只對普通用戶有作用。管理員只做管理。建議不運用管理員做普通操作。應(yīng)該創(chuàng)建一個新的用戶進展業(yè)務(wù)等的操作。閃回刪除:回收站recyclebin簡介回收站是一切被刪除對象及其相依對象的邏輯存儲容器,例如當一個表被刪除(drop)時,該表及其相依對象并不會馬上被數(shù)據(jù)庫徹底刪除,而是被保管到回收站中。Show recyclebin或是select * from recyclebin;user_recyclebin回收站將用戶執(zhí)行的drop操作記錄在一個系統(tǒng)表中,也就是將被刪除的對象寫到一個數(shù)據(jù)字典中。假設(shè)確定不再需求該對象,可以運用purge命令對回收站進展清空。SQL purge recycleb

10、in;被刪除的對象的名字能夠是一樣的,例如用戶創(chuàng)建了一個test表,運用drop命令刪除該表后,又創(chuàng)建了一個test表,這時,假設(shè)再次刪除該表就會導致向回收站中添加了兩個一樣的表。閃回刪除:回收站中對象的命名規(guī)那么為了確保添加到回收站中的對象的稱號都是獨一的,系統(tǒng)會對這些保管到回收站中的對象進展重命名,重命名的格式如下:BIN$globalUID$version其中: BIN表示RECYCLEBIN;globalUID是一個全局獨一的、24個字長的對象,該標識與原對象名沒有任何關(guān)系;version指數(shù)據(jù)庫分配的版本號。閃回刪除舉例:閃回運用drop命令刪除的表運用表名閃回運用recyclebi

11、n name閃回閃回b表flashback table b to before drop;閃回最近一個被刪除的表,假設(shè)存在同名flashback table c to before drop;運用雙引號,經(jīng)過recyclebin name閃回flashback table BIN$nf03/ZogReKWpCqRbYS2OA=$0 to before drop rename to cc;閃回重名的表To rename newTable;閃回 刪除: 需求思索的事情閃回刪除對以下表無效:在SYSTEM 表空間內(nèi)的表用精細審計的數(shù)據(jù)庫或 虛擬的私人數(shù)據(jù)庫屬于字典管理的表空間由于空間缺乏曾經(jīng)被手動或

12、自動刪除的表以下依賴不被維護:位圖索引表之前刪掉的索引閃回版本查詢閃回版本查詢,提供了一個審計行改動的查詢功能,經(jīng)過它可以查找到一切曾經(jīng)提交了的行記錄。其語法格式如下:select column_name,column_name,.from table_nameversions between SCN|TIMESTAMP expr|MINVALUE and epxr|MAXVALUE as of SCN|TIMESTAMP expr;其中:column_name列名;table_name表名;between.and時間段;SCN系統(tǒng)改動號;TIMESTAMP時間戳;AS OF表示恢復(fù)單個版本;

13、MAXVALUE最大值;MINVALUE最小值;expr指定一個值或者表達式。Versions between版本查詢 功能更加強大,經(jīng)過versions between可以查看指定時間段內(nèi)undo表空間中記錄的不同版本留意,只包括被提交的記錄。 版本查詢過程中提供了多個偽列如下:VERSIONS_STARTSCN,VERSIONS_STARTTIME該記錄操作時的scn或時間,假設(shè)為空,表示該行記錄是在查詢范圍外創(chuàng)建的VERSIONS_ENDSCN,VERSIONS_ENDTIME該記錄失效時的scn或時間,假設(shè)為空,闡明記錄當前時間在當前表內(nèi)存在,或者曾經(jīng)被刪除了,可以配合著VERSION

14、S_OPERATION列來看,假設(shè)VERSIONS_OPERATION列值為D,闡明該列已被刪除,假設(shè)該列為空,那么闡明記錄在這段時間無操作。VERSIONS_XID該操作的事務(wù)IDVERSIONS_OPERATION對該行執(zhí)行的操作:I表示insert,D表示delete,U表示update。提示:對于索引鍵的update操作,版本查詢能夠會將其識別成兩個操作:DELETE和INSERT。閃回版本查詢舉例創(chuàng)建一張新表:create table version_table(vid int, content varchar(20);執(zhí)行如下操作:insert into version_table

15、 values(1,aaa);commit;insert into version_table values(2,bbb);commit;update version_table set content=bbb1 where vid=2;commit;insert into version_table values(3,ccc);commit;執(zhí)行閃回版本查詢。查詢commit時間版本:select id,name,versions_starttime,versions_endtime,versions_startscn,versions_endscn,versions_operation,v

16、ersions_xidfrom studversions between timestamp minvalue and maxvalue;閃回版本查詢:查詢這個時間點前的數(shù)據(jù):As of 表示查詢單個版本。閃回事務(wù)查詢閃回事務(wù)查詢實踐上閃回版本查詢的一個擴展,經(jīng)過它可以審計某個事務(wù)甚至撤銷一個曾經(jīng)提交的事務(wù)。實現(xiàn)閃回事務(wù)查詢,需求先了解flashback_transaction_query視圖,從該視圖中可以獲取事務(wù)的歷史操作記錄以及撤銷語句(UNDO_SQL)。運用閃回事務(wù)查詢,可以了解某個表的歷史操作記錄,這個操作記錄對應(yīng)一個撤銷SQL語句,假設(shè)想要撤銷這個操作,就可以執(zhí)行這個SQL語句。

17、Flashback_transaction_query 稱號 類型 闡明 - XID RAW(8) 事務(wù)編號 START_SCN NUMBER 事務(wù)的開場的系統(tǒng)改動號 START_TIMESTAMP DATE 事務(wù)的開場時間 COMMIT_SCN NUMBER 事務(wù)提交時的系統(tǒng)改動號 COMMIT_TIMESTAMP DATE 事務(wù)提交時的時間 LOGON_USER VARCHAR2(30) 對應(yīng)的用戶 UNDO_CHANGE# NUMBER 撤銷操作對應(yīng)的編號 OPERATION VARCHAR2(32) 操作 TABLE_NAME VARCHAR2(256) 表 TABLE_OWNER VARCHAR2(32) 一切者 ROW_ID VARCHAR2(19) 行號 UNDO_SQL VARCHAR2(4000) 撤銷事務(wù)的SQL語句閃回事務(wù)查詢留意,要查詢flashback_transaction_query視圖的信息,需求有select any transaction的權(quán)限。閃回事務(wù)查詢舉例從閃回版本查詢中,獲取xid號?;趚id號,在flashback_transaction_query視圖中獲取相應(yīng)事務(wù)的信息。利用UNDO_SQL撤銷事務(wù)操作。用PLSQL塊閃回事務(wù)查詢:set serveroutput on;declare v_sql varchar(500)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論