oracle基礎(chǔ)-第四天les閃回_第1頁(yè)
oracle基礎(chǔ)-第四天les閃回_第2頁(yè)
oracle基礎(chǔ)-第四天les閃回_第3頁(yè)
oracle基礎(chǔ)-第四天les閃回_第4頁(yè)
oracle基礎(chǔ)-第四天les閃回_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

北京傳智播客教育閃回北京傳智播客教育通過(guò)本章學(xué)習(xí),您將可以:閃回的基本概念閃回表閃回刪除閃回版本查詢閃回事務(wù)查詢目標(biāo)閃回(Flashback)在Oracle的操作工程中,會(huì)不可避免地出現(xiàn)操作失誤或者用戶失誤,例如不小心刪除了一個(gè)表等,這些失誤和錯(cuò)誤可能會(huì)造成重要數(shù)據(jù)的丟失,最終導(dǎo)致Oracle數(shù)據(jù)庫(kù)停止。在傳統(tǒng)意義上,當(dāng)發(fā)生數(shù)據(jù)丟失、數(shù)據(jù)錯(cuò)誤問(wèn)題時(shí),解決的主要辦法是數(shù)據(jù)的導(dǎo)入導(dǎo)出、備份恢復(fù)技術(shù),這些方法都需要在發(fā)生錯(cuò)誤前,有一個(gè)正確的備份才能進(jìn)行恢復(fù)。為了減少這方面的損失,Oracle提供了閃回技術(shù)。有了閃回技術(shù),就可以實(shí)現(xiàn)數(shù)據(jù)的快速恢復(fù),而且不需要數(shù)據(jù)備份。北京傳智播客教育閃回的益處恢復(fù)中,閃回技術(shù)是革命性的進(jìn)步傳統(tǒng)的恢復(fù)技術(shù)緩慢:它是整個(gè)數(shù)據(jù)庫(kù)或者一個(gè)文件恢復(fù),不只恢復(fù)損壞的數(shù)據(jù)在數(shù)據(jù)庫(kù)日志中每個(gè)修改都必須被檢查閃回速度快:通過(guò)行和事務(wù)把改變編入索引僅僅改變了的數(shù)據(jù)會(huì)被恢復(fù)閃回命令很容易:沒(méi)有復(fù)雜棘手的多步程序北京傳智播客教育閃回的類(lèi)型閃回表(flashbacktable)閃回刪除(flashbackdrop)閃回版本查詢(flashbackversionquery)閃回事務(wù)查詢(flashbacktransactionquery)北京傳智播客教育閃回表閃回表,實(shí)際上是將表中的數(shù)據(jù)快速恢復(fù)到過(guò)去的一個(gè)是焦點(diǎn)或者系統(tǒng)改變號(hào)SCN上。實(shí)現(xiàn)表的閃回,需要使用到與撤銷(xiāo)表空間相關(guān)的undo信息,通過(guò)showparameterundo命令可以了解這些信息。用戶對(duì)表數(shù)據(jù)的修改操作,都記錄在撤銷(xiāo)表空間中,這為表的閃回提供了數(shù)據(jù)恢復(fù)的基礎(chǔ)。例如,某個(gè)修改操作在提交后被記錄在撤銷(xiāo)表空間中,保留時(shí)間為900秒,用戶可以在這900秒的時(shí)間內(nèi)對(duì)表進(jìn)行閃回操作,從而將表中的數(shù)據(jù)恢復(fù)到修改之前的狀態(tài)。執(zhí)行表的閃回,需要有flashbackanytable的權(quán)限北京傳智播客教育閃回表語(yǔ)法:FLASHBACKTABLE[schema.]<table_name>TO

