Oracle-10g數(shù)據(jù)庫(kù)基礎(chǔ)教程之閃回技術(shù)_第1頁(yè)
Oracle-10g數(shù)據(jù)庫(kù)基礎(chǔ)教程之閃回技術(shù)_第2頁(yè)
Oracle-10g數(shù)據(jù)庫(kù)基礎(chǔ)教程之閃回技術(shù)_第3頁(yè)
Oracle-10g數(shù)據(jù)庫(kù)基礎(chǔ)教程之閃回技術(shù)_第4頁(yè)
Oracle-10g數(shù)據(jù)庫(kù)基礎(chǔ)教程之閃回技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩59頁(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)介

1、第14章 閃回技術(shù)本章內(nèi)容容閃回技術(shù)術(shù)概述閃回查詢?cè)兗夹g(shù)閃回查詢?cè)冮W回版本本查詢閃回事務(wù)務(wù)查詢閃回錯(cuò)誤誤操作技技術(shù)閃回表閃回刪除除閃回?cái)?shù)據(jù)據(jù)庫(kù)本章要求求了解閃回回技術(shù)掌握閃回回查詢操操作掌握閃回回版本查查詢操作作掌握閃回回事務(wù)查查詢操作作掌握閃回回表操作作掌握閃回回刪除操操作掌握閃回回?cái)?shù)據(jù)庫(kù)庫(kù)操作14.1閃閃回技術(shù)術(shù)概述閃回基本本概念閃回技術(shù)術(shù)分類14.1.1基基本本概念Oracle9i實(shí)實(shí)現(xiàn)了基基于回滾滾段的閃閃回查詢?cè)儯‵lashbackQuery)技技術(shù),即即從回滾滾段中讀讀取一定定時(shí)間內(nèi)內(nèi)對(duì)表進(jìn)進(jìn)行操作作的數(shù)據(jù)據(jù),恢復(fù)復(fù)錯(cuò)誤的的DML操作。在Oracle 10g中,除提高高了閃回回查詢

2、功功能,實(shí)實(shí)現(xiàn)了閃閃回版本本查詢、閃回事事務(wù)查詢?cè)兺?,還還實(shí)現(xiàn)了了閃回表表、閃回回刪除和和閃回?cái)?shù)數(shù)據(jù)庫(kù)的的功能。閃回技術(shù)術(shù)是數(shù)據(jù)據(jù)庫(kù)恢復(fù)復(fù)技術(shù)歷歷史上一一次重大大的進(jìn)步步,從根根本上改改變了數(shù)數(shù)據(jù)恢復(fù)復(fù)。采用閃回回技術(shù),可以針針對(duì)行級(jí)級(jí)和事務(wù)務(wù)級(jí)發(fā)生生過(guò)變化化的數(shù)據(jù)據(jù)進(jìn)行恢恢復(fù),減減少了數(shù)數(shù)據(jù)恢復(fù)復(fù)的時(shí)間間,而且且操作簡(jiǎn)簡(jiǎn)單,通通過(guò)SQL語(yǔ)句句就可以以實(shí)現(xiàn)數(shù)數(shù)據(jù)的恢恢復(fù),大大大提高高了數(shù)據(jù)據(jù)庫(kù)恢復(fù)復(fù)的效率率。14.1.2閃閃回回技術(shù)分分類閃回查詢?cè)儯‵lashbackQuery):查詢過(guò)過(guò)去某個(gè)個(gè)時(shí)間點(diǎn)點(diǎn)或某個(gè)個(gè)SCN值時(shí)表表中的數(shù)數(shù)據(jù)信息息;閃回版本本查詢(Flashback Version

3、Query):查詢?cè)冞^(guò)去某某個(gè)時(shí)間間段或某某個(gè)SCN段內(nèi)內(nèi)表中數(shù)數(shù)據(jù)的變變化情況況;閃回事務(wù)務(wù)查詢(Flashback Transaction Query):查查看某個(gè)個(gè)事務(wù)或或所有事事務(wù)在過(guò)過(guò)去一段段時(shí)間對(duì)對(duì)數(shù)據(jù)進(jìn)進(jìn)行的修修改;閃回表(Flashback Table):將將表恢復(fù)復(fù)到過(guò)去去的某個(gè)個(gè)時(shí)間點(diǎn)點(diǎn)或某個(gè)個(gè)SCN值時(shí)的的狀態(tài);閃回刪除除(FlashbackDrop):將將已經(jīng)刪刪除的表表及其關(guān)關(guān)聯(lián)對(duì)象象恢復(fù)到到刪除前前的狀態(tài)態(tài);閃回?cái)?shù)據(jù)據(jù)庫(kù)(FlashbackDatabase):將數(shù)數(shù)據(jù)庫(kù)恢恢復(fù)到過(guò)過(guò)去某個(gè)個(gè)時(shí)間點(diǎn)點(diǎn)或某個(gè)個(gè)SCN值時(shí)的的狀態(tài)。注意閃回查詢?cè)儭㈤W回回版本查查詢、閃閃回事

