版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1頁授課教師:姚瑤授課教師:姚瑤 職務(wù):講師職務(wù):講師第2頁第十六章第十六章Oracle閃回(閃回(Flashback)技術(shù)技術(shù)本章概述 主要內(nèi)容第3頁本章概述本章概述 為了使為了使Oracle數(shù)據(jù)庫數(shù)據(jù)庫從從任何邏輯誤操作任何邏輯誤操作中迅速恢復(fù),中迅速恢復(fù),Oracle 數(shù)據(jù)庫提供了一系列人為錯(cuò)誤更正技術(shù),稱為閃回。數(shù)據(jù)庫提供了一系列人為錯(cuò)誤更正技術(shù),稱為閃回。使用閃回(使用閃回(Flashback)技術(shù)可以實(shí)現(xiàn)基于磁盤上閃回恢)技術(shù)可以實(shí)現(xiàn)基于磁盤上閃回恢復(fù)區(qū)的自動備份與恢復(fù)。本章介紹與數(shù)據(jù)庫閃回相關(guān)的知復(fù)區(qū)的自動備份與恢復(fù)。本章介紹與數(shù)據(jù)庫閃回相關(guān)的知識。閃回技術(shù)從識。閃回技術(shù)從or
2、acle9i版本的閃回查詢開始,在版本的閃回查詢開始,在Oracle10g版本中系統(tǒng)地使用,版本中系統(tǒng)地使用,Oracle11g版本中進(jìn)行了加版本中進(jìn)行了加強(qiáng)。強(qiáng)。第4頁主要內(nèi)容主要內(nèi)容16.1 閃回技術(shù)概述閃回技術(shù)概述16.2 閃回?cái)?shù)據(jù)庫閃回?cái)?shù)據(jù)庫16.3 閃回表閃回表16.4 閃回查詢閃回查詢16.5 閃回版本查詢閃回版本查詢16.6 閃回事務(wù)查詢閃回事務(wù)查詢16.7 閃回丟棄閃回丟棄16.8 小結(jié)小結(jié)16.9 習(xí)題習(xí)題第5頁16.1 閃回技術(shù)概述閃回技術(shù)概述 為了使為了使Oracle數(shù)據(jù)庫數(shù)據(jù)庫從從任何邏輯誤操作任何邏輯誤操作中迅速恢復(fù),中迅速恢復(fù),Oracle 數(shù)據(jù)庫提供了一系列人為錯(cuò)
3、誤更正技術(shù),稱為閃回。數(shù)據(jù)庫提供了一系列人為錯(cuò)誤更正技術(shù),稱為閃回。傳統(tǒng)上,從人為錯(cuò)誤中恢復(fù)數(shù)據(jù)庫唯一的辦法就是采用用戶傳統(tǒng)上,從人為錯(cuò)誤中恢復(fù)數(shù)據(jù)庫唯一的辦法就是采用用戶管理的備份和恢復(fù)技術(shù)。而閃回技術(shù)提供了從邏輯錯(cuò)誤中恢管理的備份和恢復(fù)技術(shù)。而閃回技術(shù)提供了從邏輯錯(cuò)誤中恢復(fù)的更有效和更快的方法,多數(shù)情況下,在用這種技術(shù)進(jìn)行復(fù)的更有效和更快的方法,多數(shù)情況下,在用這種技術(shù)進(jìn)行恢復(fù)時(shí)數(shù)據(jù)庫仍然聯(lián)機(jī)并對用戶可用。此外,閃回技術(shù)允許恢復(fù)時(shí)數(shù)據(jù)庫仍然聯(lián)機(jī)并對用戶可用。此外,閃回技術(shù)允許選擇性地復(fù)原某些對象。在選擇性地復(fù)原某些對象。在Oracle11g中,閃回技術(shù)包括以下中,閃回技術(shù)包括以下方面:方面
4、: 閃回?cái)?shù)據(jù)庫(閃回?cái)?shù)據(jù)庫(Flashback Database):允許用戶通過):允許用戶通過Flashback Database語句,使數(shù)據(jù)庫迅速地回滾到以前的某個(gè)語句,使數(shù)據(jù)庫迅速地回滾到以前的某個(gè)時(shí)間點(diǎn)或某個(gè)時(shí)間點(diǎn)或某個(gè)SCN(系統(tǒng)更改號)值時(shí)的狀態(tài)。(系統(tǒng)更改號)值時(shí)的狀態(tài)。 閃回丟棄(閃回丟棄(Flashback Drop):類似于操作系統(tǒng)的垃圾):類似于操作系統(tǒng)的垃圾回收站功能,可以從中恢復(fù)被回收站功能,可以從中恢復(fù)被drop的表或索引。該功能基于的表或索引。該功能基于撤銷數(shù)據(jù)。撤銷數(shù)據(jù)。第6頁 閃回查詢(閃回查詢(Flashback Query):查詢過去某個(gè)時(shí)間點(diǎn)):查詢過去
5、某個(gè)時(shí)間點(diǎn)或者某個(gè)或者某個(gè)SCN值時(shí)表中的數(shù)據(jù)信息。值時(shí)表中的數(shù)據(jù)信息。 閃回版本查詢(閃回版本查詢(Flashback Version Quary):查詢過):查詢過去某個(gè)時(shí)間段或某個(gè)去某個(gè)時(shí)間段或某個(gè)SCN段內(nèi)表中數(shù)據(jù)的變化情況。段內(nèi)表中數(shù)據(jù)的變化情況。 閃回事務(wù)查詢(閃回事務(wù)查詢(Flashback Transaction Query):查):查看某個(gè)事務(wù)或所有事務(wù)在過去一段時(shí)間對數(shù)據(jù)進(jìn)行的修改??茨硞€(gè)事務(wù)或所有事務(wù)在過去一段時(shí)間對數(shù)據(jù)進(jìn)行的修改。 閃回表(閃回表(Flashback Table):將表恢復(fù)到過去的某個(gè)):將表恢復(fù)到過去的某個(gè)時(shí)間點(diǎn)或某個(gè)時(shí)間點(diǎn)或某個(gè)SCN值時(shí)的狀態(tài)。值時(shí)
6、的狀態(tài)。 閃回技術(shù)最大的特點(diǎn)是實(shí)現(xiàn)自動備份與恢復(fù),大大減閃回技術(shù)最大的特點(diǎn)是實(shí)現(xiàn)自動備份與恢復(fù),大大減小了管理開銷。當(dāng)小了管理開銷。當(dāng)Oracle數(shù)據(jù)庫發(fā)生人為故障時(shí),不需要事數(shù)據(jù)庫發(fā)生人為故障時(shí),不需要事先備份數(shù)據(jù)庫,就可以利用閃回技術(shù)快速而方便地進(jìn)行恢復(fù)。先備份數(shù)據(jù)庫,就可以利用閃回技術(shù)快速而方便地進(jìn)行恢復(fù)。為了使用數(shù)據(jù)庫的閃回技術(shù),必須啟用撤銷表空間自動管理為了使用數(shù)據(jù)庫的閃回技術(shù),必須啟用撤銷表空間自動管理回滾信息。如果要使用閃回刪除技術(shù)和閃回?cái)?shù)據(jù)庫技術(shù),還回滾信息。如果要使用閃回刪除技術(shù)和閃回?cái)?shù)據(jù)庫技術(shù),還需要啟用回收站、閃回恢復(fù)區(qū)。需要啟用回收站、閃回恢復(fù)區(qū)。第7頁主要內(nèi)容主要內(nèi)容
7、16.1 閃回技術(shù)概述閃回技術(shù)概述16.2 閃回?cái)?shù)據(jù)庫閃回?cái)?shù)據(jù)庫16.3 閃回表閃回表16.4 閃回查詢閃回查詢16.5 閃回版本查詢閃回版本查詢16.6 閃回事務(wù)查詢閃回事務(wù)查詢16.7 閃回丟棄閃回丟棄16.8 小結(jié)小結(jié)16.9 習(xí)題習(xí)題第8頁16.2 閃回?cái)?shù)據(jù)庫 閃回?cái)?shù)據(jù)庫能夠使數(shù)據(jù)庫迅速回滾到以前的某個(gè)時(shí)間點(diǎn)閃回?cái)?shù)據(jù)庫能夠使數(shù)據(jù)庫迅速回滾到以前的某個(gè)時(shí)間點(diǎn)或者某個(gè)或者某個(gè)SCN(系統(tǒng)更改號)上。這是大多數(shù)邏輯損害時(shí)恢(系統(tǒng)更改號)上。這是大多數(shù)邏輯損害時(shí)恢復(fù)數(shù)據(jù)庫的最佳選擇。復(fù)數(shù)據(jù)庫的最佳選擇。Oracle系統(tǒng)為了使用數(shù)據(jù)庫的閃回功系統(tǒng)為了使用數(shù)據(jù)庫的閃回功能,特別創(chuàng)建了另外一組日志,
8、就是能,特別創(chuàng)建了另外一組日志,就是Flashback_logs(閃回日閃回日志志),記錄數(shù)據(jù)庫的閃回操作。,記錄數(shù)據(jù)庫的閃回操作。 因?yàn)榛謴?fù)不再受數(shù)據(jù)庫大小的影響,使用閃回?cái)?shù)據(jù)庫因?yàn)榛謴?fù)不再受數(shù)據(jù)庫大小的影響,使用閃回?cái)?shù)據(jù)庫恢復(fù)比用傳統(tǒng)的恢復(fù)方法要快得多。也就是說,傳統(tǒng)的恢復(fù)恢復(fù)比用傳統(tǒng)的恢復(fù)方法要快得多。也就是說,傳統(tǒng)的恢復(fù)時(shí)間(時(shí)間(MTTR)是由所需重建的數(shù)據(jù)文件的大小和所要應(yīng)用)是由所需重建的數(shù)據(jù)文件的大小和所要應(yīng)用的歸檔日志的大小決定的。而使用閃回?cái)?shù)據(jù)庫,恢復(fù)時(shí)間是的歸檔日志的大小決定的。而使用閃回?cái)?shù)據(jù)庫,恢復(fù)時(shí)間是由恢復(fù)過程中需要備份的變化的數(shù)量決定的,而不是數(shù)據(jù)文由恢復(fù)過程中需
9、要備份的變化的數(shù)量決定的,而不是數(shù)據(jù)文件和歸檔日志的大小。件和歸檔日志的大小。第9頁 閃回?cái)?shù)據(jù)庫的結(jié)構(gòu)是由恢復(fù)寫入器(閃回?cái)?shù)據(jù)庫的結(jié)構(gòu)是由恢復(fù)寫入器(RVWR)后臺進(jìn))后臺進(jìn)程和閃回?cái)?shù)據(jù)庫日志組成的。如果要啟動閃回?cái)?shù)據(jù)庫功能,程和閃回?cái)?shù)據(jù)庫日志組成的。如果要啟動閃回?cái)?shù)據(jù)庫功能,RVWR進(jìn)程也要啟動。閃回?cái)?shù)據(jù)庫日志是一種新的日志文件進(jìn)程也要啟動。閃回?cái)?shù)據(jù)庫日志是一種新的日志文件類型,它包括物理數(shù)據(jù)塊先前的類型,它包括物理數(shù)據(jù)塊先前的“圖像圖像”。閃回恢復(fù)區(qū)是閃。閃回恢復(fù)區(qū)是閃回?cái)?shù)據(jù)庫的先決條件,因?yàn)榛財(cái)?shù)據(jù)庫的先決條件,因?yàn)镽VWR進(jìn)程要將閃回日志寫入該進(jìn)程要將閃回日志寫入該區(qū)域中,所以在使用閃回
10、數(shù)據(jù)庫功能時(shí),必須首先配置閃回區(qū)域中,所以在使用閃回?cái)?shù)據(jù)庫功能時(shí),必須首先配置閃回恢復(fù)區(qū)。恢復(fù)區(qū)。 Oracle11g的的FLASHBACK命令可以對表級進(jìn)行恢復(fù),命令可以對表級進(jìn)行恢復(fù),也可以對數(shù)據(jù)庫級進(jìn)行恢復(fù)。要對數(shù)據(jù)庫級進(jìn)行恢復(fù),就要也可以對數(shù)據(jù)庫級進(jìn)行恢復(fù)。要對數(shù)據(jù)庫級進(jìn)行恢復(fù),就要用到用到FLASHBACK DATABASE命令,語法格式如下:命令,語法格式如下:FLASHBACK STANDBY DATABASE TO SCN | TIMESTAMP | TO BEFORE SCN | TIMESTAMP 第10頁其中參數(shù)說明如下:其中參數(shù)說明如下: l STANDBY:指定恢復(fù)備
11、用的數(shù)據(jù)庫到某個(gè):指定恢復(fù)備用的數(shù)據(jù)庫到某個(gè)SCN或者或者某個(gè)時(shí)間點(diǎn)上。如果沒有備用數(shù)據(jù)庫,則系統(tǒng)會返回一個(gè)錯(cuò)某個(gè)時(shí)間點(diǎn)上。如果沒有備用數(shù)據(jù)庫,則系統(tǒng)會返回一個(gè)錯(cuò)誤。如果省略誤。如果省略STANDBY子項(xiàng),則數(shù)據(jù)庫可能是主數(shù)據(jù)庫,子項(xiàng),則數(shù)據(jù)庫可能是主數(shù)據(jù)庫,也可能是備用數(shù)據(jù)庫。也可能是備用數(shù)據(jù)庫。l TO SCN :指定一個(gè)系統(tǒng)改變號:指定一個(gè)系統(tǒng)改變號SCN。l TO BEFORE SCN :恢復(fù)到之前的:恢復(fù)到之前的SCN。l TO TIMESTAMP:需要恢復(fù)的時(shí)間表達(dá)式。:需要恢復(fù)的時(shí)間表達(dá)式。l TO BEFORE TIMESTAMP:恢復(fù)數(shù)據(jù)庫到之前的時(shí)間表:恢復(fù)數(shù)據(jù)庫到之前的時(shí)
12、間表達(dá)式。達(dá)式。 用戶可以從用戶可以從sysdate中得到系統(tǒng)的當(dāng)前時(shí)間。中得到系統(tǒng)的當(dāng)前時(shí)間。 當(dāng)用戶發(fā)出當(dāng)用戶發(fā)出FLASHBACK DATABASE語句之后,數(shù)語句之后,數(shù)據(jù)庫會首先檢查所需要的歸檔文件與聯(lián)機(jī)重建日志文件的可據(jù)庫會首先檢查所需要的歸檔文件與聯(lián)機(jī)重建日志文件的可用性。如果可用,則會將數(shù)據(jù)庫恢復(fù)到指定的用性。如果可用,則會將數(shù)據(jù)庫恢復(fù)到指定的SCN或者時(shí)間或者時(shí)間點(diǎn)上。點(diǎn)上。第11頁 在數(shù)據(jù)庫中閃回?cái)?shù)據(jù)庫的總數(shù)和大小由在數(shù)據(jù)庫中閃回?cái)?shù)據(jù)庫的總數(shù)和大小由DB_FLASHBACK_RETENTION_TARGET初始化參數(shù)控初始化參數(shù)控制??赏ㄟ^查詢制??赏ㄟ^查詢V$FLASHB
13、ACK_DATABASE_LOG視圖視圖來確定能恢復(fù)到過去多遠(yuǎn)。來確定能恢復(fù)到過去多遠(yuǎn)。 如果數(shù)據(jù)庫中所保留的數(shù)據(jù)不夠執(zhí)行恢復(fù),可使用如果數(shù)據(jù)庫中所保留的數(shù)據(jù)不夠執(zhí)行恢復(fù),可使用標(biāo)準(zhǔn)的恢復(fù)過程恢復(fù)到過去的某個(gè)時(shí)間點(diǎn)上。標(biāo)準(zhǔn)的恢復(fù)過程恢復(fù)到過去的某個(gè)時(shí)間點(diǎn)上。 如果數(shù)據(jù)文件集沒有保留足夠的數(shù)據(jù),則數(shù)據(jù)庫會如果數(shù)據(jù)文件集沒有保留足夠的數(shù)據(jù),則數(shù)據(jù)庫會返回一個(gè)錯(cuò)誤,在這種情況下,可先使用數(shù)據(jù)文件脫機(jī),返回一個(gè)錯(cuò)誤,在這種情況下,可先使用數(shù)據(jù)文件脫機(jī),然后再發(fā)出語句恢復(fù)剩余的部分,最后再用標(biāo)準(zhǔn)方法恢復(fù)然后再發(fā)出語句恢復(fù)剩余的部分,最后再用標(biāo)準(zhǔn)方法恢復(fù)這些脫機(jī)的數(shù)據(jù)文件。這些脫機(jī)的數(shù)據(jù)文件。第12頁主要
14、內(nèi)容主要內(nèi)容16.1 閃回技術(shù)概述閃回技術(shù)概述16.2 閃回?cái)?shù)據(jù)庫閃回?cái)?shù)據(jù)庫16.3 閃回表閃回表16.4 閃回查詢閃回查詢16.5 閃回版本查詢閃回版本查詢16.6 閃回事務(wù)查詢閃回事務(wù)查詢16.7 閃回丟棄閃回丟棄16.8 小結(jié)小結(jié)16.9 習(xí)題習(xí)題第13頁16.3 閃回表閃回表 閃回表是將表恢復(fù)到過去的某個(gè)時(shí)間點(diǎn)的狀態(tài),為閃回表是將表恢復(fù)到過去的某個(gè)時(shí)間點(diǎn)的狀態(tài),為DBA提供了一種在線、快速、便捷地恢復(fù)對表進(jìn)行的修改、提供了一種在線、快速、便捷地恢復(fù)對表進(jìn)行的修改、刪除、插入等錯(cuò)誤的操作,可以講指定表中的數(shù)據(jù)、索引、刪除、插入等錯(cuò)誤的操作,可以講指定表中的數(shù)據(jù)、索引、觸發(fā)器等恢復(fù)到指定的
15、時(shí)間點(diǎn)。觸發(fā)器等恢復(fù)到指定的時(shí)間點(diǎn)。Oracle11g的的Flashback Table有以下特性。有以下特性。* 在線操作。在線操作。*恢復(fù)到指定時(shí)間點(diǎn)或者恢復(fù)到指定時(shí)間點(diǎn)或者SCN的任何數(shù)據(jù)。的任何數(shù)據(jù)。*自動恢復(fù)相關(guān)屬性,如索引、觸發(fā)器。自動恢復(fù)相關(guān)屬性,如索引、觸發(fā)器。*滿足分布式的一致性。滿足分布式的一致性。*滿足數(shù)據(jù)一致性,所有相關(guān)對象將自動一致。滿足數(shù)據(jù)一致性,所有相關(guān)對象將自動一致。*閃回表技術(shù)是基于撤銷數(shù)據(jù)(閃回表技術(shù)是基于撤銷數(shù)據(jù)(undodata)來實(shí)現(xiàn)的,因)來實(shí)現(xiàn)的,因此要想閃回到過去的某個(gè)時(shí)間點(diǎn)上,必須確保與撤銷表空此要想閃回到過去的某個(gè)時(shí)間點(diǎn)上,必須確保與撤銷表空
16、間有關(guān)的參數(shù)設(shè)置合理。與撤銷表空間相關(guān)參數(shù)有間有關(guān)的參數(shù)設(shè)置合理。與撤銷表空間相關(guān)參數(shù)有undo_management、undo_tablespace和和undo_retention。第14頁使用使用FLASHBACK TABLE語句可以對表進(jìn)行閃回操作,語語句可以對表進(jìn)行閃回操作,語法如下:法如下:FLASHBACK TABLE schema. table TOSCN | TIMESTAMP expressionENABLE | DISABLE TRIGGERS其中參數(shù)說明如下:其中參數(shù)說明如下:uSCN:將表恢復(fù)到指定的:將表恢復(fù)到指定的SCN時(shí)的狀態(tài)。時(shí)的狀態(tài)。uTIMESTAMP:將表
17、恢復(fù)到指定的時(shí)間點(diǎn)。:將表恢復(fù)到指定的時(shí)間點(diǎn)。uENABLE | DISABLE TRIGGER:恢復(fù)后是否直接啟用觸:恢復(fù)后是否直接啟用觸發(fā)器。發(fā)器。u需要注意的是,如果需要需要注意的是,如果需要FLASHBACK一個(gè)表,則需一個(gè)表,則需要保證如下幾個(gè)方面:要保證如下幾個(gè)方面:u具備具備FLASHBACK ANY TABLE的系統(tǒng)權(quán)限或者是該表的的系統(tǒng)權(quán)限或者是該表的FLASHBACK對象權(quán)限;對象權(quán)限;u有該表的有該表的SELECT、INSERT、DELETE和和ALTER權(quán)限;權(quán)限;u必須保證該表必須保證該表ROW MOVEMENT。第15頁【例【例16-1】 刪除閃回表。刪除閃回表。S
18、QLset time onSQLcreate table hr.mydep1 as select*from hr.department;SQLdelete from hr.mydep1 where department_id=10;SQLflashback table hr.mydep1 to timestamp2 to timestamp(to_tate(2012-04-03 10:00:00, yyyy-mm-dd hh24:mi:ss);第16頁主要內(nèi)容主要內(nèi)容16.1 閃回技術(shù)概述閃回技術(shù)概述16.2 閃回?cái)?shù)據(jù)庫閃回?cái)?shù)據(jù)庫16.3 閃回表閃回表16.4 閃回查詢閃回查詢16.5 閃回版
19、本查詢閃回版本查詢16.6 閃回事務(wù)查詢閃回事務(wù)查詢16.7 閃回丟棄閃回丟棄16.8 小結(jié)小結(jié)16.9 習(xí)題習(xí)題第17頁16.4 閃回查詢閃回查詢 閃回查詢是閃回查詢是Oracle9i提出的概念,指利用數(shù)據(jù)庫回滾段提出的概念,指利用數(shù)據(jù)庫回滾段存放的信息查看指定表中過去某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)信息,或過存放的信息查看指定表中過去某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)信息,或過去某個(gè)時(shí)間段數(shù)據(jù)的變化情況,或某個(gè)事務(wù)對該表的操作信去某個(gè)時(shí)間段數(shù)據(jù)的變化情況,或某個(gè)事務(wù)對該表的操作信息等。使用閃回查詢可以找到發(fā)生誤操作前的數(shù)據(jù)情況,為息等。使用閃回查詢可以找到發(fā)生誤操作前的數(shù)據(jù)情況,為恢復(fù)數(shù)據(jù)庫提供依據(jù)?;謴?fù)數(shù)據(jù)庫提供依據(jù)。
20、要實(shí)現(xiàn)閃回查詢,必須將初始化參數(shù)要實(shí)現(xiàn)閃回查詢,必須將初始化參數(shù)UNDO_MANAGEMENT設(shè)置為設(shè)置為AUTO,這是此參數(shù)的默認(rèn),這是此參數(shù)的默認(rèn)值。初始化參數(shù)值。初始化參數(shù)UNDO_RETENTION決定了能往前閃回查決定了能往前閃回查詢的最大時(shí)間,值越大可以往前閃回查詢的最大時(shí)間越長,詢的最大時(shí)間,值越大可以往前閃回查詢的最大時(shí)間越長,但占用的磁盤空間也越大。但占用的磁盤空間也越大。第18頁 閃回查詢的閃回查詢的SELECT語句的語法格式為:語句的語法格式為:SELECT column_name , FROM table_nameAS OF SCN | TIMESTAMP expres
21、sionWHERE condition 可以基于可以基于AS OF TIMESTAMP的閃回查詢,也可以基的閃回查詢,也可以基于于AS OF SCN的閃回查詢。的閃回查詢。 其實(shí)其實(shí)Oracle在內(nèi)部都是使用在內(nèi)部都是使用SCN的,即使指定的是的,即使指定的是AS OF TIMESTAMP,Oracle也會將其轉(zhuǎn)換成也會將其轉(zhuǎn)換成SCN。系統(tǒng)時(shí)間。系統(tǒng)時(shí)間與與SCN之間的對應(yīng)關(guān)系可以通過查詢之間的對應(yīng)關(guān)系可以通過查詢SYS模式下的模式下的SMON_SCN_TIME表獲得。表獲得。第19頁例如:例如:SQLset time on創(chuàng)建示例表:創(chuàng)建示例表:SQLcreate table hr.myd
22、ep4 as select * from hr.departments;刪除記錄:刪除記錄:SQLdelete from hr.mydep4 where department_id=300;SQLcommit;使用使用select查詢不到剛才刪除的記錄,但使用閃回查詢可查詢不到剛才刪除的記錄,但使用閃回查詢可以找到:以找到:SQLselect * from hr.mydep4 as of timestamp2 to timestamp (to_date(2012-3-28 10:30:00, yyyy-mm-dd hh24: mi:ss)3 Where department_id=300;第2
23、0頁主要內(nèi)容主要內(nèi)容16.1 閃回技術(shù)概述閃回技術(shù)概述16.2 閃回?cái)?shù)據(jù)庫閃回?cái)?shù)據(jù)庫16.3 閃回表閃回表16.4 閃回查詢閃回查詢16.5 閃回版本查詢閃回版本查詢16.6 閃回事務(wù)查詢閃回事務(wù)查詢16.7 閃回丟棄閃回丟棄16.8 小結(jié)小結(jié)16.9 習(xí)題習(xí)題第21頁16.5 閃回版本查詢閃回版本查詢 Oracle的閃回版本查詢功能(的閃回版本查詢功能(Flashback Version Query)提供了一個(gè)審計(jì)行改變的查詢功能,它能找到所有已經(jīng)提提供了一個(gè)審計(jì)行改變的查詢功能,它能找到所有已經(jīng)提交了的行的記錄。借助這個(gè)特殊功能,我們可以查看一行交了的行的記錄。借助這個(gè)特殊功能,我們可以查
24、看一行記錄在一段時(shí)間內(nèi)的變化情況,即一行記錄的多個(gè)提交的記錄在一段時(shí)間內(nèi)的變化情況,即一行記錄的多個(gè)提交的版本信息,從而實(shí)現(xiàn)數(shù)據(jù)的行級恢復(fù)。使用該功能,可以版本信息,從而實(shí)現(xiàn)數(shù)據(jù)的行級恢復(fù)。使用該功能,可以輕松實(shí)現(xiàn)對應(yīng)用系統(tǒng)進(jìn)行審計(jì),而沒有必要使用細(xì)粒度的輕松實(shí)現(xiàn)對應(yīng)用系統(tǒng)進(jìn)行審計(jì),而沒有必要使用細(xì)粒度的審計(jì)功能或者是使用審計(jì)功能或者是使用LOGMNR了。了。語法格式為:語法格式為:SELECT column_name , FROM table_nameVERSIONS BETWEEN SCN | TIMESTAMPMINVALUE | expression AND MAXVALUE |exp
25、ressionAS OF SCN | TIMESTAMP expressionWHERE condition第22頁 參數(shù)說明如下:參數(shù)說明如下: VERSIONS BETWEEN:用于指定閃回版本查詢時(shí):用于指定閃回版本查詢時(shí)的時(shí)間段或的時(shí)間段或SCN段;段; AS OF:表示恢復(fù)單個(gè)版本;:表示恢復(fù)單個(gè)版本; TIMESTAMP:表示時(shí)間。:表示時(shí)間。 在進(jìn)行閃回版本查詢時(shí),可以同時(shí)使用在進(jìn)行閃回版本查詢時(shí),可以同時(shí)使用VERSIONS短語短語和和AS OF短語。短語。 AS OF短語決定了進(jìn)行查詢的時(shí)間點(diǎn)或短語決定了進(jìn)行查詢的時(shí)間點(diǎn)或SCN,VERSIONS短語決定了可見的行的版本信息。
26、對于在短語決定了可見的行的版本信息。對于在VERSIONS BETWEEN下界之前開始的事務(wù),或在下界之前開始的事務(wù),或在AS OF指定的時(shí)間或指定的時(shí)間或SCN之后完成的事務(wù),系統(tǒng)返回的版本之后完成的事務(wù),系統(tǒng)返回的版本信息為信息為NULL。第23頁【例【例16-2】創(chuàng)建一個(gè)讀者信息表?!縿?chuàng)建一個(gè)讀者信息表。SQLcreate table reader (id Varchar2(10),name Varchar2(20);插入一條記錄:插入一條記錄:SQLinsert into reader values (13100110, zs);更新表中數(shù)據(jù):更新表中數(shù)據(jù): SQLupdate rea
27、der set id=13100101 where name=zs;提交:提交:SQLcommit;使用閃回版本查詢:使用閃回版本查詢:SQLselect versions_starttime, versions_operation, id, name2 from reader versions between timestamp minvalue and maxvalue;第24頁執(zhí)行結(jié)果如圖執(zhí)行結(jié)果如圖16-1所示所示圖圖16-1 閃回版本查詢閃回版本查詢第25頁主要內(nèi)容主要內(nèi)容16.1 閃回技術(shù)概述閃回技術(shù)概述16.2 閃回?cái)?shù)據(jù)庫閃回?cái)?shù)據(jù)庫16.3 閃回表閃回表16.4 閃回查詢閃回查詢
28、16.5 閃回版本查詢閃回版本查詢16.6 閃回事務(wù)查詢閃回事務(wù)查詢16.7 閃回丟棄閃回丟棄16.8 小結(jié)小結(jié)16.9 習(xí)題習(xí)題第26頁16.6 閃回事務(wù)查詢 事務(wù)是訪問數(shù)據(jù)庫時(shí)一系列的邏輯相關(guān)動作。事務(wù)是訪問數(shù)據(jù)庫時(shí)一系列的邏輯相關(guān)動作。Oracle11g的閃回事務(wù)查詢就是對過去某段時(shí)間內(nèi)所完成的事務(wù)的查詢的閃回事務(wù)查詢就是對過去某段時(shí)間內(nèi)所完成的事務(wù)的查詢和撤銷。和撤銷。 閃回事務(wù)查詢是一種診斷工具,用于幫助識別數(shù)據(jù)庫閃回事務(wù)查詢是一種診斷工具,用于幫助識別數(shù)據(jù)庫發(fā)生的事務(wù)級變化。通過閃回事務(wù)分析,可以識別在一個(gè)特發(fā)生的事務(wù)級變化。通過閃回事務(wù)分析,可以識別在一個(gè)特定的時(shí)間段內(nèi)所發(fā)生的所
29、有變化,也可以對數(shù)據(jù)庫表進(jìn)行事定的時(shí)間段內(nèi)所發(fā)生的所有變化,也可以對數(shù)據(jù)庫表進(jìn)行事務(wù)級恢復(fù)。閃回事務(wù)查詢的基礎(chǔ)仍然是依賴于撤銷數(shù)據(jù)務(wù)級恢復(fù)。閃回事務(wù)查詢的基礎(chǔ)仍然是依賴于撤銷數(shù)據(jù)(Undodata),它也是利用初始化的數(shù)據(jù)庫參數(shù)),它也是利用初始化的數(shù)據(jù)庫參數(shù)UNDO_RETENTION來確定已經(jīng)提交的撤銷數(shù)據(jù)在數(shù)據(jù)庫中來確定已經(jīng)提交的撤銷數(shù)據(jù)在數(shù)據(jù)庫中的保存時(shí)間。的保存時(shí)間。 【例【例16-3】已經(jīng)提交的事務(wù),通過閃回事務(wù)查詢:】已經(jīng)提交的事務(wù),通過閃回事務(wù)查詢:SQLCONNECT sys / zzuli AS sysdbaSQLselect table_name, undo_sql fr
30、om flashback_transaction_query where rownumSHOW PARAMETER RECYCLEBIN SQLALTER SYSTEM SET RECYCLEBIN=ON;第31頁 當(dāng)執(zhí)行當(dāng)執(zhí)行DROP TABLE操作時(shí),表及其關(guān)聯(lián)對象被命名后保存操作時(shí),表及其關(guān)聯(lián)對象被命名后保存在在“回收站回收站”中,可以通過查詢中,可以通過查詢USER_RECYCLEBIN、DBA_RECYCLEBIN視圖獲得被刪除的表及其關(guān)聯(lián)對象的信息。視圖獲得被刪除的表及其關(guān)聯(lián)對象的信息。 (1) 查看回收站中的數(shù)據(jù):查看回收站中的數(shù)據(jù):SQLselect object_name,
31、original_name, createtime,droptime from dba_recycle; (2) 從回收站中恢復(fù)數(shù)據(jù):從回收站中恢復(fù)數(shù)據(jù):SQLflashback table hr.mydep2 to before drop; 如果在刪除表時(shí)使用了如果在刪除表時(shí)使用了PURGE短語,則表及關(guān)聯(lián)對象被短語,則表及關(guān)聯(lián)對象被直接釋放,空間被回收,相關(guān)直接釋放,空間被回收,相關(guān) 信息不會進(jìn)入信息不會進(jìn)入“回收站回收站”中:中:SQLCREATE TABLE test_purge(2 ID MUMBER PRIMARY KEY, name CHAR(20)3);SQLDROP TABL
32、E test_purge PURGE;SQLSELECT OBJECT_NAME, ORIGINAL_NAME, TYPE2 FROM USER_RECYCLEBIN;第32頁(3) 清除回收站清除回收站 由于被刪除表及其關(guān)聯(lián)對象的信息保存在由于被刪除表及其關(guān)聯(lián)對象的信息保存在“回收站回收站”中,其存儲空間并沒有釋放,因此需要定期清空中,其存儲空間并沒有釋放,因此需要定期清空“回收站回收站”,或清除或清除“回收站回收站”中沒用的對象(表、索引、表空間),釋中沒用的對象(表、索引、表空間),釋放其所占的磁盤空間。放其所占的磁盤空間。清除回收站的語法:清除回收站的語法:PURGE TABLE ta
33、ble | INDEX index| RECYCLEBIN | DBA_RECYCLEBIN| TABLESPACE tablespace USER user第33頁參數(shù)說明如下:參數(shù)說明如下:TABLE:從:從“回收站回收站”中清除指定的表,并回收其磁盤空中清除指定的表,并回收其磁盤空間。間。INDEX:從:從“回收站回收站”中清除指定的索引,并回收其磁盤中清除指定的索引,并回收其磁盤空間??臻g。RECYCLEBIN:清空用戶:清空用戶“回收站回收站”,并回收所有對象的,并回收所有對象的磁盤空間。磁盤空間。DBA_RECYCLEBIN:清空整個(gè)數(shù)據(jù)庫系統(tǒng)的:清空整個(gè)數(shù)據(jù)庫系統(tǒng)的“回收站回收站”,只有具有只有具有SYSDBA權(quán)限的用戶才可以使用。權(quán)限的用戶才可以使用。TABLESPACE:清除:清除“回收站回收站”中指定的表空間,并回收中指定的表空間,并回收磁盤空間。磁盤空間。USER:清除:清除“回收站回收站”中指定表空間中特定用戶的對象,中指定表空間中特定用戶的對象,并回收磁盤空間。并回收磁盤空間。 【例【例16
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年1月八省聯(lián)考高考綜合改革適應(yīng)性測試-高三政治(陜西、山西、寧夏、青海卷)(含答案)
- 個(gè)人2024年工作計(jì)劃(34篇)
- 2025年顯示儀表項(xiàng)目建議書
- 2025年柔印CTP項(xiàng)目建議書
- 2025年天貓養(yǎng)車項(xiàng)目合作計(jì)劃書
- 2024外墻涂料質(zhì)量監(jiān)控與改進(jìn)措施合同3篇
- 2025正規(guī)工業(yè)品買賣合同范本
- 鄉(xiāng)鎮(zhèn)公共衛(wèi)生管理規(guī)程
- 出口貿(mào)易放棄退稅承諾書
- 美術(shù)展覽場記人員聘用書
- 2023-2024學(xué)年人教版七年級下冊地理知識清單
- 中國土地制度智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 手術(shù)物品準(zhǔn)備完善率
- 2024年西藏自治區(qū)中考地理真題(原卷版)
- 成人高考JAVA程序設(shè)計(jì)(考試復(fù)習(xí)資料)
- MOOC 電路理論-華中科技大學(xué) 中國大學(xué)慕課答案
- 物流園區(qū)運(yùn)營管理承包合同樣本
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-02-06-10 茶葉加工工 2024年版
- 2024年四川成都市金牛國投人力資源服務(wù)有限公司招聘筆試參考題庫含答案解析
- 腦栓塞患者的護(hù)理
- 2024-2024新課標(biāo)全國卷1-地理-(附答案)
評論
0/150
提交評論