版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫操作與管理語言OracleSQL
閃回目標閃回的基基本概念念閃回表閃回刪除除閃回版本本查詢閃回事務務查詢閃回的基基本概念念閃回表錯誤的執(zhí)執(zhí)行了insert,,update,delete且執(zhí)執(zhí)行了commit語語句。閃回刪除除錯誤的執(zhí)執(zhí)行了drop語句。。主要是操操作oracle的回回收站recyclebin。閃回版本本查詢獲取表上上所有已已提交過過的事務務歷史記記錄。閃回事務務查詢撤消事務務。其他閃回回閃回數(shù)據(jù)據(jù)庫。--要求數(shù)數(shù)據(jù)庫為為歸檔模模式。默默認為非非歸檔模模式。必須要停停止數(shù)據(jù)據(jù)庫。閃回歸檔檔日志。。閃回(Flashback))在Oracle的操作作工程中中,會不不可避免免地出現(xiàn)現(xiàn)操作失失誤或者者用戶失失誤,例例如不小小心刪除除了一個個表等,,這些失失誤和錯錯誤可能能會造成成重要數(shù)數(shù)據(jù)的丟丟失,最最終導致致Oracle數(shù)據(jù)庫庫停止在傳統(tǒng)意意義上,,當發(fā)生生數(shù)據(jù)丟丟失、數(shù)數(shù)據(jù)錯誤誤問題時時,解決決的主要要辦法是是數(shù)據(jù)的的導入導導出、備備份恢復復技術,,這些方方法都需需要在發(fā)發(fā)生錯誤誤前,有有一個正正確的備備份才能能進行恢恢復。為了減少少這方面面的損失失,Oracle提供供了閃回回技術。。有了閃閃回技術術,就可可以實現(xiàn)現(xiàn)數(shù)據(jù)的的快速恢恢復,而而且不需需要數(shù)據(jù)據(jù)備份。。閃回的益益處恢復中,,閃回技技術是革革命性的的進步傳統(tǒng)的恢恢復技術術緩慢::它是整個個數(shù)據(jù)庫庫或者一一個文件件恢復,,不只恢恢復損壞壞的數(shù)據(jù)據(jù)在數(shù)據(jù)庫庫日志中中每個修修改都必必須被檢檢查閃回速度度快:通過行和和事務把把改變編編入索引引僅僅改變變了的數(shù)數(shù)據(jù)會被被恢復閃回命令令很容易易:沒有復雜雜棘手的的多步程程序閃回的類類型閃回表((flashbacktable)閃回刪除除(flashbackdrop)閃回版本本查詢((flashbackversionquery))閃回事務務查詢((flashbacktransactionquery)閃回表閃回表,,實際上上是將表表中的數(shù)數(shù)據(jù)快速速恢復到到過去的的一個是是焦點或或者系統(tǒng)統(tǒng)改變號號SCN(SystemChangeNumber)上。。實現(xiàn)表表的閃回回,需要要使用到到與撤銷銷表空間間相關的的undo信息息,通過過showparameterundo命令令可以了了解這些些信息。。SCN::系統(tǒng)改改變號。。與時時間形成成一一對對應的關關系。通過timestemp_to_scn((sysdate)獲獲取某一一個時間間的SCN號。。閃回表是是指將表表中的數(shù)數(shù)據(jù),恢恢復到之之前的一一個時間間點上。。用戶對表表數(shù)據(jù)的的修改操操作,都都記錄在在撤銷表表空間中中,這為為表的閃閃回提供供了數(shù)據(jù)據(jù)恢復的的基礎。。例如,,某個修修改操作作在提交交后被記記錄在撤撤銷表空空間中,,保留時時間為900秒秒,用戶戶可以在在這900秒的的時間內(nèi)內(nèi)對表進進行閃回回操作,,從而將將表中的的數(shù)據(jù)恢恢復到修修改之前前的狀態(tài)態(tài)。執(zhí)行表的的閃回,,需要有有flashbackanytable的權權限需要使用用oracleEE10g版本本或以上上的Oracle數(shù)據(jù)據(jù)庫。閃回的時時間參數(shù)數(shù):默認情況況下,在在900秒以內(nèi)內(nèi)的數(shù)據(jù)據(jù)可以無無條件閃閃回可以通過過showparametersundo;;查詢時時間參數(shù)數(shù)。只有管理理員,才才可以查查看時間間參數(shù)。。修改閃回回的時間間參數(shù)::可以通過過修改閃閃回的時時間限制制,修改改時間限限制。但但性有可可能會因因此下降降。修改閃回回的時間間參數(shù)為為20分分鐘=20*60=1200秒altersystemsetundo__retention=1200scope==both;scope是指指作用的的范圍,,取值::memory(當前前實例有有效),,spfile(修改改配置文文件,后后面的實實例有效效)both(兩個個同時有有效)查詢閃回回時間showparametersundo;給用戶授授權閃回回操作::默認情況況下,scott沒有有閃回的的權限。。Grantflashbackanytabletoscott;注意:閃閃回表需需要將表表的行移移動功能能打開altertable<<table__name>enablerowmovement;閃回表語語法:FLASHBACKTABLE[schema.]<<table__name>TO{[BEFOREDROP[RENAMETOtable]]][SCN|TIMESTAMP]expr[ENABLE|DISABLE]TRIGGERS}schema::模式名名,一般般為用戶戶名。TOTIMESTAMP::系統(tǒng)郵郵戳,包包含年、、月、日日、時、、分、秒秒。TOSCN::系統(tǒng)更更改號,,ENABLETRIGGERS::表示觸觸發(fā)器恢恢復以后后為enable狀態(tài)態(tài),而默默認為disable狀態(tài)。。TOBEFOREDROP:表表示恢復復到刪除除(drop))之前。。RENAMETOtable::表示更更換表名名。閃回表舉舉例:通過timestamp閃回回表flashbacktableflash__testtotimestampto__date(''2011-03-2318:27:40‘,,'yyyy--mm--ddhh24:mi:ss'));通過SCN號閃閃回表即可以閃閃回刪除除的數(shù)據(jù)據(jù),也可可以通過過閃回刪刪除插入入的新的的數(shù)據(jù)。。即flashbacktableflash__testtoscn868741;必須要使使用OracleEE版本本。以下是刪刪除表時時用的閃閃回,即即droptableflashbacktabletab_testtobeforedrop;示例:根據(jù)時間間戳閃回回:flashbacktablebtotimestampto__timestamp('2013-03-2610:42:01',''yyyy-mm-ddhh24:mi:ss');;根據(jù)SCN號閃閃回:Selecttimestamp_to_scn(sysdate)fromdua;flashbacktablebtoscn998723;閃回表::需要要考慮的的事情FLASHBACKTABLE命命令作為為單一的的事務執(zhí)執(zhí)行,會會得到一一個單一一的DML鎖表的統(tǒng)計計數(shù)據(jù)不不會被閃閃回當前的索索引和從從屬的對對象會被被維持閃回表操操作:系統(tǒng)表不不能被閃閃回不能跨越越DDL操作根據(jù)版本本不同,,有所變變化,11g已已經(jīng)提升升此功能能。會被寫入入警告日日志產(chǎn)生撤銷銷和重做做的數(shù)據(jù)據(jù)閃回表::需要要考慮的的事情閃回表數(shù)數(shù)據(jù)閃回刪除除閃回刪除除,實際際上從系系統(tǒng)的回回收站中中將已刪刪除的對對象,恢恢復到刪刪除之前前的狀態(tài)態(tài)。系統(tǒng)的回回收站只只對普通通用戶有有作用。。管理員只只做管理理。建議不使使用管理理員做普普通操作作。應該創(chuàng)建建一個新新的用戶戶進行業(yè)業(yè)務等的的操作。。閃回刪除除:回回收站((recyclebin)簡簡介回收站是是所有被被刪除對對象及其其相依對對象的邏邏輯存儲儲容器,,例如當當一個表表被刪除除(drop))時,該該表及其其相依對對象并不不會馬上上被數(shù)據(jù)據(jù)庫徹底底刪除,,而是被被保存到到回收站站中。Showrecyclebin或或是select**fromrecyclebin;user_recyclebin回收站將將用戶執(zhí)執(zhí)行的drop操作記記錄在一一個系統(tǒng)統(tǒng)表中,,也就是是將被刪刪除的對對象寫到到一個數(shù)數(shù)據(jù)字典典中。如如果確定定不再需需要該對對象,可可以使用用purge命命令對回回收站進進行清空空。SQL>>purgerecyclebin;;被刪除的的對象的的名字可可能是相相同的,,例如用用戶創(chuàng)建建了一個個test表,,使用drop命令刪刪除該表表后,又又創(chuàng)建了了一個test表,這這時,如如果再次次刪除該該表就會會導致向向回收站站中添加加了兩個個相同的的表。閃回刪除除:回回收站中中對象的的命名規(guī)規(guī)則為了確保保添加到到回收站站中的對對象的名名稱都是是唯一的的,系統(tǒng)統(tǒng)會對這這些保存存到回收收站中的的對象進進行重命命名,重重命名的的格式如如下:BIN$$globalUID$version其中:BIN表示RECYCLEBIN;globalUID是一一個全局局唯一的的、24個字長長的對象象,該標標識與原原對象名名沒有任任何關系系;version指指數(shù)據(jù)庫庫分配的的版本號號。閃回刪除除舉例::閃回使用用drop命令令刪除的的表使用表名名閃回使用recyclebinname閃回回閃回b表表flashbacktablebtobeforedrop;閃回最近近一個被被刪除的的表,如如果存在在同名flashbacktablectobeforedrop;使用雙引引號,通通過recyclebinname閃回回flashbacktable""BIN$nf03/ZogReKWpCqRbYS2OA==$$0"tobeforedroprenametocc;閃回重名名的表TorenamenewTable;;閃回刪刪除:需需要要考慮的的事情閃回刪除除對下列列表無效效:在SYSTEM表空空間內(nèi)的的表用精細審審計的數(shù)數(shù)據(jù)庫或或虛擬擬的私人人數(shù)據(jù)庫庫屬于字典典管理的的表空間間由于空間間不足已已經(jīng)被手手動或自自動刪除除的表以下依賴賴不被保保護:位圖索引引表之前刪刪掉的索索引閃回版本本查詢閃回版本本查詢,,提供了了一個審審計行改改變的查查詢功能能,通過過它可以以查找到到所有已已經(jīng)提交交了的行行記錄。。其語法法格式如如下:selectcolumn__name[,,column_name,,....]fromtable_nameversionsbetween[SCN|TIMESTAMP][expr|MINVALUE]and[epxr|MAXVALUE]asof[SCN|TIMESTAMP]expr;;其中:column__name列名名;table_name表表名;between....and時間段段;SCN系統(tǒng)統(tǒng)改變號號;TIMESTAMP時間間戳;ASOF表示示恢復單單個版本本;MAXVALUE最大值值;MINVALUE最小值值;expr指指定一個個值或者者表達式式。Versionsbetween版本查查詢功能更加加強大,,通過versionsbetween能夠查查看指定定時間段段內(nèi)undo表表空間中中記錄的的不同版版本(注注意,只只包括被被提交的的記錄))。版本查詢詢過程中中提供了了多個偽偽列如下下:VERSIONS_STARTSCN,VERSIONS_STARTTIME該該記錄操操作時的的scn或時間間,如果果為空,,表示該該行記錄錄是在查查詢范圍圍外創(chuàng)建建的VERSIONS_ENDSCN,,VERSIONS__ENDTIME該記記錄失效效時的scn或或時間,,如果為為空,說說明記錄錄當前時時間在當當前表內(nèi)內(nèi)存在,,或者已已經(jīng)被刪刪除了,,可以配配合著VERSIONS_OPERATION列列來看,,如果VERSIONS_OPERATION列列值為D,說明明該列已已被刪除除,如果果該列為為空,則則說明記記錄在這這段時間間無操作作。VERSIONS_XID該該操作的的事務IDVERSIONS_OPERATION對對該行執(zhí)執(zhí)行的操操作:I表示insert,,D表示示delete,U表表示update。提提示:對對于索引引鍵的update操操作,版版本查詢詢可能會會將其識識別成兩兩個操作作:DELETE和INSERT。。閃回版本本查詢舉舉例創(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í)行閃回回版本查查詢。查詢commit時間間版本::selectid,,name,versions_starttime,,versions__endtime,versions_startscn,versions_endscn,,versions_operation,,versions_xidfromstudversionsbetweentimestampminvalueandmaxvalue;;閃回版本本查詢::查詢這個個時間點點前的數(shù)數(shù)據(jù):Asof表表示查詢詢單個版版本。閃回事務務查詢閃回事務務查詢實實際上閃閃回版本本查詢的的一個擴擴充,通通過它可可以審計計某個事事務甚至至撤銷一一個已經(jīng)經(jīng)提交的的事務。。實現(xiàn)閃回回事務查查詢,需需要先了了解flashback_transaction_query視圖圖,從該該視圖中中可以獲獲取事務務的歷史史操作記記錄以及及撤銷語語句(UNDO_SQL)。。使用閃回回事務查查詢,可可以了解解某個表表的歷史史操作記記錄,這這個操作作記錄對對應一個個撤銷SQL語語句,如如果想要要撤銷這這個操作作,就可可以執(zhí)行行這個SQL語語句。Flashback__transaction__query名稱類類型型說說明-------------------------------------------------------------------------------------------------------------------------------XIDRAW((8)事事務編號號START_SCNNUMBER事事務的開開始的系系統(tǒng)改變變號START_TIMESTAMPDATE事事務的開開始時間間COMMIT__SCNNUMBER事事務務提交時時的系統(tǒng)統(tǒng)改變號號COMMIT__TIMESTAMPDATE事事務務提交時時的時間間LOGON_USERVARCHAR2((30))對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年呼和浩特貨運從業(yè)資格證題目答案大全及解析
- 2025年雙鴨山駕駛員貨運從業(yè)資格證模擬考試
- 《FSC產(chǎn)銷監(jiān)管鏈》課件
- 城市更新土地招投標居間協(xié)議
- 蘇教版八年級下冊生物期中試卷-2
- 勞動合同管理培訓手冊
- 咨詢公司顧問聘用合同草案
- 鋼鐵行業(yè)原料儲存管理
- 自助賠償協(xié)議書要點
- 桌椅租賃協(xié)議
- 教學計劃(教學計劃)-2024-2025 學年六年級上冊科學教科版
- 《積極心理學(第3版)》 課件 篇終 積極心理學的應用與展望
- 2024應急管理部國家自然災害防治研究院公開招聘34人(高頻重點復習提升訓練)共500題附帶答案詳解
- 八年級英語上冊 Unit 4 Whats the best movie theater(第1課時)說課稿
- 2023年山東省濟南市章丘市棗園街道社區(qū)工作者招聘筆試題及答案
- 《醫(yī)學專業(yè)介紹》課件
- 《物聯(lián)網(wǎng)應用技術專業(yè)頂崗實習》課程標準
- 2024-2030年中國不良資產(chǎn)管理行業(yè)市場發(fā)展分析及競爭格局與投資發(fā)展研究報告
- 2024年病理醫(yī)師三基考試試題
- 文物普查合同
- GB/T 43969-2024智能語音控制器通用安全技術要求
評論
0/150
提交評論