4、務(wù)務(wù)查詢以以及閃回回表主要要是基于于撤銷表表空間中中的回滾滾信息實(shí)實(shí)現(xiàn)的;閃回刪除除、閃回回?cái)?shù)據(jù)庫(kù)庫(kù)是基于于Oracle 10g中的的回收站站(RecycleBin)和閃閃回恢復(fù)復(fù)區(qū)(FlashRecoveryArea)特性性實(shí)現(xiàn)的的。為了使用用數(shù)據(jù)庫(kù)庫(kù)的閃回回技術(shù),必須啟啟用撤銷銷表空間間自動(dòng)管管理回滾滾信息。如果要使使用閃回回刪除技技術(shù)和閃閃回?cái)?shù)據(jù)據(jù)庫(kù)技術(shù)術(shù),還需需要啟用用回收站站、閃回回恢復(fù)區(qū)區(qū)。14.2閃閃回查詢?cè)兗夹g(shù)概述閃回查詢?cè)冮W回版本本查詢閃回事務(wù)務(wù)查詢閃回查詢?cè)兊臋C(jī)制制閃回查詢?cè)兪侵咐脭?shù)據(jù)據(jù)庫(kù)回滾滾段存放放的信息息查看指指定表中中過(guò)去某某個(gè)時(shí)間間點(diǎn)的數(shù)數(shù)據(jù)信息息,或過(guò)過(guò)去某

5、個(gè)個(gè)時(shí)間段段數(shù)據(jù)的的變化情情況,或或某個(gè)事事務(wù)對(duì)該該表的操操作信息息等。為了使用用閃回查查詢功能能,需要要啟動(dòng)數(shù)數(shù)據(jù)庫(kù)撤撤銷表空空間來(lái)管管理回滾滾信息。與撤銷表表空間相相關(guān)的參參數(shù)包括括 :UNDO_MANAGEMENT:指定回滾滾段的管管理方式式,如果果設(shè)置為為AUTO,則采用撤撤銷表空空間自動(dòng)動(dòng)管理回回滾信息息;UNDO_TABLESPACE:指定用用于回滾滾信息自自動(dòng)管理理的撤銷銷表空間間名;UNDO_RETENTIOIN:指定回回滾信息息的最長(zhǎng)長(zhǎng)保留時(shí)時(shí)間。14.2.1閃閃回回查詢閃回查詢?cè)兛梢苑捣祷剡^(guò)去去某個(gè)時(shí)時(shí)間點(diǎn)已已經(jīng)提交交事務(wù)操操作的結(jié)結(jié)果。基本語(yǔ)法法:SELECTcolumn

6、_name,FROM table_nameASOFSCN|TIMESTAMPexpressionWHEREcondition基于AS OF TIMESTAMP的閃閃回查詢?cè)兓贏S OF SCN的閃閃回查詢?cè)儯?)基基于AS OF TIMESTAMP的閃閃回查詢?cè)僑QLALTERSESSIONSETNLS_DATE_FORMAT=YYYY-MM-DDHH24:MI:SS;SQLSET TIMEON09:12:50SQLSELECT empno,salFROM scott.empWHEREempno=7844;EMPNOSAL-7844150009:13:00SQLUPDATE scott.em

7、pSETsal=2000WHEREempno=7844;09:13:07SQLCOMMIT;09:13:12SQLUPDATE scott.empSETsal=2500WHEREempno=7844;09:14:28SQLUPDATE scott.empSETsal=3000WHEREempno=7844;09:14:41SQLCOMMIT;09:14:50SQLUPDATE scott.empSETsal=3500WHEREempno=7844;09:15:43SQLCOMMIT;查詢7844號(hào)號(hào)員工的的當(dāng)前工工資值。09:15:48SQLSELECT empno,salFROM scott