{[BEFOREDROP[RENAMETOtable]][SCN|TIMESTAMP]expr[ENABLE|DISABLE]TRIGGERS}schema:模式名,一般為用戶名。TOTIMESTAMP:系統(tǒng)郵戳,包含年、月、日、時(shí)、分、秒。TOSCN:系統(tǒng)更改號(hào),ENABLETRIGGERS:表示觸發(fā)器恢復(fù)以后為enable狀態(tài),而默認(rèn)為disable狀態(tài)。TOBEFOREDROP:表示恢復(fù)到刪除之前。RENAMETOtable:表示更換表名。北京傳智播客教育閃回表注意:閃回表需要將表的行移動(dòng)功能打開(kāi)altertable<table_name>enablerowmovement;北京傳智播客教育閃回表舉例:通過(guò)timestamp閃回表通過(guò)SCN號(hào)閃回表北京傳智播客教育閃回表:需要考慮的事情FLASHBACKTABLE命令作為單一的事務(wù)執(zhí)行,會(huì)得到一個(gè)單一的DML鎖表的統(tǒng)計(jì)數(shù)據(jù)不會(huì)被閃回當(dāng)前的索引和從屬的對(duì)象會(huì)被維持閃回表操作:系統(tǒng)表不能被閃回不能跨越DDL操作會(huì)被寫(xiě)入警告日志產(chǎn)生撤銷(xiāo)和重做的數(shù)據(jù)北京傳智播客教育閃回刪除閃回刪除,實(shí)際上從系統(tǒng)的回收站中將已刪除的對(duì)象,恢復(fù)到刪除之前的狀態(tài)。系統(tǒng)的回收站只對(duì)普通用戶有作用。北京傳智播客教育閃回刪除:回收站(recyclebin)簡(jiǎn)介回收站是所有被刪除對(duì)象及其相依對(duì)象的邏輯存儲(chǔ)容器,例如當(dāng)一個(gè)表被刪除(drop)時(shí),該表及其相依對(duì)象并不會(huì)馬上被數(shù)據(jù)庫(kù)徹底刪除,而是被保存到回收站中。回收站將用戶執(zhí)行的drop操作記錄在一個(gè)系統(tǒng)表中,也就是將被刪除的對(duì)象寫(xiě)到一個(gè)數(shù)據(jù)字典中。如果確定不再需要該對(duì)象,可以使用purge命令對(duì)回收站進(jìn)行清空。被刪除的對(duì)象的名字可能是相同的,例如用戶創(chuàng)建了一個(gè)test表,使用drop命令刪除該表后,又創(chuàng)建了一個(gè)test表,這時(shí),如果再次刪除該表就會(huì)導(dǎo)致向回收站中添加了兩個(gè)相同的表。Oracle回收站舉例。北京傳智播客教育閃回刪除:回收站中對(duì)象的命名規(guī)則為了確保添加到回收站中的對(duì)象的名稱(chēng)都是唯一的,系統(tǒng)會(huì)對(duì)這些保存到回收站中的對(duì)象進(jìn)行重命名,重命名的格式如下: BIN$globalUID$version其中:BIN表示RECYCLEBIN;globalUID是一個(gè)全局唯一的、24個(gè)字非長(zhǎng)的對(duì)象,該標(biāo)識(shí)與原對(duì)象名沒(méi)有任何關(guān)系;version指數(shù)據(jù)庫(kù)分配的版本號(hào)。北京傳智播客教育閃回刪除舉例:閃回使用drop命令刪除的表使用表名閃回使用recyclebinname閃回閃回重名的表北京傳智播客教育閃回刪除:需要考慮的事情閃回刪除對(duì)下列表無(wú)效:在SYSTEM表空間內(nèi)的表用精細(xì)審計(jì)的數(shù)據(jù)庫(kù)或虛擬的私人數(shù)據(jù)庫(kù)屬于字典管理的表空間由于空間不足已經(jīng)被手動(dòng)或自動(dòng)刪除的表以下依賴(lài)不被保護(hù):位圖索引表之前刪掉的索引北京傳智播客教育閃回版本查詢閃回版本查詢,提供了一個(gè)審計(jì)行改變的查詢功能,通過(guò)它可以查找到所有已經(jīng)提交了的行記錄。其語(yǔ)法格式如下:selectcolumn_name[,column_name,...]fromtable_nameversionsbetween[SCN|TIMESTAMP][expr|MINVALUE]

and[epxr|MAXVALUE]asof[SCN|TIMESTAMP]expr;其中:column_name列名;table_name表名;between...and時(shí)間段;SCN系統(tǒng)改變號(hào);TIMESTAMP時(shí)間戳;ASOF表示恢復(fù)單個(gè)版本;MAXVALUE最大值;MINVALUE最小值;expr指定一個(gè)值或者表達(dá)式。北京傳智播客教育閃回版本查詢舉例創(chuàng)建一張新表:createtableversion_table(vidint,contentvarchar(20));執(zhí)行如下操作:insertintoversion_tablevalues(1,'aaa');commit;insertintoversion_tablevalues(2,'bbb');commit;updateversion_tablesetcontent='bbb1'wherevid=2;commit;insertintoversion_tablevalues(3,'ccc');commit;執(zhí)行閃回版本查詢。北京傳智播客教育閃回事務(wù)查詢閃回事務(wù)查詢實(shí)際上閃回版本查詢的一個(gè)擴(kuò)充,通過(guò)它可以審計(jì)某個(gè)事務(wù)甚至撤銷(xiāo)一個(gè)已經(jīng)提交的事務(wù)。實(shí)現(xiàn)閃回事務(wù)查詢,需要先了解flashback_transaction_query視圖,從該視圖中可以獲取事務(wù)的歷史操作記錄以及撤銷(xiāo)語(yǔ)句(UNDO_SQL)。使用閃回事務(wù)查詢,可以了解某個(gè)表的歷史操作記錄,這個(gè)操作記錄對(duì)應(yīng)一個(gè)撤銷(xiāo)SQL語(yǔ)句,如果想要撤銷(xiāo)這個(gè)操作,就可以執(zhí)行這個(gè)SQL語(yǔ)句。北京傳智播客教育Flashback_transaction_query北京傳智播客教育名稱(chēng)類(lèi)型說(shuō)明

------------------------------------------------------------------------------------------------XIDRAW(8)事務(wù)編號(hào)

START_SCNNUMBER事務(wù)的開(kāi)始的系統(tǒng)改變號(hào)

START_TIMESTAMPDATE事務(wù)的開(kāi)始時(shí)間

COMMIT_SCNNUMBER事務(wù)提交時(shí)的系統(tǒng)改變號(hào)

COMMIT_TIMESTAMPDATE事務(wù)提交時(shí)的時(shí)間

LOGON_USERVARCHAR2(30)對(duì)應(yīng)的用戶

UNDO_CHANGE#NUMBER撤銷(xiāo)操作對(duì)應(yīng)的編號(hào)

OPERATIONVARCHAR2(32)操作

TABLE_NAMEVARCHAR2(256)表

TABLE_OWNERVARCHAR2(32)所有者

ROW_IDVARCHAR2(19)行號(hào)

UNDO_SQLVARCHAR2(4000)撤銷(xiāo)事務(wù)的SQL語(yǔ)句

溫馨提示

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

評(píng)論

0/150

提交評(píng)論