




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章閃回技術(shù)第12章閃回技術(shù)主要內(nèi)容閃回技術(shù)介紹閃回查詢閃回版本查詢閃回事務(wù)查詢閃回表閃回刪除閃回?cái)?shù)據(jù)庫(kù)主要內(nèi)容閃回技術(shù)介紹12.1閃回技術(shù)介紹閃回基本概念閃回技術(shù)分類12.1閃回技術(shù)介紹閃回基本概念基本概念Oracle9i實(shí)現(xiàn)了基于回滾段的閃回查詢(FlashbackQuery)技術(shù),即從回滾段中讀取一定時(shí)間內(nèi)對(duì)表進(jìn)行操作的數(shù)據(jù),恢復(fù)錯(cuò)誤的DML操作。在Oracle11g中,除提高了閃回查詢功能,實(shí)現(xiàn)了閃回版本查詢、閃回事務(wù)查詢外,還實(shí)現(xiàn)了閃回表、閃回刪除和閃回?cái)?shù)據(jù)庫(kù)的功能。閃回技術(shù)是數(shù)據(jù)庫(kù)恢復(fù)技術(shù)歷史上一次重大的進(jìn)步,從根本上改變了數(shù)據(jù)恢復(fù)。采用閃回技術(shù),可以針對(duì)行級(jí)和事務(wù)級(jí)發(fā)生過(guò)變化的數(shù)據(jù)進(jìn)行恢復(fù),減少了數(shù)據(jù)恢復(fù)的時(shí)間,而且操作簡(jiǎn)單,通過(guò)SQL語(yǔ)句就可以實(shí)現(xiàn)數(shù)據(jù)的恢復(fù),大大提高了數(shù)據(jù)庫(kù)恢復(fù)的效率。基本概念Oracle9i實(shí)現(xiàn)了基于回滾段的閃回查詢(Fla閃回技術(shù)分類閃回查詢(FlashbackQuery):查詢過(guò)去某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)表中的數(shù)據(jù)信息;閃回版本查詢(FlashbackVersionQuery):查詢過(guò)去某個(gè)時(shí)間段或某個(gè)SCN段內(nèi)表中數(shù)據(jù)的變化情況;閃回事務(wù)查詢(FlashbackTransactionQuery):查看某個(gè)事務(wù)或所有事務(wù)在過(guò)去一段時(shí)間對(duì)數(shù)據(jù)進(jìn)行的修改;閃回表(FlashbackTable):將表恢復(fù)到過(guò)去的某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)的狀態(tài);閃回刪除(FlashbackDrop):將已經(jīng)刪除的表及其關(guān)聯(lián)對(duì)象恢復(fù)到刪除前的狀態(tài);閃回?cái)?shù)據(jù)庫(kù)(FlashbackDatabase):將數(shù)據(jù)庫(kù)恢復(fù)到過(guò)去某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)的狀態(tài)。閃回技術(shù)分類閃回查詢(FlashbackQuery):查詢12.2閃回查詢閃回查詢的概念閃回查詢操作12.2閃回查詢閃回查詢的概念12.2.1閃回查詢的概念閃回查詢是指利用數(shù)據(jù)庫(kù)回滾段存放的信息查看指定表中過(guò)去某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)信息,或過(guò)去某個(gè)時(shí)間段數(shù)據(jù)的變化情況,或某個(gè)事務(wù)對(duì)該表的操作信息等。為了使用閃回查詢功能,需要啟動(dòng)數(shù)據(jù)庫(kù)撤銷表空間來(lái)管理回滾信息。與撤銷表空間相關(guān)的參數(shù)包括:
UNDO_MANAGEMENT:指定回滾段的管理方式,如果設(shè)置為AUTO,則采用撤銷表空間自動(dòng)管理回滾信息;
UNDO_TABLESPACE:指定用于回滾信息自動(dòng)管理的撤銷表空間名;
UNDO_RETENTIOIN:指定回滾信息的最長(zhǎng)保留時(shí)間。
12.2.1閃回查詢的概念閃回查詢是指利用數(shù)據(jù)庫(kù)回滾段存放的12.2.2閃回查詢操作閃回查詢可以返回過(guò)去某個(gè)時(shí)間點(diǎn)已經(jīng)提交事務(wù)操作的結(jié)果。基本語(yǔ)法:SELECTcolumn_name[,…]FROMtable_name[ASOFSCN|TIMESTAMPexpression][WHEREcondition]基于ASOFTIMESTAMP的閃回查詢基于ASOFSCN的閃回查詢12.2.2閃回查詢操作閃回查詢可以返回過(guò)去某個(gè)時(shí)間點(diǎn)已經(jīng)提為方便測(cè)試,需要打開(kāi)時(shí)間顯示SQL>ALTERSESSIONSETNLS_DAT_FORMAT=‘YYY-MM-DDHH24:MI:SS’;SQL>SETTIMEON;為方便測(cè)試,需要打開(kāi)時(shí)間顯示20:57:35SQL>SELECTempno,salFROMscott.empWHEREempno=7369;EMPNOSAL----------------------------736980020:57:39SQL>UPDATEscott.empSETsal=2000WHEREempno=7369;20:57:59SQL>COMMIT;20:58:03SQL>UPDATEscott.empSETsal=2500WHEREempno=7369;20:58:54SQL>COMMIT;20:57:35SQL>SELECTempno,sal20:58:57SQL>SELECTempno,salFROMscott.empWHEREempno=7369;EMPNOSAL------------------------------7369250021:01:02SQL>SELECTempno,salFROMscott.empASOFTIMESTAMPSYSDATE-1/24WHEREempno=7369;EMPNOSAL---------------------------736980021:02:43SQL>SELECTempno,salFROMscott.empASOFTIMESTAMPTO_TIMESTAMP('2012-11-2220:58:10','YYYY-MM-DDHH24:MI:SS')WHEREempno=7369;EMPNOSAL----------------------------7369200020:58:57SQL>SELECTempno,sal下面是一個(gè)基于ASOFSCN的閃回查詢示例。21:08:34SQL>SELECTcurrent_scnFROMv$database;CURRENT_SCN-------------------145560021:08:37SQL>SELECTempno,salFROMscott.empWHEREempno=7369;EMPNOSAL---------------------------73692500下面是一個(gè)基于ASOFSCN的閃回查詢示例。21:09:08SQL>UPDATEscott.empSETsal=5000WHEREempno=7369;21:09:26SQL>COMMIT;21:09:44SQL>SELECTcurrent_scnFROMv$database;CURRENT_SCN--------------------145563421:09:53SQL>SELECTempno,salFROMscott.empASOFSCN1455600WHEREempno=7369;EMPNOSAL-----------------------------7369250021:09:08SQL>UPDATEscott.emp12.3閃回版本查詢閃回版本查詢的概念閃回版本查詢操作12.3閃回版本查詢閃回版本查詢的概念12.3.1閃回版本查詢的概念閃回版本查詢可以查詢一條記錄在一段時(shí)間內(nèi)的變化情況,即一條記錄的多個(gè)提交版本信息。閃回版本查詢的基本語(yǔ)法為:SELECTcolumn_name[,…]FROMtable_nameVERSIONSBETWEENSCN|TIMESTAMPMINVALUE|expressionANDMAXVALUE|expression[ASOFSCN|TIMESTAMPexpression]WHEREcondition12.3.1閃回版本查詢的概念閃回版本查詢可以查詢一條記錄在在閃回版本查詢的目標(biāo)列中,可以使用下列偽列返回行的版本信息。VERSIONS_STARTTIME:基于時(shí)間的版本有效范圍的下界。VERSIONS_STARTSCN:基于SCN的版本有效范圍的下界。VERSIONS_ENDTIME:基于時(shí)間的版本有效范圍的上界。VERSIONS_ENDSCN:基于SCN的版本有效范圍的上界。VERSIONS_XID:操作的事務(wù)ID。VERSIONS_OPERATION:執(zhí)行操作的類型,I表示INSERT,D表示DELETE,U表示UPDATE。在閃回版本查詢的目標(biāo)列中,可以使用下列偽列返回行的版本信息。13.3.2閃回版本查詢操作下面是一個(gè)閃回版本查詢示例。SQL>UPDATEscott.empSETsal=6000WHEREempno=7844;SQL>UPDATEscott.empSETsal=6000WHEREempno=7369;SQL>UPDATEscott.empSETsal=7000WHEREempno=7369;SQL>COMMIT;SQL>UPDATEscott.empSETsal=7500WHEREempno=7369;SQL>COMMIT;13.3.2閃回版本查詢操作下面是一個(gè)閃回版本查詢示例??梢曰赩ERSIONSBETWEENTIMESTAMP進(jìn)行閃回版本查詢:SQL>SELECTversions_xidXID,versions_starttimeSTARTTIME,versions_endtimeENDTIME,versions_operationOPERATION,salFROMscott.empVERSIONSBETWEENTIMESTAMPMINVALUEANDMAXVALUEWHEREempno=7369ORDERBYSTARTTIME;可以基于VERSIONSBETWEENTIMESTAMP可以基于VERSIONSBETWEENSCN進(jìn)行閃回版本查詢:SQL>SELECTversions_xidXID,versions_startscnSTARTSCN,versions_endscnENDSCN,versions_operationOPERATION,salFROMscott.empVERSIONSBETWEENSCNMINVALUEANDMAXVALUEWHEREempno=7369ORDERBYSTARTSCN;可以基于VERSIONSBETWEENSCN進(jìn)行閃回版本12.4閃回事務(wù)查詢閃回事務(wù)查詢的概念閃回事務(wù)查詢操作12.4閃回事務(wù)查詢閃回事務(wù)查詢的概念12.4.1閃回事務(wù)查詢的概念閃回事務(wù)查詢可以返回在一個(gè)特定事務(wù)中行的歷史數(shù)據(jù)及與事務(wù)相關(guān)的元數(shù)據(jù),或返回在一個(gè)時(shí)間段內(nèi)所有事務(wù)的操作結(jié)果及事務(wù)的元數(shù)據(jù)。12.4.1閃回事務(wù)查詢的概念閃回事務(wù)查詢可以返回在一個(gè)特定在Oracle11g數(shù)據(jù)庫(kù)中,為了記錄事務(wù)操作的詳細(xì)信息,需要啟動(dòng)數(shù)據(jù)庫(kù)的日志追加功能SQL>ALTERDATABASEADDSUPPLEMENTALLOGDATA;可以從FLASHBACK_TRANSATION_QUERY中查看撤銷表空間中存儲(chǔ)的事務(wù)信息在Oracle11g數(shù)據(jù)庫(kù)中,為了記錄事務(wù)操作的詳細(xì)信息,12.4.2閃回事務(wù)查詢操作通常,將閃回事務(wù)查詢與閃回版本查詢相結(jié)合,先利用閃回版本查詢獲取事務(wù)ID及事務(wù)操作結(jié)果,然后利用事務(wù)ID查詢事務(wù)的詳細(xì)操作信息。
SQL>SELECTversions_xid,salFROMscott.empVERSIONSBETWEENSCNMINVALUEANDMAXVALUEWHEREempno=7844;SQL>SELECToperation,undo_sqlFROMFLASHBACK_TRANSACTION_QUERYWHERExid=HEXTORAW('04001E002E01000012.4.2閃回事務(wù)查詢操作通常,將閃回事務(wù)查詢與閃回版本查12.5閃回表閃回表是將表及附屬對(duì)象一起恢復(fù)到以前的某個(gè)時(shí)刻的狀態(tài)。閃回表的操作實(shí)際上是對(duì)表進(jìn)行DML操作。要對(duì)表進(jìn)行閃回操作,需要啟動(dòng)表的ROWMOVEMENT特性,其方法為:ALTERTABLEtableENABLEROWMOVEMENT;閃回表操作的基本語(yǔ)法為:FLASHBACKTABLE[schema.]tableTOSCN|TIMESTAMPexpression[ENABLE|DISABLETRIGGERS]12.5閃回表閃回表是將表及附屬對(duì)象一起恢復(fù)到以前的某個(gè)12.6閃回刪除閃回刪除的概念閃回刪除操作12.6閃回刪除閃回刪除的概念12.6.1閃回刪除的概念閃回刪除可恢復(fù)使用DROPTABLE語(yǔ)句刪除的表,是一種對(duì)意外刪除的表的恢復(fù)機(jī)制。在Oracle11g數(shù)據(jù)庫(kù)中,當(dāng)執(zhí)行DROPTABLE操作時(shí),并不立即回收表及其關(guān)聯(lián)對(duì)象的空間,而是將它們重命名后放入一個(gè)稱為“回收站”的邏輯容器中保存,直到用戶決定永久刪除它們或存儲(chǔ)該表的表空間存儲(chǔ)空間不足時(shí),表才真正被刪除。為了使用閃回刪除技術(shù),必須開(kāi)啟數(shù)據(jù)庫(kù)的“回收站”。12.6.1閃回刪除的概念閃回刪除可恢復(fù)使用DROPTAB啟動(dòng)“回收站”
要使用閃回刪除功能,需要啟動(dòng)數(shù)據(jù)庫(kù)的“回收站”,即將參數(shù)RECYCLEBIN設(shè)置為ON。在默認(rèn)情況下“回收站”已啟動(dòng)。SQL>SHOWPARAMETERRECYCLEBINSQL>ALTERSYSTEMSETRECYCLEBIN=ON;啟動(dòng)“回收站”查看“回收站”
當(dāng)執(zhí)行DROPTABLE操作時(shí),表及其關(guān)聯(lián)對(duì)象被命名后保存在“回收站”中,可以通過(guò)查詢USER_RECYCLEBIN,DBA_RECYCLEBIN視圖獲得被刪除的表及其關(guān)聯(lián)對(duì)象信息。SQL>DROPTABLEtest;SQL>SELECTOBJECT_NAME,ORIGINAL_NAME,TYPE
FROMUSER_RECYCLEBIN;查看“回收站”12.6.2閃回刪除操作閃回刪除的基本語(yǔ)法為FLASHBACKTABLE[schema.]tableTOBEFOREDROP[RENAMETOnew_name]注意只有采用本地管理的、非系統(tǒng)表空間中的表可以使用閃回刪除操作。12.6.2閃回刪除操作閃回刪除的基本語(yǔ)法為示例SQL>CREATETABLEexample(IDNUMBERPRIMARYKEY,NAMECHAR(20));SQL>INSERTINTOexampleVALUES(1,'BEFOREDROP');SQL>COMMIT;SQL>DROPTABLEexample;SQL>FLASHBACKTABLEexampleTOBEFOREDROPRENAMETOnew_example;SQL>SELECT*FROMnew_example;IDNAME--------------1BEFOREDROP示例12.7閃回?cái)?shù)據(jù)庫(kù)閃回?cái)?shù)據(jù)庫(kù)的概念閃回?cái)?shù)據(jù)庫(kù)操作12.7閃回?cái)?shù)據(jù)庫(kù)閃回?cái)?shù)據(jù)庫(kù)的概念12.7.1閃回?cái)?shù)據(jù)庫(kù)的概念閃回?cái)?shù)據(jù)庫(kù)技術(shù)是將數(shù)據(jù)庫(kù)快速恢復(fù)到過(guò)去的某個(gè)時(shí)間點(diǎn)或SCN值時(shí)的狀態(tài),以解決由于用戶錯(cuò)誤操作或邏輯數(shù)據(jù)損壞引起的問(wèn)題。閃回?cái)?shù)據(jù)庫(kù)操作不需要使用備份重建數(shù)據(jù)文件,而只需要應(yīng)用閃回日志文件和歸檔日志文件。為了使用數(shù)據(jù)庫(kù)閃回技術(shù),需要預(yù)先設(shè)置數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)和閃回日志保留時(shí)間。閃回恢復(fù)區(qū)用于保存數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中產(chǎn)生的閃回日志文件,而閃回日志保留時(shí)間是指閃回恢復(fù)區(qū)中的閃回日志文件保留的時(shí)間,即數(shù)據(jù)庫(kù)可以恢復(fù)到過(guò)去的最大時(shí)間。12.7.1閃回?cái)?shù)據(jù)庫(kù)的概念閃回?cái)?shù)據(jù)庫(kù)技術(shù)是將數(shù)據(jù)庫(kù)快速恢復(fù)閃回?cái)?shù)據(jù)庫(kù)操作的限制:數(shù)據(jù)文件損壞或丟失等介質(zhì)故障不能使用閃回?cái)?shù)據(jù)庫(kù)進(jìn)行恢復(fù)。閃回?cái)?shù)據(jù)庫(kù)只能基于當(dāng)前正常運(yùn)行的數(shù)據(jù)文件;閃回?cái)?shù)據(jù)庫(kù)功能啟動(dòng)后,如果發(fā)生數(shù)據(jù)庫(kù)控制文件重建或利用備份恢復(fù)控制文件,則不能使用閃回?cái)?shù)據(jù)庫(kù);不能使用閃回?cái)?shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)文件收縮操作;不能使用閃回?cái)?shù)據(jù)庫(kù)將數(shù)據(jù)庫(kù)恢復(fù)到在閃回日志中可獲得最早的SCN之前的SCN,因?yàn)殚W回日志文件在一定條件下被刪除,而不是始終保存在閃回恢復(fù)區(qū)中。閃回?cái)?shù)據(jù)庫(kù)操作的限制:閃回?cái)?shù)據(jù)庫(kù)功能需要滿足的條件:配置了數(shù)據(jù)庫(kù)的快速恢復(fù)區(qū)。數(shù)據(jù)庫(kù)必須運(yùn)行在歸檔模式。在數(shù)據(jù)庫(kù)加載狀態(tài)下啟用數(shù)據(jù)庫(kù)的FLASHBACK特性。通過(guò)設(shè)置數(shù)據(jù)庫(kù)參數(shù)DB_FLASHBACK_RETENTION_TARGET,確定可以在多長(zhǎng)時(shí)間內(nèi)閃回?cái)?shù)據(jù)庫(kù)。。閃回?cái)?shù)據(jù)庫(kù)功能需要滿足的條件:設(shè)置數(shù)據(jù)庫(kù)的歸檔模式SQL>CONNSYS/TIGERASSYSDBASQL>ARCHIVELOGLIST;SQL>SHUTDOWNIMMEDIATESQL>STARTUPMOUNTSQL>ALTERDATABASEARCHIVELOG;SQL>ALTERDATABASEOPEN;SQL>ALTERSYSTEMARCHIVELOGSTART;SQL>ARCHIVELOGLIST;設(shè)置數(shù)據(jù)庫(kù)的歸檔模式設(shè)置數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)在Oracle11g數(shù)據(jù)庫(kù)安裝過(guò)程中,默認(rèn)情況下已設(shè)置了數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)??梢酝ㄟ^(guò)參數(shù)查詢數(shù)據(jù)閃回恢復(fù)區(qū)及其空間大小。SQL>SHOWPARAMETERDB_RECOVERY_FILE設(shè)置數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)啟動(dòng)數(shù)據(jù)庫(kù)FLASHBACK特性為了使用閃回?cái)?shù)據(jù)庫(kù),還需要啟動(dòng)數(shù)據(jù)庫(kù)的FLASHBACK特性,生成閃回日志文件。在默認(rèn)情況下,數(shù)據(jù)庫(kù)的FLASHBACK特性是關(guān)閉的。在數(shù)據(jù)庫(kù)處于MOUNT狀態(tài)時(shí)執(zhí)行ALTERDATABAEFLASHBACKON命令,啟動(dòng)數(shù)據(jù)庫(kù)的FLASHBACK特性;需要通過(guò)參數(shù)DB_FLASHBACK_RETENTION_TARGET設(shè)置閃回日志保留時(shí)間,該參數(shù)默認(rèn)值為1440分鐘,即一天。啟動(dòng)數(shù)據(jù)庫(kù)FLASHBACK特性12.7.2閃回?cái)?shù)據(jù)庫(kù)操作閃回?cái)?shù)據(jù)庫(kù)基本語(yǔ)法為FLASHBACK[STANDBY]DATABASE[database]TO[SCN|TIMESTAMPexpression]|[BEFORESCN|TIMESTAMPexpression]參數(shù)說(shuō)明STANDBY:指定執(zhí)行閃回的數(shù)據(jù)庫(kù)為備用數(shù)據(jù)庫(kù);TOSCN:將數(shù)據(jù)庫(kù)恢復(fù)到指定SCN的狀態(tài);TOTIMESTAMP:將數(shù)據(jù)庫(kù)恢復(fù)到指定的時(shí)間點(diǎn);TOBEFORESCN:將數(shù)據(jù)庫(kù)恢復(fù)到指定SCN的前一個(gè)SCN狀態(tài)TOBEFORETIMESTAMP:將數(shù)據(jù)庫(kù)恢復(fù)到指定時(shí)間點(diǎn)前一秒的狀態(tài)。12.7.2閃回?cái)?shù)據(jù)庫(kù)操作閃回?cái)?shù)據(jù)庫(kù)基本語(yǔ)法為查詢數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)前時(shí)間和當(dāng)前SCN。SQL>SELECTSYSDATEFROMDUAL;SYSDATE-------------------2009-03-2512:36:19SQL>SELECTCURRENT_SCNFROMV$DATABASE;CURRENT_SCN-----------735884
查詢數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)前時(shí)間和當(dāng)前SCN。查詢數(shù)據(jù)庫(kù)中當(dāng)前最早的閃回SCN和時(shí)間。SQL>SELECTOLDEST_FLASHBACK_SCN,OLDEST_FLASHBACK_TIMEFROMV$FLASHBACK_DATABASE_LOG;OLDEST_FLASHBACK_SCNLDEST_FLASHBACK_TI---------------------------------------------------------7309552009-03-2510:26:50
查詢數(shù)據(jù)庫(kù)中當(dāng)前最早的閃回SCN和時(shí)間。改變數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)。SQL>SETTIMEON12:37:38SQL>CREATETABLEtest_flashback(IDNUMBER,NAMECHAR(20));12:37:45SQL>INSERTINTOtest_flashbackVALUES(1,'DATABASE');12:37:52SQL>COMMIT;
改變數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)。進(jìn)行閃回?cái)?shù)據(jù)庫(kù)恢復(fù),將數(shù)據(jù)庫(kù)恢復(fù)到創(chuàng)建表之前的狀態(tài)。12:37:56SQL>SHUTDOWNIMMEDIATE12:38:49SQL>STARTUPMOUNTEXCLUSIVE12:43:42SQL>FLASHBACKDATABASETOTIMESTAMP(TO_TIMESTAMP('2009-3-2511:00:00','YYYY-MM-DDHH24:MI:SS'));12:44:38SQL>ALTERDATABASEOPENRESETLOGS;進(jìn)行閃回?cái)?shù)據(jù)庫(kù)恢復(fù),將數(shù)據(jù)庫(kù)恢復(fù)到創(chuàng)建表之前的狀態(tài)。驗(yàn)證數(shù)據(jù)庫(kù)的狀態(tài)(test_flashback表應(yīng)該不存在)。12:44:58SQL>SELECT*FROMtest_flashback;SELECT*FROMtest_flashback*第1行出現(xiàn)錯(cuò)誤:ORA-00942:表或視圖不存在驗(yàn)證數(shù)據(jù)庫(kù)的狀態(tài)(test_flashback表應(yīng)該不存在)總結(jié)閃回查詢操作閃回版本查詢操作閃回事務(wù)查詢操作閃回表操作閃回刪除操作閃回?cái)?shù)據(jù)庫(kù)操作總結(jié)閃回查詢操作第12章閃回技術(shù)第12章閃回技術(shù)主要內(nèi)容閃回技術(shù)介紹閃回查詢閃回版本查詢閃回事務(wù)查詢閃回表閃回刪除閃回?cái)?shù)據(jù)庫(kù)主要內(nèi)容閃回技術(shù)介紹12.1閃回技術(shù)介紹閃回基本概念閃回技術(shù)分類12.1閃回技術(shù)介紹閃回基本概念基本概念Oracle9i實(shí)現(xiàn)了基于回滾段的閃回查詢(FlashbackQuery)技術(shù),即從回滾段中讀取一定時(shí)間內(nèi)對(duì)表進(jìn)行操作的數(shù)據(jù),恢復(fù)錯(cuò)誤的DML操作。在Oracle11g中,除提高了閃回查詢功能,實(shí)現(xiàn)了閃回版本查詢、閃回事務(wù)查詢外,還實(shí)現(xiàn)了閃回表、閃回刪除和閃回?cái)?shù)據(jù)庫(kù)的功能。閃回技術(shù)是數(shù)據(jù)庫(kù)恢復(fù)技術(shù)歷史上一次重大的進(jìn)步,從根本上改變了數(shù)據(jù)恢復(fù)。采用閃回技術(shù),可以針對(duì)行級(jí)和事務(wù)級(jí)發(fā)生過(guò)變化的數(shù)據(jù)進(jìn)行恢復(fù),減少了數(shù)據(jù)恢復(fù)的時(shí)間,而且操作簡(jiǎn)單,通過(guò)SQL語(yǔ)句就可以實(shí)現(xiàn)數(shù)據(jù)的恢復(fù),大大提高了數(shù)據(jù)庫(kù)恢復(fù)的效率。基本概念Oracle9i實(shí)現(xiàn)了基于回滾段的閃回查詢(Fla閃回技術(shù)分類閃回查詢(FlashbackQuery):查詢過(guò)去某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)表中的數(shù)據(jù)信息;閃回版本查詢(FlashbackVersionQuery):查詢過(guò)去某個(gè)時(shí)間段或某個(gè)SCN段內(nèi)表中數(shù)據(jù)的變化情況;閃回事務(wù)查詢(FlashbackTransactionQuery):查看某個(gè)事務(wù)或所有事務(wù)在過(guò)去一段時(shí)間對(duì)數(shù)據(jù)進(jìn)行的修改;閃回表(FlashbackTable):將表恢復(fù)到過(guò)去的某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)的狀態(tài);閃回刪除(FlashbackDrop):將已經(jīng)刪除的表及其關(guān)聯(lián)對(duì)象恢復(fù)到刪除前的狀態(tài);閃回?cái)?shù)據(jù)庫(kù)(FlashbackDatabase):將數(shù)據(jù)庫(kù)恢復(fù)到過(guò)去某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)的狀態(tài)。閃回技術(shù)分類閃回查詢(FlashbackQuery):查詢12.2閃回查詢閃回查詢的概念閃回查詢操作12.2閃回查詢閃回查詢的概念12.2.1閃回查詢的概念閃回查詢是指利用數(shù)據(jù)庫(kù)回滾段存放的信息查看指定表中過(guò)去某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)信息,或過(guò)去某個(gè)時(shí)間段數(shù)據(jù)的變化情況,或某個(gè)事務(wù)對(duì)該表的操作信息等。為了使用閃回查詢功能,需要啟動(dòng)數(shù)據(jù)庫(kù)撤銷表空間來(lái)管理回滾信息。與撤銷表空間相關(guān)的參數(shù)包括:
UNDO_MANAGEMENT:指定回滾段的管理方式,如果設(shè)置為AUTO,則采用撤銷表空間自動(dòng)管理回滾信息;
UNDO_TABLESPACE:指定用于回滾信息自動(dòng)管理的撤銷表空間名;
UNDO_RETENTIOIN:指定回滾信息的最長(zhǎng)保留時(shí)間。
12.2.1閃回查詢的概念閃回查詢是指利用數(shù)據(jù)庫(kù)回滾段存放的12.2.2閃回查詢操作閃回查詢可以返回過(guò)去某個(gè)時(shí)間點(diǎn)已經(jīng)提交事務(wù)操作的結(jié)果?;菊Z(yǔ)法:SELECTcolumn_name[,…]FROMtable_name[ASOFSCN|TIMESTAMPexpression][WHEREcondition]基于ASOFTIMESTAMP的閃回查詢基于ASOFSCN的閃回查詢12.2.2閃回查詢操作閃回查詢可以返回過(guò)去某個(gè)時(shí)間點(diǎn)已經(jīng)提為方便測(cè)試,需要打開(kāi)時(shí)間顯示SQL>ALTERSESSIONSETNLS_DAT_FORMAT=‘YYY-MM-DDHH24:MI:SS’;SQL>SETTIMEON;為方便測(cè)試,需要打開(kāi)時(shí)間顯示20:57:35SQL>SELECTempno,salFROMscott.empWHEREempno=7369;EMPNOSAL----------------------------736980020:57:39SQL>UPDATEscott.empSETsal=2000WHEREempno=7369;20:57:59SQL>COMMIT;20:58:03SQL>UPDATEscott.empSETsal=2500WHEREempno=7369;20:58:54SQL>COMMIT;20:57:35SQL>SELECTempno,sal20:58:57SQL>SELECTempno,salFROMscott.empWHEREempno=7369;EMPNOSAL------------------------------7369250021:01:02SQL>SELECTempno,salFROMscott.empASOFTIMESTAMPSYSDATE-1/24WHEREempno=7369;EMPNOSAL---------------------------736980021:02:43SQL>SELECTempno,salFROMscott.empASOFTIMESTAMPTO_TIMESTAMP('2012-11-2220:58:10','YYYY-MM-DDHH24:MI:SS')WHEREempno=7369;EMPNOSAL----------------------------7369200020:58:57SQL>SELECTempno,sal下面是一個(gè)基于ASOFSCN的閃回查詢示例。21:08:34SQL>SELECTcurrent_scnFROMv$database;CURRENT_SCN-------------------145560021:08:37SQL>SELECTempno,salFROMscott.empWHEREempno=7369;EMPNOSAL---------------------------73692500下面是一個(gè)基于ASOFSCN的閃回查詢示例。21:09:08SQL>UPDATEscott.empSETsal=5000WHEREempno=7369;21:09:26SQL>COMMIT;21:09:44SQL>SELECTcurrent_scnFROMv$database;CURRENT_SCN--------------------145563421:09:53SQL>SELECTempno,salFROMscott.empASOFSCN1455600WHEREempno=7369;EMPNOSAL-----------------------------7369250021:09:08SQL>UPDATEscott.emp12.3閃回版本查詢閃回版本查詢的概念閃回版本查詢操作12.3閃回版本查詢閃回版本查詢的概念12.3.1閃回版本查詢的概念閃回版本查詢可以查詢一條記錄在一段時(shí)間內(nèi)的變化情況,即一條記錄的多個(gè)提交版本信息。閃回版本查詢的基本語(yǔ)法為:SELECTcolumn_name[,…]FROMtable_nameVERSIONSBETWEENSCN|TIMESTAMPMINVALUE|expressionANDMAXVALUE|expression[ASOFSCN|TIMESTAMPexpression]WHEREcondition12.3.1閃回版本查詢的概念閃回版本查詢可以查詢一條記錄在在閃回版本查詢的目標(biāo)列中,可以使用下列偽列返回行的版本信息。VERSIONS_STARTTIME:基于時(shí)間的版本有效范圍的下界。VERSIONS_STARTSCN:基于SCN的版本有效范圍的下界。VERSIONS_ENDTIME:基于時(shí)間的版本有效范圍的上界。VERSIONS_ENDSCN:基于SCN的版本有效范圍的上界。VERSIONS_XID:操作的事務(wù)ID。VERSIONS_OPERATION:執(zhí)行操作的類型,I表示INSERT,D表示DELETE,U表示UPDATE。在閃回版本查詢的目標(biāo)列中,可以使用下列偽列返回行的版本信息。13.3.2閃回版本查詢操作下面是一個(gè)閃回版本查詢示例。SQL>UPDATEscott.empSETsal=6000WHEREempno=7844;SQL>UPDATEscott.empSETsal=6000WHEREempno=7369;SQL>UPDATEscott.empSETsal=7000WHEREempno=7369;SQL>COMMIT;SQL>UPDATEscott.empSETsal=7500WHEREempno=7369;SQL>COMMIT;13.3.2閃回版本查詢操作下面是一個(gè)閃回版本查詢示例??梢曰赩ERSIONSBETWEENTIMESTAMP進(jìn)行閃回版本查詢:SQL>SELECTversions_xidXID,versions_starttimeSTARTTIME,versions_endtimeENDTIME,versions_operationOPERATION,salFROMscott.empVERSIONSBETWEENTIMESTAMPMINVALUEANDMAXVALUEWHEREempno=7369ORDERBYSTARTTIME;可以基于VERSIONSBETWEENTIMESTAMP可以基于VERSIONSBETWEENSCN進(jìn)行閃回版本查詢:SQL>SELECTversions_xidXID,versions_startscnSTARTSCN,versions_endscnENDSCN,versions_operationOPERATION,salFROMscott.empVERSIONSBETWEENSCNMINVALUEANDMAXVALUEWHEREempno=7369ORDERBYSTARTSCN;可以基于VERSIONSBETWEENSCN進(jìn)行閃回版本12.4閃回事務(wù)查詢閃回事務(wù)查詢的概念閃回事務(wù)查詢操作12.4閃回事務(wù)查詢閃回事務(wù)查詢的概念12.4.1閃回事務(wù)查詢的概念閃回事務(wù)查詢可以返回在一個(gè)特定事務(wù)中行的歷史數(shù)據(jù)及與事務(wù)相關(guān)的元數(shù)據(jù),或返回在一個(gè)時(shí)間段內(nèi)所有事務(wù)的操作結(jié)果及事務(wù)的元數(shù)據(jù)。12.4.1閃回事務(wù)查詢的概念閃回事務(wù)查詢可以返回在一個(gè)特定在Oracle11g數(shù)據(jù)庫(kù)中,為了記錄事務(wù)操作的詳細(xì)信息,需要啟動(dòng)數(shù)據(jù)庫(kù)的日志追加功能SQL>ALTERDATABASEADDSUPPLEMENTALLOGDATA;可以從FLASHBACK_TRANSATION_QUERY中查看撤銷表空間中存儲(chǔ)的事務(wù)信息在Oracle11g數(shù)據(jù)庫(kù)中,為了記錄事務(wù)操作的詳細(xì)信息,12.4.2閃回事務(wù)查詢操作通常,將閃回事務(wù)查詢與閃回版本查詢相結(jié)合,先利用閃回版本查詢獲取事務(wù)ID及事務(wù)操作結(jié)果,然后利用事務(wù)ID查詢事務(wù)的詳細(xì)操作信息。
SQL>SELECTversions_xid,salFROMscott.empVERSIONSBETWEENSCNMINVALUEANDMAXVALUEWHEREempno=7844;SQL>SELECToperation,undo_sqlFROMFLASHBACK_TRANSACTION_QUERYWHERExid=HEXTORAW('04001E002E01000012.4.2閃回事務(wù)查詢操作通常,將閃回事務(wù)查詢與閃回版本查12.5閃回表閃回表是將表及附屬對(duì)象一起恢復(fù)到以前的某個(gè)時(shí)刻的狀態(tài)。閃回表的操作實(shí)際上是對(duì)表進(jìn)行DML操作。要對(duì)表進(jìn)行閃回操作,需要啟動(dòng)表的ROWMOVEMENT特性,其方法為:ALTERTABLEtableENABLEROWMOVEMENT;閃回表操作的基本語(yǔ)法為:FLASHBACKTABLE[schema.]tableTOSCN|TIMESTAMPexpression[ENABLE|DISABLETRIGGERS]12.5閃回表閃回表是將表及附屬對(duì)象一起恢復(fù)到以前的某個(gè)12.6閃回刪除閃回刪除的概念閃回刪除操作12.6閃回刪除閃回刪除的概念12.6.1閃回刪除的概念閃回刪除可恢復(fù)使用DROPTABLE語(yǔ)句刪除的表,是一種對(duì)意外刪除的表的恢復(fù)機(jī)制。在Oracle11g數(shù)據(jù)庫(kù)中,當(dāng)執(zhí)行DROPTABLE操作時(shí),并不立即回收表及其關(guān)聯(lián)對(duì)象的空間,而是將它們重命名后放入一個(gè)稱為“回收站”的邏輯容器中保存,直到用戶決定永久刪除它們或存儲(chǔ)該表的表空間存儲(chǔ)空間不足時(shí),表才真正被刪除。為了使用閃回刪除技術(shù),必須開(kāi)啟數(shù)據(jù)庫(kù)的“回收站”。12.6.1閃回刪除的概念閃回刪除可恢復(fù)使用DROPTAB啟動(dòng)“回收站”
要使用閃回刪除功能,需要啟動(dòng)數(shù)據(jù)庫(kù)的“回收站”,即將參數(shù)RECYCLEBIN設(shè)置為ON。在默認(rèn)情況下“回收站”已啟動(dòng)。SQL>SHOWPARAMETERRECYCLEBINSQL>ALTERSYSTEMSETRECYCLEBIN=ON;啟動(dòng)“回收站”查看“回收站”
當(dāng)執(zhí)行DROPTABLE操作時(shí),表及其關(guān)聯(lián)對(duì)象被命名后保存在“回收站”中,可以通過(guò)查詢USER_RECYCLEBIN,DBA_RECYCLEBIN視圖獲得被刪除的表及其關(guān)聯(lián)對(duì)象信息。SQL>DROPTABLEtest;SQL>SELECTOBJECT_NAME,ORIGINAL_NAME,TYPE
FROMUSER_RECYCLEBIN;查看“回收站”12.6.2閃回刪除操作閃回刪除的基本語(yǔ)法為FLASHBACKTABLE[schema.]tableTOBEFOREDROP[RENAMETOnew_name]注意只有采用本地管理的、非系統(tǒng)表空間中的表可以使用閃回刪除操作。12.6.2閃回刪除操作閃回刪除的基本語(yǔ)法為示例SQL>CREATETABLEexample(IDNUMBERPRIMARYKEY,NAMECHAR(20));SQL>INSERTINTOexampleVALUES(1,'BEFOREDROP');SQL>COMMIT;SQL>DROPTABLEexample;SQL>FLASHBACKTABLEexampleTOBEFOREDROPRENAMETOnew_example;SQL>SELECT*FROMnew_example;IDNAME--------------1BEFOREDROP示例12.7閃回?cái)?shù)據(jù)庫(kù)閃回?cái)?shù)據(jù)庫(kù)的概念閃回?cái)?shù)據(jù)庫(kù)操作12.7閃回?cái)?shù)據(jù)庫(kù)閃回?cái)?shù)據(jù)庫(kù)的概念12.7.1閃回?cái)?shù)據(jù)庫(kù)的概念閃回?cái)?shù)據(jù)庫(kù)技術(shù)是將數(shù)據(jù)庫(kù)快速恢復(fù)到過(guò)去的某個(gè)時(shí)間點(diǎn)或SCN值時(shí)的狀態(tài),以解決由于用戶錯(cuò)誤操作或邏輯數(shù)據(jù)損壞引起的問(wèn)題。閃回?cái)?shù)據(jù)庫(kù)操作不需要使用備份重建數(shù)據(jù)文件,而只需要應(yīng)用閃回日志文件和歸檔日志文件。為了使用數(shù)據(jù)庫(kù)閃回技術(shù),需要預(yù)先設(shè)置數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)和閃回日志保留時(shí)間。閃回恢復(fù)區(qū)用于保存數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中產(chǎn)生的閃回日志文件,而閃回日志保留時(shí)間是指閃回恢復(fù)區(qū)中的閃回日志文件保留的時(shí)間,即數(shù)據(jù)庫(kù)可以恢復(fù)到過(guò)去的最大時(shí)間。12.7.1閃回?cái)?shù)據(jù)庫(kù)的概念閃回?cái)?shù)據(jù)庫(kù)技術(shù)是將數(shù)據(jù)庫(kù)快速恢復(fù)閃回?cái)?shù)據(jù)庫(kù)操作的限制:數(shù)據(jù)文件損壞或丟失等介質(zhì)故障不能使用閃回?cái)?shù)據(jù)庫(kù)進(jìn)行恢復(fù)。閃回?cái)?shù)據(jù)庫(kù)只能基于當(dāng)前正常運(yùn)行的數(shù)據(jù)文件;閃回?cái)?shù)據(jù)庫(kù)功能啟動(dòng)后,如果發(fā)生數(shù)據(jù)庫(kù)控制文件重建或利用備份恢復(fù)控制文件,則不能使用閃回?cái)?shù)據(jù)庫(kù);不能使用閃回?cái)?shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)文件收縮操作;不能使用閃回?cái)?shù)據(jù)庫(kù)將數(shù)據(jù)庫(kù)恢復(fù)到在閃回日志中可獲得最早的SCN之前的SCN,因?yàn)殚W回日志文件在一定條件下被刪除,而不是始終保存在閃回恢復(fù)區(qū)中。閃回?cái)?shù)據(jù)庫(kù)操作的限制:閃回?cái)?shù)據(jù)庫(kù)功能需要滿足的條件:配置了數(shù)據(jù)庫(kù)的快速恢復(fù)區(qū)。數(shù)據(jù)庫(kù)必須運(yùn)行在歸檔模式。在數(shù)據(jù)庫(kù)加載狀態(tài)下啟用數(shù)據(jù)庫(kù)的FLASHBACK特性。通過(guò)設(shè)置數(shù)據(jù)庫(kù)參數(shù)DB_FLASHBACK_RETENTION_TARGET,確定可以在多長(zhǎng)時(shí)間內(nèi)閃回?cái)?shù)據(jù)庫(kù)。。閃回?cái)?shù)據(jù)庫(kù)功能需要滿足的條件:設(shè)置數(shù)據(jù)庫(kù)的歸檔模式SQL>CONNSYS/TIGERASSYSDBASQL>ARCHIVELOGLIST;SQL>SHUTDOWNIMMEDIATESQL>STARTUPMOUNTSQL>ALTERDATABASEARCHIVELOG;SQL>ALTERDATABASEOPEN;SQL>ALTERSYSTEMARCHIVELOGSTART;SQL>ARCHIVELOGLIST;設(shè)置數(shù)據(jù)庫(kù)的歸檔模式設(shè)置數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)在Oracle11g數(shù)據(jù)庫(kù)安裝過(guò)程中,默認(rèn)情況下已設(shè)置了數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)。可以通過(guò)參數(shù)查詢數(shù)據(jù)閃回恢復(fù)區(qū)及其空間大小。SQL>SHOWPARAMETERDB_RECOVERY_FILE設(shè)置數(shù)據(jù)庫(kù)的閃回恢復(fù)區(qū)啟動(dòng)數(shù)據(jù)庫(kù)FLASHBACK特性為了使用閃回?cái)?shù)據(jù)庫(kù),還需要啟動(dòng)數(shù)據(jù)庫(kù)的FLASHBACK特性,生成閃回日志文件。在默認(rèn)情況下,數(shù)據(jù)庫(kù)的FLASHBACK特性是關(guān)閉的。在數(shù)據(jù)庫(kù)處于MOUNT狀態(tài)時(shí)執(zhí)行ALTERDATABAEFLASHBACKON命令,啟動(dòng)數(shù)據(jù)庫(kù)的FLASHBACK特性;需要通過(guò)參數(shù)DB_FLASHBACK_RETENTION_TARGET設(shè)置閃回日志保留時(shí)間,該參數(shù)默認(rèn)值為1440分鐘,即一天。啟動(dòng)數(shù)據(jù)庫(kù)FLASHBACK特性12.7.2閃回?cái)?shù)據(jù)庫(kù)操作閃回?cái)?shù)據(jù)庫(kù)基本語(yǔ)法為FLASHBACK[STANDBY]DATABASE[database]TO[SCN|TIMESTAMPexpression]|[BEFORESCN|TIMESTAMPexpression]參數(shù)說(shuō)明STANDBY:指定執(zhí)行閃回的數(shù)據(jù)庫(kù)為備用數(shù)據(jù)庫(kù);TOSCN:將數(shù)據(jù)庫(kù)恢復(fù)到指定SCN的狀態(tài);TOTIMESTAMP:將數(shù)據(jù)庫(kù)恢復(fù)到指定的時(shí)間點(diǎn);TOBEFORESCN:將數(shù)據(jù)庫(kù)恢復(fù)到指定SCN的前一個(gè)SCN狀態(tài)TOBEFORETIMESTAMP:將數(shù)據(jù)庫(kù)恢復(fù)到指定時(shí)間點(diǎn)前一秒的狀態(tài)。12.7.2閃回?cái)?shù)據(jù)庫(kù)操作閃回?cái)?shù)據(jù)庫(kù)基本語(yǔ)法為查詢數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)前時(shí)間和當(dāng)前SCN。SQL>SELECTSYSDATEFROMDUAL;SYSDATE-------------------2009-03-2512:36:19SQL>SELECTCURRENT_SCNFROMV$DATABASE;CURRENT_SCN-----------735884
查詢數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)前時(shí)間和當(dāng)前SCN。查詢數(shù)據(jù)庫(kù)中當(dāng)前最早的閃回SCN和時(shí)間。SQL>SELECTOLDEST_FLA
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025兼職國(guó)慶節(jié)臨時(shí)工合同范文
- 深圳市房屋出租合同
- 宅基地贈(zèng)與合同范本
- 2025版FIDIC施工合同條款解析
- 2025授權(quán)制作廣播節(jié)目合同樣本
- 單位禮品訂購(gòu)協(xié)議書(shū)
- 拆遷補(bǔ)償協(xié)議書(shū)范文
- 2025年03月山東海事局公開(kāi)招聘事業(yè)單位人員4人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年03月南通開(kāi)放大學(xué)工作人員5人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 甘肅省定西市臨洮縣文峰中學(xué)2024-2025學(xué)年高一下學(xué)期第一次月考語(yǔ)文試卷(含答案)
- 空調(diào)維保服務(wù)方案(技術(shù)方案)
- 高空發(fā)光字安裝應(yīng)急預(yù)案
- 量具能力準(zhǔn)則Cg-Cgk評(píng)價(jià)報(bào)告
- 中藥房中藥斗譜編排規(guī)則和斗譜圖
- TY/T 1105-2023群眾體育賽事活動(dòng)安全評(píng)估技術(shù)導(dǎo)則
- 半自動(dòng)打包機(jī)維修手冊(cè)
- 侵權(quán)責(zé)任法各章課件
- 注冊(cè)建造師考前培訓(xùn)項(xiàng)目管理丁士昭
- 職業(yè)健康職業(yè)衛(wèi)生檢查和處理記錄
- 深化安全風(fēng)險(xiǎn)管理的“四維度量”
- 隧道地表注漿施工技術(shù)交底
評(píng)論
0/150
提交評(píng)論