8、.empWHEREempno=7844;EMPNOSAL-78443500查詢7844號(hào)號(hào)員工前前一個(gè)小小時(shí)的工工資值。09:16:00SQLSELECT empno,salFROM scott.empASOFTIMESTAMPSYSDATE-1/24 WHERE empno=7844;EMPNOSAL-78441500查詢第一一個(gè)事務(wù)務(wù)提交,第二個(gè)個(gè)事務(wù)還還沒(méi)有提提交時(shí)7844號(hào)員工工的工資資。09:16:22SQLSELECT empno,salFROM scott.empASOFTIMESTAMPTO_TIMESTAMP(2009-3-2309:14:41,YYYY-MM-DDHH24:

9、MI:SS)WHEREempno=7844;EMPNOSAL-78442000查詢第二二個(gè)事務(wù)務(wù)提交,第三個(gè)個(gè)事務(wù)還還沒(méi)有提提交時(shí)7844號(hào)員工工的工資資09:17:47SQLSELECT empno,salFROM scott.empASOFTIMESTAMPTO_TIMESTAMP(2009-3-2309:15:43,YYYY-MM-DDHH24:MI:SS)WHEREempno=7844;EMPNOSAL-78443000如果需要要,可以以將數(shù)據(jù)據(jù)恢復(fù)到到過(guò)去某某個(gè)時(shí)刻刻的狀態(tài)態(tài)。09:25:23SQLUPDATE scott.empSETsal=(SELECTsal FROMscott

10、.empASOFTIMESTAMPTO_TIMESTAMP(2009-3-239:15:43,YYYY-MM-DDHH24:MI:SS)WHEREempno=7844)WHEREempno=7844;09:25:55SQLCOMMIT;09:26:13SQLSELECT empno,salFROM scott.empWHEREempno=7844;EMPNOSAL-7844300014.2.2閃閃回回版本查查詢09:27:58SQLSELECT current_scn FROMv$database;CURRENT_SCN-61724409:27:58SQLSELECT empno,salFRO

11、M scott.empWHEREempno=7844;EMPNOSAL-7844300009:28:21SQLUPDATE scott.empSETsal=5000WHEREempno=7844;09:29:23SQLCOMMIT;09:29:31SQLUPDATE scott.empSETsal=5500WHEREempno=7844;09:29:55SQLCOMMIT;09:30:14SQLSELECT current_scn FROMv$database;CURRENT_SCN-61731709:30:37SQLSELECT empno,salFROM scott.empASOFSCN6

12、17244 WHERE empno=7844;EMPNOSAL-78443000注意事實(shí)上,Oracle 在內(nèi)內(nèi)部都是是使用SCN的的,即使使指定的的是AS OF TIMESTAMP,Oracle也也會(huì)將將其轉(zhuǎn)換換成SCN。系系統(tǒng)時(shí)間間與SCN之間間的對(duì)應(yīng)應(yīng)關(guān)系可可以通過(guò)過(guò)查詢SYS模模式下的的SMON_SCN_TIME表獲獲得。SELECTscn,TO_CHAR(time_dp,YYYY-MM-DDHH24:MI:SS)time_dpFROM sys.smon_scn_time;利用閃回回版本查查詢,可可以查看看一行記記錄在一一段時(shí)間間內(nèi)的變變化情況況,即一一行記錄錄的多個(gè)個(gè)提交的的版本信信

13、息,從從而可以以實(shí)現(xiàn)數(shù)數(shù)據(jù)的行行級(jí)恢復(fù)復(fù)?;菊Z(yǔ)法法SELECTcolumn_name, FROMtable_nameVERSIONSBETWEENSCN|TIMESTAMPMINVALUE|expression ANDMAXVALUE|expressionASOFSCN|TIMESTAMPexpressionWHEREcondition參數(shù)說(shuō)明明VERSIONSBETWEEN:用于于指定閃閃回版本本查詢時(shí)時(shí)查詢的的時(shí)間段段或SCN段;ASOF:用用于指定定閃回查查詢時(shí)查查詢的時(shí)時(shí)間點(diǎn)或或SCN。在閃回版版本查詢?cè)兊哪繕?biāo)標(biāo)列中,可以使使用下列列幾個(gè)偽偽列返回回版本信信息。VERSIONS_ST

