版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章
閃回操作和Undo表空間11.1閃回操作11.2Undo表空間11.1閃回操作11.1.1根本概念在Oracle11g中,閃回操作包括如下內(nèi)容。〔1〕查詢閃回〔FlashbackQuery〕:查詢過(guò)去某個(gè)指定時(shí)間、指定實(shí)體的數(shù)據(jù),恢復(fù)錯(cuò)誤的數(shù)據(jù)庫(kù)更新、刪除等?!?〕表閃回〔FlashbackTable〕:使表返回到過(guò)去某一時(shí)間的狀態(tài),可以恢復(fù)表、取消對(duì)表進(jìn)行的修改?!?〕刪除閃回〔FlashbackDrop〕:可以將刪除的表重新恢復(fù)?!?〕數(shù)據(jù)庫(kù)閃回〔FlashbackDatabase〕:可以將整個(gè)數(shù)據(jù)庫(kù)回退到過(guò)去某個(gè)時(shí)間點(diǎn)。〔5〕歸檔閃回〔FlashbackDataArchive〕:可以閃回到指定時(shí)間之前的舊數(shù)據(jù)而不影響重做日志的策略。11.1.2查詢閃回執(zhí)行查詢閃回操作時(shí),需要使用兩個(gè)時(shí)間函數(shù):TIMESTAMP和TO_TIMESTAMP。其中,函數(shù)TO_TIMESTAMP的語(yǔ)法格式為:TO_TIMESTAMP('timepoint','format')其中,timepoint表示某時(shí)間點(diǎn)。format指定需要把timepoint格式化成何種格式。【例11.1】使用查詢閃回恢復(fù)刪除的數(shù)據(jù)。〔1〕查詢表XSB1中的數(shù)據(jù)。首先使用SET語(yǔ)句在“SQL>〞標(biāo)識(shí)符前顯示當(dāng)前時(shí)間。SETTIMEON查詢數(shù)據(jù)。SELECT*FROMXSB1;11.1.2查詢閃回執(zhí)行結(jié)果如圖11.1所示。11.1.2查詢閃回〔2〕刪除表XSB1中所有記錄并提交,如圖11.2所示。〔3〕進(jìn)行查詢回閃。SELECT*FROMXSB1ASOFTIMESTAMP TO_TIMESTAMP('2023-6-914:19:26','YYYY-MM-DDHH24:MI:SS');執(zhí)行以上語(yǔ)句后,可以看到表中原來(lái)的數(shù)據(jù)。〔4〕將閃回中的數(shù)據(jù)重新插入XSB1表中。INSERTINTOXSB1 SELECT*FROMXSB1ASOFTIMESTAMP TO_TIMESTAMP('2023-6-914:19:26','YYYY-MM-DDHH24:MI:SS');11.1.3表閃回利用表閃回可以恢復(fù)表,取消對(duì)表所進(jìn)行的修改。表閃回要求用戶具有以下權(quán)限?!?〕FLASHBACKANYTABLE權(quán)限或者是該表的Flashback對(duì)象權(quán)限?!?〕有該表的SELECT、INSERT、DELETE和ALTER權(quán)限。〔3〕必須保證該表ROWMOVEMENT。Oracle11g的閃回表與查詢閃回功能類似,也是利用恢復(fù)信息〔UndoInformation〕對(duì)以前的一個(gè)時(shí)間點(diǎn)上的數(shù)據(jù)進(jìn)行恢復(fù)。表閃回有如下特性?!?〕在線操作。〔2〕恢復(fù)到指定時(shí)間點(diǎn)或者SCN的任何數(shù)據(jù)?!?〕自動(dòng)恢復(fù)相關(guān)屬性,如索引、觸發(fā)器等。〔4〕滿足分布式的一致性。〔5〕滿足數(shù)據(jù)一致性,所有相關(guān)對(duì)象的一致性。11.1.3表閃回要實(shí)現(xiàn)表閃回,必須確保與撤銷表空間有關(guān)的參數(shù)設(shè)置合理。撤銷表空間相關(guān)參數(shù)為:UNDO_MANAGEMENT、UNDO_TABLESPACE和UNDO_RETENTION。在SQL*Plus中執(zhí)行下面的語(yǔ)句顯示撤銷表空間的參數(shù)。SHOWPARAMETERUNDO執(zhí)行結(jié)果如圖11.3所示。11.1.3表閃回說(shuō)明:〔1〕UR:在undo中保持的最長(zhǎng)時(shí)間數(shù)〔秒〕,由數(shù)據(jù)庫(kù)參數(shù)UNDO_RETENTION值決定。〔2〕UPS:在undo中每秒產(chǎn)生的數(shù)據(jù)塊數(shù)量。表閃回的語(yǔ)法格式如下:FLASHBACKTABLE[schema.]table_name TO{[BEFOREDROP[RENAMETOtable]]|[SCN|TIMESTAMP]expr[ENABLE| DISABLE]TRIGGERS}說(shuō)明:〔1〕schema:方案名稱?!?〕BEFOREDROP:表示恢復(fù)到刪除之前?!?〕RENAMETOtable:表示恢復(fù)時(shí)更換表名?!?〕SCN:SCN是系統(tǒng)改變號(hào),可以從flashback_transaction_query數(shù)據(jù)字典中查到?!?〕TIMESTAMP:表示系統(tǒng)郵戳,包含年月日以及時(shí)分秒?!?〕ENABLETRIGGERS:表示觸發(fā)器恢復(fù)之后的狀態(tài)為ENABLE。默認(rèn)為DISABLE狀態(tài)。11.1.3表閃回【例11.2】首先創(chuàng)立一個(gè)表,然后刪除某些數(shù)據(jù),再利用FlashbackTable命令恢復(fù)?!?〕使用SYSTEM登錄SQL*Plus并創(chuàng)立表CJB1。SETTIMEONCREATETABLECJB1 ASSELECT*FROMCJB;通過(guò)SELECT語(yǔ)句可查看到CJB1表中的數(shù)據(jù)。〔2〕刪除學(xué)號(hào)為101113的學(xué)生選修課程的記錄并提交。DELETEFROMCJB1 WHEREXH='101113'; /*刪除的時(shí)間點(diǎn)為16:00:52*/COMMIT;〔3〕使用表閃回進(jìn)行恢復(fù)。ALTERTABLECJB1ENABLEROWMOVEMENT;FLASHBACKTABLECJB1TOTIMESTAMP TO_TIMESTAMP('2023-6-916:00:52','YYYY-MM-DDHH24:MI:SS');11.1.4刪除閃回1.刪除閃回操作回收站是一個(gè)虛擬容器,用于存儲(chǔ)所有被刪除的對(duì)象。為了防止被刪除的表與同類對(duì)象名稱重復(fù),被刪除表〔或者其他對(duì)象〕放到回收站時(shí),Oracle系統(tǒng)對(duì)被刪除表〔或?qū)ο竺尺M(jìn)行了轉(zhuǎn)換。轉(zhuǎn)換后的名稱格式如下:BIN$globalUID$Sversion通過(guò)設(shè)置初始化參數(shù)RECYCLEBIN,可以控制是否啟用回收站功能,以下語(yǔ)句將啟用回收站:ALTERSESSIONSETRECYCLEBIN=ON;設(shè)置為OFF那么表示關(guān)閉,默認(rèn)為ON。數(shù)據(jù)字典USER_TABLES中的DROPPED列表示表是否被刪除。使用SELECT語(yǔ)句查詢:SELECTtable_name,droppedFROMUSER_TABLES;11.1.4刪除閃回【例11.3】刪除閃回的實(shí)現(xiàn)。〔1〕使用SCOTT用戶連接并創(chuàng)立一個(gè)表t1。CONNECTSCOTT/tigerCREATETABLEt1(tchar(10));〔2〕使用DROP命令刪除表t1。DROPTABLEt1;〔3〕查詢數(shù)據(jù)字典信息。SELECTOBJECT_NAME,ORIGINAL_NAME,TYPE,DROPTIME FROMRECYCLEBIN;11.1.4刪除閃回查詢結(jié)果如圖11.4所示?!?〕使用刪除閃回從回收站恢復(fù)表t1。FLASHBACKTABLEt1TOBEFOREDROP;11.1.4刪除閃回2.回收站管理回收站可以提供誤操作后進(jìn)行恢復(fù)的必要信息,但是如果不經(jīng)常對(duì)回收站的信息進(jìn)行管理,磁盤空間會(huì)被長(zhǎng)時(shí)間占用,因此要經(jīng)常去除回收站中無(wú)用的東西。要去除回收站,可以使用PURGE命令。PURGE命令可以刪除回收站中的表、表空間和索引,并釋放表、表空間和索引所占用的空間。PURGE命令語(yǔ)法格式如下:PURGE{TABLESPACEtablespaceUSERuser| [TABLEtable|INDEXindex]| [RECYCLEBIN|DBA_RECYCLEBIN]【例11.4】查詢當(dāng)前用戶回收站中的內(nèi)容,再用PURGE去除。〔1〕查詢回收站內(nèi)容。SELECTOBJECT_NAME,ORIGINAL_NAME FROMUSER_RECYCLEBIN;結(jié)果如圖11.5所示?!?〕去除表ABIN。PURGETABLEABIN;11.1.5數(shù)據(jù)庫(kù)閃回?cái)?shù)據(jù)庫(kù)閃回可以使數(shù)據(jù)庫(kù)回到過(guò)去某一時(shí)間點(diǎn)上或SCN的狀態(tài),用戶可以不利用備份就能快速地實(shí)現(xiàn)時(shí)間點(diǎn)的恢復(fù)。為了能在發(fā)生誤操作時(shí)閃回?cái)?shù)據(jù)庫(kù)到誤操作之前地時(shí)間點(diǎn)上,需要設(shè)置下面三個(gè)參數(shù)?!?〕DB_RECOVERY_FILE_DEST:確定FlashbackLogs的存放路徑?!?〕DB_RECOVERY_FILE_DEST_SIZE:指定恢復(fù)區(qū)的大小,默認(rèn)值為空?!?〕DB_FLASHBACK_RETENTION_TARGET:設(shè)定閃回?cái)?shù)據(jù)庫(kù)的保存時(shí)間,單位是分鐘,默認(rèn)是一天。數(shù)據(jù)庫(kù)閃回的語(yǔ)法如下:FLASHBACK[STANDBY|DATABASEdatabase {TO[SCN|TIMESTAMP]expr|TOBEFORE[SCN|TIMESTAMP]expr}11.1.5數(shù)據(jù)庫(kù)閃回【例11.5】設(shè)置閃回?cái)?shù)據(jù)庫(kù)環(huán)境?!?〕使用SYSTEM登錄SQL*Plus,查看閃回信息,執(zhí)行如下兩條命令。SHOWPARAMETERDB_RECOVERY_FILE_DESTSHOWPARAMETERFLASHBACK結(jié)果如圖11.6所示。11.1.5數(shù)據(jù)庫(kù)閃回〔2〕以SYSDBA登錄,確認(rèn)實(shí)例是否在歸檔模式。CONNECTSYS/123456ASSYSDBA SELECTDBID,NAME,LOG_MODEFROMV$DATABASE;SHUTDOWNIMMEDIATE;結(jié)果如圖11.7所示。11.1.5數(shù)據(jù)庫(kù)閃回〔3〕設(shè)置FlashbackDatabase為啟用。STARTUPMOUNTALTERDATABASEFLASHBACKON;ALTERDATABASEOPEN;結(jié)果如圖11.8所示。11.1.5數(shù)據(jù)庫(kù)閃回【例11.6】數(shù)據(jù)庫(kù)閃回。〔1〕查看當(dāng)前數(shù)據(jù)庫(kù)是否是歸檔模式和啟用了閃回?cái)?shù)據(jù)庫(kù)功能。SELECTDBID,NAME,LOG_MODEFROMV$DATABASE;ARCHIVELOGLISTSHOWPARAMETERDB_RECOVERY_FILE_DEST運(yùn)行結(jié)果如圖11.9所示。11.1.5數(shù)據(jù)庫(kù)閃回〔2〕查詢當(dāng)前時(shí)間和舊的閃回號(hào)。SHOWUSER;SELECTSYSDATEFROMDUAL;ALTERSESSIONSETNLS_DATE_FORMAT='YYYY-MM-DDHH24:MI:SS';SELECTSYSDATEFROMDUAL;SELECTOLDEST_FLASHBACK_SCN,OLDEST_FLASHBACK_TIME FROMV$FLASHBACK_DATABASE_LOG;SETTIMEON11.1.5數(shù)據(jù)庫(kù)閃回運(yùn)行結(jié)果如圖11.10所示。11.1.5數(shù)據(jù)庫(kù)閃回〔3〕在當(dāng)前用戶下創(chuàng)立例表KCB1。CREATETABLEKCB1ASSELECT*FROMSYSTEM.KCB;〔4〕確定時(shí)間點(diǎn),模擬誤操作,刪除表KCB1。SELECTSYSDATEFROMDUAL;DROPTABLEKCB1;DESCKCB1;執(zhí)行結(jié)果如圖11.11所示。11.1.5數(shù)據(jù)庫(kù)閃回〔5〕以MOUNT翻開(kāi)數(shù)據(jù)庫(kù)并進(jìn)行數(shù)據(jù)庫(kù)閃回。SHUTDOWNIMMEDIATE;STARTUPMOUNTEXCLUSIVE;FLASHBACKDATABASE TOTIMESTAMP(TO_DATE('2023-06-1010:42:42','YYYY-MM-DDHH24:MI:SS'));ALTERDATABASEOPENRESETLOGS;結(jié)果如圖11.12所示。11.1.6歸檔閃回創(chuàng)立一個(gè)閃回?cái)?shù)據(jù)歸檔區(qū)使用CREATEFLASHBACKARCHIVE語(yǔ)句,語(yǔ)法格式:CREATEFLASHBACKARCHIVE[DEFAULT]flashback_archive TABLESPACEtablespace [QUOTAinteger{M|G|T|P}] [RETENTIONinteger{YEAR|MONTH|DAY}];【例11.7】創(chuàng)立一個(gè)閃回?cái)?shù)據(jù)歸檔區(qū),并作為默認(rèn)的歸檔區(qū)。CONNECTSYSTEM/123456ASSYSDBACREATEFLASHBACKARCHIVEDEFAULTtest_archive TABLESPACEMYTS QUOTA10M RETENTION1DAY;11.1.6歸檔閃回【例11.8】歸檔閃回?!?〕使用SCOTT用戶連接數(shù)據(jù)庫(kù),并創(chuàng)立表KCB2。GRANTSELECTONSYSTEM.KCBTOSCOTT;CONNECTSCOTT/tigerCREATETABLEKCB2ASSELECT*FROMSYSTEM.KCB;〔2〕對(duì)KCB2表執(zhí)行閃回歸檔設(shè)置。CONNECTSYSTEM/123456ASSYSDBAALTERTABLESCOTT.KCB2FLASHBACKARCHIVEtest_archive;說(shuō)明:取消對(duì)于數(shù)據(jù)表的閃回歸檔可以使用如下命令:ALTERTABLEtable_nameNOFLASHBACKARCHIVE;11.1.6歸檔閃回〔3〕接下來(lái)記錄一下SCN。SELECTDBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBERFROMDUAL;刪除KCB2表中的一些數(shù)據(jù):DELETEFROMSCOTT.KCB2WHEREXF>4;COMMIT;結(jié)果如圖11.13所示。11.1.6歸檔閃回〔4〕執(zhí)行閃回查詢。SELECT*FROMSCOTT.KCB2ASOFSCN3585833;結(jié)果如圖11.14所示,顯示的是未刪除之前的數(shù)據(jù)。11.2Undo表空間11.2.1自動(dòng)Undo管理在Oracle中,允許創(chuàng)立多個(gè)Undo表空間,但是同一時(shí)間只能激活一個(gè)Undo表空間。使用參數(shù)文件中的Undo_TABLESPACE參數(shù)指定要激活的Undo表空間名,Undo表空間的組織和管理由Oracle系統(tǒng)內(nèi)部機(jī)制自動(dòng)完成。在自動(dòng)Undo管理設(shè)置完成后,在數(shù)據(jù)字典DBA_ROLLBACK_SEGS中可以顯示回滾段信息,但是回滾段的管理由數(shù)據(jù)庫(kù)實(shí)例自動(dòng)進(jìn)行。11.2.2Undo表空間的優(yōu)點(diǎn)它有如下幾個(gè)方面的優(yōu)點(diǎn)。〔1〕存儲(chǔ)非提交或提交的事務(wù)改變塊備份?!?〕存儲(chǔ)數(shù)據(jù)庫(kù)改變的數(shù)據(jù)行備份〔可能是塊級(jí)〕?!?〕存儲(chǔ)自從上次提交以來(lái)的事務(wù)的快照?!?〕在內(nèi)存中存放邏輯信息或文件中的非物理信息。〔5〕存儲(chǔ)一個(gè)事務(wù)的前映象〔BeforeImage〕?!?〕系統(tǒng)撤銷數(shù)據(jù)允許非提交事務(wù)。11.2.3Undo表空間管理參數(shù)〔1〕Undo_MANAGEMENT:確定Undo表空間的管理方式,如果該參數(shù)設(shè)置為“AUTO〞,表示系統(tǒng)使用自動(dòng)Undo管理;如果設(shè)置為“MANUAL〞,表示使用手動(dòng)Undo管理,以回滾段方式啟動(dòng)數(shù)據(jù)庫(kù)。〔2〕Undo_TABLESPACE:表示使用自動(dòng)Undo管理時(shí),系統(tǒng)默認(rèn)Undo表空間名,默認(rèn)名為undotbs?!?〕Undo_RETENTION:決定Undo數(shù)據(jù)的維持時(shí)間,即用戶事務(wù)結(jié)束后,Undo的時(shí)間保存時(shí)間,默認(rèn)值為900秒。以SYS用戶SYSDBA身份登錄SQL*Plus,使用SHOW命令可以查詢Undo參數(shù)的設(shè)置情況:SHOWPARAMETERUNDO11.2.4創(chuàng)立和管理Undo表空間1.界面方式創(chuàng)立和管理Undo表空間界面方式創(chuàng)立Undo表空間與創(chuàng)立一般的表空間方法一樣,只是在如圖11.15所示的“創(chuàng)立表空間〞的“一般信息〞界面中,表空間類型選擇“復(fù)原〞即可。11.2.4創(chuàng)立和管理Undo表空間2.命令方式創(chuàng)立和管理Undo表空間命令方式創(chuàng)立Undo表空間相對(duì)于界面方式要更靈活、方便?!?〕創(chuàng)立Undo表空間。語(yǔ)法格式:CREATEUNDOTABLESPACEtablespace_name DATAFILE'path/filename'[SIZEinteger[K∣M]][REUSE] [AUTOEXTEND[OFF∣ON[NEXTinteger[K∣M]] [MAXSIZE[UMLIMITED∣integer[K∣M]]]] [ONLINE∣OFFLINE] [LOGGING∣NOLOGGING] [EXTENTMANAGEMENTLOCALAUTOALLOCATE]11.2.4創(chuàng)立和管理Undo表空間【例11.9】在數(shù)據(jù)庫(kù)中創(chuàng)立另外一個(gè)Undo表空間undotbs2。CREATEUNDOTABLESPACEundotbs2 DATAFILE'D:\app\tao\oradata\XSCJ\undotbs2_01.dbf'SIZE100M AUTOEXTENDONNEXT100MMAXSIZEUNLIMITED EXTENTMANAGEMENTLOCALAUTOALLOCATE;Undo表空間創(chuàng)立結(jié)束后,查詢數(shù)據(jù)字典dba_tablespaces,可以看到表空間的參數(shù)、管理方式及類型。SELECTTABLESPACE_NAME,INITIAL_EXTENT,NEXT_EXTENT,MAX_EXTENTS,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育館環(huán)境衛(wèi)生承諾書(shū)
- 2024年研發(fā)設(shè)計(jì)與技術(shù)咨詢協(xié)議3篇
- 證券公司投資資產(chǎn)管理
- SP館租賃合同模板
- 鐵路軌道施工安全合同
- 設(shè)計(jì)工作室隔斷租賃協(xié)議
- 跨境支付項(xiàng)目澄清函參考模板
- 環(huán)保行業(yè)污染防治培訓(xùn)費(fèi)管理辦法
- 能源利用評(píng)審員管理辦法
- 機(jī)場(chǎng)化糞池改造工程合同
- 脊柱區(qū)1教學(xué)講解課件
- KK5-冷切鋸操作手冊(cè)-20151124
- 教你炒紅爐火版00纏論大概
- 消防管道施工合同
- 大學(xué)生計(jì)算與信息化素養(yǎng)-北京林業(yè)大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 2023年國(guó)開(kāi)大學(xué)期末考復(fù)習(xí)題-3987《Web開(kāi)發(fā)基礎(chǔ)》
- 《駱駝祥子》1-24章每章練習(xí)題及答案
- 國(guó)際金融課后習(xí)題答案(吳志明第五版)第1-9章
- 《基于杜邦分析法周大福珠寶企業(yè)盈利能力分析報(bào)告(6400字)》
- 全國(guó)英語(yǔ)等級(jí)考試三級(jí)全真模擬試題二-2023修改整理
- 02R112 拱頂油罐圖集
評(píng)論
0/150
提交評(píng)論