14、ARTTIME:基于時(shí)間間的版本本有效范范圍的下下界;VERSIONS_STARTSCN:基于SCN的版本有有效范圍圍的下界界;VERSIONS_ENDTIME:基于時(shí)時(shí)間的版版本有效效范圍的的上界;VERSIONS_ENDSCN:基于SCN的版本有有效范圍圍的上界界;VERSIONS_XID:操作的的事務(wù)ID;VERSIONS_OPERATION:執(zhí)行操操作的類類型,I表示INSERT,D表示DELETE,U表示UPDATE。SQLUPDATE scott.empSETsal=6000WHEREempno=7844;SQLUPDATE scott.empSETsal=6500WHEREemp

15、no=7844;SQLUPDATE scott.empSETsal=7000WHEREempno=7844;SQLCOMMIT;SQLUPDATE scott.empSETsal=7500WHERE empno=7844;SQLCOMMIT;SQLSET LINESIZE 600SQLCOL STARTTIMEFORMATA30SQLCOL ENDTIMEFORMAT A30SQLCOL OPERATIONFORMATA10基于VERSIONS BETWEENTIMESTAMP的閃回回版本查查詢。SQLSELECT versions_xidXID,versions_starttimeSTART

16、TIME,versions_endtimeENDTIME,versions_operationOPERATION,salFROM scott.empVERSIONSBETWEEN TIMESTAMPMINVALUEANDMAXVALUEWHEREempno=7844ORDERBYSTARTTIME;基于VERSIONS BETWEENSCN的閃回回版本查查詢。SQLSELECT versions_xidXID,versions_startscnSTARTSCN,versions_endscnENDSCN,versions_operationOPERATION,salFROM scott.emp

17、VERSIONSBETWEEN SCNMINVALUEANDMAXVALUEWHEREempno=7844ORDERBYSTARTSCN;查詢當(dāng)前前7844號(hào)員員工的工工資。SQLSELECT empno,salFROM scott.empWHEREempno=7844;EMPNOSAL-78447500如果需要要,可以以將數(shù)據(jù)據(jù)恢復(fù)到到過(guò)去某某個(gè)時(shí)刻刻的狀態(tài)態(tài)。SQLUPDATE scott.empSETsal=(SELECTsal FROMscott.emp AS OF TIMESTAMPTO_TIMESTAMP(2009-3-2310:25:03,YYYY-MM-DDHH24:MI:SS

18、)WHEREempno=7844) WHERE empno=7844;SQLCOMMIT;SQLSELECT empno,salFROM scott.empWHEREempno=7844;EMPNOSAL-78446000注意在進(jìn)行閃閃回版本本查詢時(shí)時(shí),可以以同時(shí)使使用VERSIONS 短語(yǔ)語(yǔ)和AS OF 短語(yǔ)語(yǔ)。AS OF短語(yǔ)決決定了進(jìn)進(jìn)行查詢?cè)兊臅r(shí)間間點(diǎn)或SCN,VERSIONS短短語(yǔ)決決定了可可見(jiàn)的行行的版本本信息。對(duì)于在在VERSIONSBETWEEN下界界之前開(kāi)開(kāi)始的事事務(wù),或或在AS OF指定的的時(shí)間或或SCN之后完完成的事事務(wù),系系統(tǒng)返回回的版本本信息為為NULL。將VERSIO

19、NSBWTWEENTIMESTAMP與與ASOFTIMESTAMP配合使使用。SQLSELECT versions_xidXID,versions_starttimeSTARTTIME,versions_endtime ENDTIME,versions_operationOPERATION,salFROM scott.empVERSIONSBETWEEN TIMESTAMPMINVALUEANDMAXVALUEASOFTIMESTAMPTO_TIMESTAMP(2009-3-2310:24:40,YYYY-MM-DDHH24:MI:SS)WHEREempno=7844ORDERBYSTARTT

20、IME;將VERSIONSBWTWEENSCN與與ASOFSCN配合使使用SQLSELECT versions_xidXID,versions_startscnSTARTSCN,versions_endscnENDSCN,versions_operationOPERATION,salFROM scott.empVERSIONSBETWEEN SCNMINVALUEANDMAXVALUEASOFSCN620045WHEREempno=7844ORDERBYSTARTSCN;14.2.3閃閃回回事務(wù)查查詢閃回事務(wù)務(wù)查詢提提供了一一種查看看事務(wù)級(jí)級(jí)數(shù)據(jù)庫(kù)庫(kù)變化的的方法??梢詮腇LASHBACK_TR

21、ANSATION_QUERY中查查看回滾滾段中存存儲(chǔ)的事事務(wù)信息息。例如:SQLSELECT operation,undo_sql,table_nameFROM FLASHBACK_TRANSACTION_QUERY;SQLSELECT operation,undo_sql,table_nameFROM FLASHBACK_TRANSACTION_QUERYWHERExid=HEXTORAW(04001E002E010000);通常,將將閃回事事務(wù)查詢?cè)兣c閃回回版本查查詢相結(jié)結(jié)合,先先利用閃閃回版本本查詢獲獲取事務(wù)務(wù)ID及及事務(wù)操操作結(jié)果果,然后后利用事事務(wù)ID查詢事事務(wù)的詳詳細(xì)操作作信息。S

22、QLSELECT versions_xid,salFROM scott.empVERSIONSBETWEEN SCNMINVALUEANDMAXVALUEWHEREempno=7844;SQLSELECT operation,undo_sqlFROM FLASHBACK_TRANSACTION_QUERYWHERExid=HEXTORAW(04001E002E010000);14.3閃閃回錯(cuò)誤誤操作技技術(shù)閃回表閃回刪除除閃回?cái)?shù)據(jù)據(jù)庫(kù)14.3.1閃閃回回表概述閃回表是是將表恢恢復(fù)到過(guò)過(guò)去的某某個(gè)時(shí)間間點(diǎn)的狀狀態(tài),為為DBA提供了了一種在在線、快快速、便便捷地恢恢復(fù)對(duì)表表進(jìn)行的的修改、刪除、插入等

23、等錯(cuò)誤的的操作。與閃回查查詢不同同,閃回回查詢只只是得到到表在過(guò)過(guò)去某個(gè)個(gè)時(shí)間點(diǎn)點(diǎn)上的快快照,并并不改變變表的當(dāng)當(dāng)前狀態(tài)態(tài),而閃閃回表則則是將表表及附屬屬對(duì)象一一起恢復(fù)復(fù)到以前前的某個(gè)個(gè)時(shí)間點(diǎn)點(diǎn)。利用閃回回表技術(shù)術(shù)恢復(fù)表表中數(shù)據(jù)據(jù)的過(guò)程程,實(shí)際際上是對(duì)對(duì)表進(jìn)行行DML操作的的過(guò)程。Oracle自動(dòng)維維護(hù)與表表相關(guān)聯(lián)聯(lián)的索引引、觸發(fā)發(fā)器、約約束等,不需要要DBA參與。為了使用用數(shù)據(jù)庫(kù)庫(kù)閃回表表功能,必須滿滿足下列列條件:用戶具有有FLASHBACKANY TABLE系統(tǒng)權(quán)限限,或者者具有所所操作表表的FLASHBACK對(duì)象權(quán)限限;用戶具有有所操作作表的SELECT,INSERT,DELETE,A

24、LTER對(duì)象權(quán)限限;數(shù)據(jù)庫(kù)采采用撤銷銷表空間間進(jìn)行回回滾信息息的自動(dòng)動(dòng)管理,合理設(shè)設(shè)置UNDO_RETENTIOIN參數(shù)值,保證指指定的時(shí)時(shí)間點(diǎn)或或SCN對(duì)應(yīng)信息息保留在在撤銷表表空間中中;啟動(dòng)被操操作表的的ROWMOVEMENT特性,可可以采用用下列方方式進(jìn)行行:ALTERTABLEtableENABLEROW MOVEMENT;閃回表操操作的基基本語(yǔ)法法為FLASHBACKTABLEschema.tableTOSCN|TIMESTAMP expressionENABLE|DISABLETRIGGERS參數(shù)說(shuō)明明SCN:將表恢恢復(fù)到指指定的SCN時(shí)狀態(tài);TIMESTAMP:將表恢恢復(fù)到指指定

25、的時(shí)時(shí)間點(diǎn);ENABLE|DIABLE TRIGGER:在恢復(fù)復(fù)表中數(shù)數(shù)據(jù)的過(guò)過(guò)程中,表上的的觸發(fā)器器是激活活還是禁禁用(默默認(rèn)為禁禁用)。注意SYS用用戶或以以ASSYSDBA身份登登錄的用用戶不能能執(zhí)行閃閃回表操操作。SQLCONNscott/tigerSQLSET TIMEON09:14:01SQLCREATE TABLE test(IDNUMBERPRIMARYKEY,name CHAR(20);09:14:12SQLINSERT INTOtestVALUES(1,ZHANG);09:14:24SQLCOMMIT;09:14:32SQLINSERT INTOtestVALUES(2,Z

26、HAO);09:14:39SQLCOMMIT;09:14:43SQLINSERT INTOtestVALUES(3,WANG);09:14:49SQLCOMMIT;09:16:31SQLSELECT current_scn FROMv$database;CURRENT_SCN-67537109:16:50SQLUPDATE testSET name=LIUWHEREid=1;09:17:02SQLCOMMIT;09:17:05SQLSELECT *FROMtest;IDNAME-1LIU2ZHAO3WANG09:17:13SQLDELETE FROMtestWHEREid=3;09:17:51

27、SQLCOMMIT;09:18:02SQLSELECT *FROMtest;IDNAME-1LIU2ZHAO啟動(dòng)test表表的ROWMOVEMENT特性性09:19:33SQLALTERTABLEtestENABLEROWMOVEMENT;將test表恢恢復(fù)到2009-3-2409:17:51時(shí)時(shí)刻的狀狀態(tài)09:20:06SQLFLASHBACK TABLE testTOTIMESTAMPTO_TIMESTAMP(2009-3-2409:17:51,YYYY-MM-DDHH24:MI:SS);09:20:18SQLSELECT *FROMtest;IDNAME-1LIU2ZHAO3WANG將t

28、est表恢恢復(fù)到SCN為為675371的狀態(tài)態(tài)09:20:25SQLFLASHBACK TABLE testTOSCN675371;09:20:50SQLSELECT *FROMtest;IDNAME-1ZHANG2ZHAO3WANG14.3.2閃閃回回刪除閃回刪除除概述回收站管管理閃回刪除除操作(1)閃閃回刪除除概述閃回刪除除可恢復(fù)復(fù)使用DROP TABLE語(yǔ)句刪刪除的表表,是一一種對(duì)意意外刪除除的表的的恢復(fù)機(jī)機(jī)制。閃回刪除除功能的的實(shí)現(xiàn)主主要是通通過(guò)Oracle10g數(shù)數(shù)據(jù)庫(kù)中中的“回回收站”(RecycleBin)技術(shù)術(shù)實(shí)現(xiàn)的的。在Oracle 10g數(shù)據(jù)據(jù)庫(kù)中,當(dāng)執(zhí)行行DROPTABL

29、E操作作時(shí),并并不立即即回收表表及其關(guān)關(guān)聯(lián)對(duì)象象的空間間,而是是將它們們重命名名后放入入一個(gè)稱稱為“回回收站”的邏輯輯容器中中保存,直到用用戶決定定永久刪刪除它們們或存儲(chǔ)儲(chǔ)該表的的表空間間存儲(chǔ)空空間不足足時(shí),表表才真正正被刪除除。為了使用用閃回刪刪除技術(shù)術(shù),必須須開(kāi)啟數(shù)數(shù)據(jù)庫(kù)的的“回收收站”。(2)回回收站管管理啟動(dòng)“回回收站”要使用閃閃回刪除除功能,需要啟啟動(dòng)數(shù)據(jù)據(jù)庫(kù)的“回收站站”,即即將參數(shù)數(shù)RECYCLEBIN設(shè)置置為ON。在默默認(rèn)情況況下“回回收站”已啟動(dòng)動(dòng)。SQLSHOWPARAMETERRECYCLEBINSQLALTERSYSTEM SETRECYCLEBIN=ON;查看“回回收

30、站”當(dāng)執(zhí)行DROP TABLE操作時(shí)時(shí),表及及其關(guān)聯(lián)聯(lián)對(duì)象被被命名后后保存在在“回收收站”中中,可以以通過(guò)查查詢USER_RECYCLEBIN,DBA_RECYCLEBIN視圖圖獲得被被刪除的的表及其其關(guān)聯(lián)對(duì)對(duì)象信息息。SQLDROPTABLEtest;SQLSELECT BJECT_NAME,ORIGINAL_NAME,TYPEFROM USER_RECYCLEBIN;如果在刪刪除表時(shí)時(shí)使用了了PURGE短短語(yǔ),則則表及其其關(guān)聯(lián)對(duì)對(duì)象被直直接釋放放,空間間被回收收,相關(guān)關(guān)信息不不會(huì)進(jìn)入入“回收收站”中中。SQLCREATE TABLE test_purge(IDNUMBERPRIMARYKE

31、Y,name CHAR(20);SQLDROPTABLEtest_purge PURGE;SQLSELECT BJECT_NAME,ORIGINAL_NAME,TYPEFROM USER_RECYCLEBIN;清除回收收站由于被刪刪除表及及其關(guān)聯(lián)聯(lián)對(duì)象的的信息保保存在“回收站站”中,其存儲(chǔ)儲(chǔ)空間并并沒(méi)有釋釋放,因因此需要要定期清清空“回回收站”,或清清除“回回收站”中沒(méi)用用的對(duì)象象(表、索引、表空間間),釋釋放其所所占的磁磁盤(pán)空間間。清除回收收站語(yǔ)法法為:PURGETABLEtable|INDEXindex|RECYCLEBIN| DBA_RECYCLEBIN|TABLESPACEtables

32、pace USER user參數(shù)說(shuō)明明TABLE:從“回收收站”中中清除指指定的表表,并回回收其磁磁盤(pán)空間間;INDEX:從“回回收站”中清除除指定的的索引,并回收收其磁盤(pán)盤(pán)空間;RECYCLEBIN:清空用用戶“回回收站”,并回回收所有有對(duì)象的的磁盤(pán)空空間;DBA_RECYCLEBIN:清空整整個(gè)數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)的“回回收站”,只有有具有SYSDBA權(quán)限的用用戶才可可以使用用;TABLESPACE:清除“回收站站”中指指定的表表空間,并回收收磁盤(pán)空空間;USER:清除“回收站站”中指指定表空空間中特特定用戶戶的對(duì)象象,并回回收磁盤(pán)盤(pán)空間。例如:SQLPURGEINDEXBIN$i+nXRT6i

33、Tp6Gb3zoP/R5Fw=$0;SQLPURSETABLETEST;SQLPURGERECYCLEBIN;(3)閃閃回刪除除操作閃回刪除除的基本本語(yǔ)法為為FLASHBACKTABLEschema.tableTOBEFORE DROPRENAMETOtable注意只有采用用本地管管理的、非系統(tǒng)統(tǒng)表空間間中的表表可以使使用閃回回刪除操操作。示例SQLCREATE TABLE example(IDNUMBERPRIMARYKEY,NAME CHAR(20);SQLINSERT INTOexampleVALUES(1,BEFORE DROP);SQLCOMMIT;SQLDROPTABLEexamp

34、le;SQLFLASHBACK TABLE exampleTOBEFORE DROPRENAMETOnew_example;SQLSELECT *FROMnew_example;IDNAME-1BEFORE DROP14.3.3閃閃回回?cái)?shù)據(jù)庫(kù)庫(kù)閃回?cái)?shù)據(jù)據(jù)庫(kù)概述述閃回?cái)?shù)據(jù)據(jù)庫(kù)的限限制啟動(dòng)閃回回?cái)?shù)據(jù)庫(kù)庫(kù)的條件件閃回?cái)?shù)據(jù)據(jù)庫(kù)操作作(1)閃閃回?cái)?shù)據(jù)據(jù)庫(kù)概述述閃回?cái)?shù)據(jù)據(jù)庫(kù)技術(shù)術(shù)是將數(shù)數(shù)據(jù)庫(kù)快快速恢復(fù)復(fù)到過(guò)去去的某個(gè)個(gè)時(shí)間點(diǎn)點(diǎn)或SCN值時(shí)時(shí)的狀態(tài)態(tài),以解解決由于于用戶錯(cuò)錯(cuò)誤操作作或邏輯輯數(shù)據(jù)損損壞引起起的問(wèn)題題。閃回?cái)?shù)據(jù)據(jù)庫(kù)操作作不需要要使用備備份重建建數(shù)據(jù)文文件,而而只需要要應(yīng)用閃閃回日志志文件和和歸檔

35、日日志文件件。為了使用用數(shù)據(jù)庫(kù)庫(kù)閃回技技術(shù),需需要預(yù)先先設(shè)置數(shù)數(shù)據(jù)庫(kù)的的閃回恢恢復(fù)區(qū)和和閃回日日志保留留時(shí)間。閃回恢恢復(fù)區(qū)用用于保存存數(shù)據(jù)庫(kù)庫(kù)運(yùn)行過(guò)過(guò)程中產(chǎn)產(chǎn)生的閃閃回日志志文件,而閃回回日志保保留時(shí)間間是指閃閃回恢復(fù)復(fù)區(qū)中的的閃回日日志文件件保留的的時(shí)間,即數(shù)據(jù)據(jù)庫(kù)可以以恢復(fù)到到過(guò)去的的最大時(shí)時(shí)間。(2)閃閃回?cái)?shù)據(jù)據(jù)庫(kù)的限限制閃回?cái)?shù)據(jù)據(jù)庫(kù)操作作的限制制:數(shù)據(jù)文件件損壞或或丟失等等介質(zhì)故故障不能能使用閃閃回?cái)?shù)據(jù)據(jù)庫(kù)進(jìn)行行恢復(fù)。閃回?cái)?shù)數(shù)據(jù)庫(kù)只只能基于于當(dāng)前正正常運(yùn)行行的數(shù)據(jù)據(jù)文件;閃回?cái)?shù)據(jù)據(jù)庫(kù)功能能啟動(dòng)后后,如果果發(fā)生數(shù)數(shù)據(jù)庫(kù)控控制文件件重建或或利用備備份恢復(fù)復(fù)控制文文件,則則不能使使用閃回回?cái)?shù)

36、據(jù)庫(kù)庫(kù);不能使用用閃回?cái)?shù)數(shù)據(jù)庫(kù)進(jìn)進(jìn)行數(shù)據(jù)據(jù)文件收收縮操作作;不能使用用閃回?cái)?shù)數(shù)據(jù)庫(kù)將將數(shù)據(jù)庫(kù)庫(kù)恢復(fù)到到在閃回回日志中中可獲得得最早的的SCN之前的的SCN,因?yàn)闉殚W回日日志文件件在一定定條件下下被刪除除,而不不是始終終保存在在閃回恢恢復(fù)區(qū)中中。(3)啟啟動(dòng)閃回回?cái)?shù)據(jù)庫(kù)庫(kù)的條件件閃回?cái)?shù)據(jù)據(jù)庫(kù)功能能需要滿滿足的條條件:數(shù)據(jù)庫(kù)必必須處于于歸檔模模式(ARCHIVELOG);數(shù)據(jù)庫(kù)設(shè)設(shè)置了閃閃回恢復(fù)復(fù)區(qū);數(shù)據(jù)庫(kù)啟啟用了FLASHBACKDATABASE特特性。設(shè)置數(shù)據(jù)據(jù)庫(kù)的歸歸檔模式式SQL CONNSYS/TIGER AS SYSDBASQL ARCHIVELOG LIST;SQL SHUTDOWN

37、 IMMEDIATESQL STARTUPMOUNTSQL ALTER DATABASE ARCHIVELOG;SQL ALTER DATABASE OPEN;SQL ALTER SYSTEMARCHIVE LOGSTART;SQL ARCHIVELOG LIST;設(shè)置數(shù)據(jù)據(jù)庫(kù)的閃閃回恢復(fù)復(fù)區(qū)在Oracle 10g數(shù)據(jù)據(jù)庫(kù)安裝裝過(guò)程中中,默認(rèn)認(rèn)情況下下已設(shè)置置了數(shù)據(jù)據(jù)庫(kù)的閃閃回恢復(fù)復(fù)區(qū)??梢酝ㄟ^(guò)過(guò)參數(shù)查查詢數(shù)據(jù)據(jù)閃回恢恢復(fù)區(qū)及及其空間間大小。SQL SHOWPARAMETER DB_RECOVERY_FILE啟動(dòng)數(shù)據(jù)據(jù)庫(kù)FLASHBACK特性性為了使用用閃回?cái)?shù)數(shù)據(jù)庫(kù),還需要要啟動(dòng)數(shù)數(shù)據(jù)庫(kù)的的F

38、LASHBACK特性,生成閃閃回日志志文件。在默認(rèn)認(rèn)情況下下,數(shù)據(jù)據(jù)庫(kù)的FLASHBACK特特性是關(guān)關(guān)閉的。在數(shù)據(jù)庫(kù)庫(kù)處于MOUNT狀態(tài)態(tài)時(shí)執(zhí)行行ALTERDATABAEFLASHBACKON命命令,啟啟動(dòng)數(shù)據(jù)據(jù)庫(kù)的FLASHBACK特特性;可以在數(shù)數(shù)據(jù)庫(kù)處處于MOUNT狀態(tài)時(shí)時(shí)執(zhí)行ALTERDATABAE FLASHBACKOFF命命令,關(guān)關(guān)閉數(shù)據(jù)據(jù)庫(kù)的FLASHBACK特特性。需要通過(guò)過(guò)參數(shù)DB_FLASHBACK_RETENTION_TARGET設(shè)置置閃回日日志保留留時(shí)間,該參數(shù)數(shù)默認(rèn)值值為1440分鐘,即一天天。示例SQLSHUTDOWNIMMEDIATESQLSTARTUPMOUNTSQLALTERDATABASEF

溫馨提示

  • 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)論