標籤:名稱 錯誤 技術分享 替換 如何 query 快閃恢複 免費 相關資訊
Oracle 11g R2 Rman備份
備份與恢複的定義及分類
備份的定義及分類:
備份就是把資料庫複寫到傾印裝置的過程。其中,傾印裝置是指用於放置資料庫副本的磁帶或磁碟。通常也將存放於傾印裝置中的資料庫的副本稱為原資料庫的備份或轉儲。備份是一份資料副本,從不同的角度分類如下:
從物理與邏輯的角度來分類:
從物理與邏輯的,備份可以分為物理備份和邏輯備份。
物理備份:對資料庫作業系統的物理檔案(資料檔案,控制檔案和記錄檔)的備份。物理備份又可以分為離線備份(冷備份)和聯機備份(熱備份),前者是在關閉資料庫的時候進行的,後者是以歸檔日誌的方式對啟動並執行資料庫進行備份。可以使用oracle的復原管理員(RMAN)或作業系統命令進行資料庫的物理備份。
邏輯備份:對資料庫邏輯組件(如表和預存程序等資料庫物件)的備份。邏輯備份的手段很多,如傳統的EXP,資料泵(EXPDP),資料庫閃回技術等第三方工具,都可以進行資料庫的邏輯備份。
從資料庫的備份角度分類:
從資料庫的備份角度,備份可以分為完全備份和增量備份和差異備份
完全備份:每次對資料庫進行完整備份,當發生資料丟失的災難時,完全備份無需依賴其他資訊即可實現100%的資料恢複,其恢復最短且操作最方便。
增量備份:只有那些在上次完全備份或增量備份後被修改的檔案才會被備份。優點是備份資料量小,需要的時間短,缺點是恢複的時候需要依賴以前備份記錄,出問題的風險較大。
差異備份:備份那些自從上次完全備份之後被修改過的檔案。從差異備份中恢複資料的時間較短,因此只需要兩份資料---最後一次完整備份和最後一次差異備份,缺點是每次備份需要的時間較長。
恢複的定義及分類
恢複就是發生故障後,利用已備份的資料檔案或控制檔案,重建立立一個完整的資料庫,恢複分為以下兩種類型:
執行個體恢複:當oracle執行個體出現失敗後,oracle自動進行的恢複
介質恢複:當存放資料庫的介質出現故障時所作的恢複。介質恢複又分為完全恢複和不完全恢複
完全恢複:將資料庫恢複到資料庫失敗時的狀態。這種恢複是通過裝載Database Backup並應用全部的重做日誌做到的。
不完全恢複:將資料庫恢複到資料庫失敗前的某一時刻的狀態。這種恢複是通過裝載Database Backup並應用部分的重做日誌做到的。進行不完全恢複後,必須在啟動資料庫時用resetlogs選項重設聯機重做日誌。
RMAN的儲存類型有三種方式:
1.備份組 預設類型
2.壓縮備份組
3.鏡像copy
組成每個備份組的每個檔案稱之為備份片
RMAN備份可以存放在兩種位置:
1.目標資料庫的控制檔案
2.恢複目錄中
RMAN備份的優點:
1.RMAN只備份有效資料
2.RMAN可以實現增量備份
使用RMAN工具
RMAN是oracle的一個重要工具,用於備份和恢複資料檔案,歸檔日誌和控制檔案,也可以用來執行完全或不完全的資料庫恢複。RMAN有3種不同的使用者介面,命令列方式,GUI方式(整合在OEM中的備份管理器),API方式(用於整合到第三方的備份軟體中),它具有以下特點:
支援線上熱備份
支援多級增量備份
支援並行備份、恢複
減少所需要備份量
備份、恢複使用簡單
RMAN的組件
target database(目標資料庫)
目標資料庫就是需要RMAN 對其進行備份與恢複的資料庫,RMAN可以備份資料檔案,控制檔案,歸檔日誌,spfile;
service session(伺服器會話)
RMAN啟動資料庫上的oracle伺服器處理序,將建立一個與目標資料庫的會話,有目標資料庫上的伺服器處理序進行備份、還原、恢複的實際操作。
RMAN Repository(RMAN資料庫)
RMAN使用過程中會用到的控制資訊,是一些關於備份、歸檔日誌及RMAN活動的中繼資料
Recovery Catalog(恢複目錄)
恢複目錄是建立在RMAN恢複目錄資料庫上的一種schema對象,用於儲存RMAN資料庫資料。恢複目錄是一個可選的組件。RMAN會將資料資料記錄在目標資料庫的控制檔案中,但這樣不夠安全,因為一旦目標資料庫的控制檔案損壞就意味著所有的RMAN備份失效。所以建議在單獨的一個資料庫中建立一個恢複目錄另外儲存一份資料庫資料。
MML(媒體管理庫)
MML是第三方工具或軟體,用於管理對磁帶的讀寫與檔案的跟蹤管理。如果你想直接通過RMAN備份到磁帶上,就必須配置媒體管理層,媒體管理層的工具和RMAN共同配合完成備份與恢複。
快閃恢複區
快閃恢複區是oracle資料庫用於儲存所有與恢複相關的檔案的預設磁碟位置。這些相關檔案包括歸檔日誌,RMAN備份,控制檔案自動備份,複用的控制檔案和重做日誌副本及閃回記錄檔。
次要資料庫
在正常使用時,RMAN會與目標資料庫一起使用,如果建立了恢複目錄資料庫,那麼也會與恢複目錄資料庫一起使用。在某些情況下,希望建立次要資料庫。次要資料庫時使用RMAN從目標資料庫的備份中建立的新資料庫。次要資料庫能夠被建立作為備用資料庫使用。在資料庫發生災難時,能夠在不丟失任何資料及停機時間最短的情況下切換至備用資料庫。
建立恢複目錄
恢複目錄存在於RMAN的目錄資料庫中,類似於標準的資料庫目錄,主要包含如下幾個部分資訊:
備份恢複資訊,可以是多個目標資料庫
RMAN指令碼,可以儲存重複使用
關於資料檔案和記錄檔的備份資訊
關於目標資料庫的資料表空間和資料檔案資訊
RMAN資料庫可以存放在目標資料庫控制檔案裡,也可以存放在恢複目錄中;
建立恢複目錄:用來儲存RMAN資料庫的。
SQL>create tablespace yy datafile ‘/opt/oracle/oradata/yy.dbf‘ size 20m autoextendon next 5m maxsize unlimited;
在恢複目錄資料庫中建立RMAN使用者並授權
SQL>create user lilei identified by oracle default tablespace yy quota unlimited onyy;
SQL>grant connect,resource,recovery_catalog_owner to lilei;
串連到RMAN恢複目錄資料庫
建立恢複目錄
提示已經串連到目標資料庫、串連到恢複目錄資料庫
向恢複目錄註冊資料庫ORCL,提示已經啟動全部恢複目錄的resync,已完成全部的resync。此時就可以使用RMAN的恢複目錄對目標資料庫進行備份和恢複操作。
通道的分配
使用RMAN進行備份和恢複時,必須進行通道的分配,一個通道是RMAN和目標資料庫之間的一個串連,通道指定了某種類型的裝置用於備份和恢複,RMAN可以使用的通道裝置包括磁碟與磁帶兩種。
通道分配可以自動或手動進行
自動通道配置
RMAN>configure device type disk paralielism 5;
RMAN>configure default device type to disk;
手動通道配置
RMAN>run
2>{
3>allocate channel ch1 device type disk;
4>allocate channel ch2 device type disk;
5>allocate channel ch3 device type disk;
6>}
可以使用show all命令可以顯示已經配置過的有預設值的參數,其中包括通道參數
RMAN>showall;
備份與恢複的概念與操作
備份組與備份片
備份組(backup set)
備份組是一次備份的集合,它包含本次備份的所有備份片,以oracle專有的格式儲存,是一個邏輯資料的集合。
備份片:
一個備份組由若干個備份片組成。每個備份片是一個單獨輸出檔案,一個備份片的大小是有限制的,他的大小不能大於檔案系統所支援的檔案長度的最大值。
配置備份組檔案的格式:
使用backup命令進行備份時,需要明確備份檔案的儲存路徑及檔案名稱的格式。其路徑和格式可以使用FORMAT參數進行統一設定。FORMAT格式由兩部分組成:即儲存路徑和檔案名稱格式;
如果沒有使用FORMAT指定儲存路徑和檔案名稱格式,則預設情況下BACKUP所產生的備份組將儲存在快閃恢複區中,RMAN自動使用%U來確定檔案名稱不會被重複。
FORMAT命令格式如下:
FORMAT ‘格式字串‘
其中格式字串的檔案名稱部分可以使用替換變數,例如FORMAT ‘/BACKUP/YY/%U‘.
常用的替換變數如下:
%c : 備份片的拷貝數
%d:資料庫名稱
%D : 位於該月中的第幾天(DD)
%M : 位於該年中第幾月(MM)
%F : 一個基於DBID的唯一名稱,它的形式為C-DBID-YYYYMMDD-QQ。其中DBID為資料庫的DBID,YYYYMMDD為日誌,QQ是一個1-256的序列
%n:資料庫名稱,向右填補到最大8個字元
%u:一個8個字元的名稱,它是根據備份組個數與建立時間資訊產生的。
%p:該備份組中的備份片號,從1開始到建立的檔案數。
%U:系統產生的一個唯一檔案名,對於備份片來說,它的含義相當於%u%p%c。
%s:備份組的號
%t:備份組時間戳記
%T:年月日格式(YYYYMMDD)
備份與恢複命令
backup命令用於備份資料庫檔案,可以將多個檔案、資料表空間、整個資料庫已備份組形式備份到磁碟或磁帶上,在RUN命令外使用BACKUP命令,會自動使用自動通道。在RUN命令內使用BACKUP命令,如果定義了手動通道,則優先使用手動定義通道。
使用RMAN備份的資料庫也只能使用RMAN提供的恢複命令進行恢複。RMAN的恢複目錄中儲存了目標資料庫的備份資訊。RMAN根據恢複目錄中的儲存資訊,自動將資料庫同步到某一個資料一致的狀態。
RMAN恢複資料庫時用到兩個命令,即RESTORE和RECOVER。RESTORE命令將備份資料恢複到指定的目錄,RECOVER命令對資料庫進行同步恢複。
RESTORE命令:由於備份組中的備份片是以專有的RMAN格式儲存的,需要使用RESTORE命令進行重建。重建的結果是自動產生目標資料庫的物理檔案結構。
RECOVER命令:負責把歸檔記錄檔用於重建的資料檔案,來完成資料庫的同步恢複。在執行RECOVER命令時,RMAN需要讀取歸檔日誌。如果沒有歸檔日誌,或者資料庫運行在非歸檔模式下,則恢複過程會報錯。
舉例說明在歸檔模式下備份與恢複
要用RMAN進行聯機備份,資料庫必須處于歸檔模式,恢複目錄必須開啟,目標資料庫進程必須啟動,資料庫已載入或者開啟。
查看資料庫是否處于歸檔模式下:
關閉資料庫並啟動資料庫到mount狀態
使用ALTER DATABASE ARCHIVELOG命令將資料設定為歸檔模式,並驗證資料庫的歸檔模式是否改變
備份和恢複整個資料庫
備份和恢複整個資料庫,自動分配通道,FORMAT預設使用%U,備份組儲存在資料庫快閃恢複區內,備份檔案包括資料檔案,控制檔案,重做記錄檔和參數檔案
RMAN>backup database;
備份到了快閃恢複區,
如果備份整個資料庫時要包含歸檔記錄檔,則要加上plus archivelog關鍵字,delete input的意思是在備份完成後,刪除archivelog檔案
RMAN>backup database plus archivelog delete input;
建立目錄/OPT/ORACLE/ORADATA
自動分配通道,通過FORMAT制定具體的路徑和格式
RMAN>backup database FORMAT ‘/opt/oracle/oradata/backup/rmanbak/%U‘;
備份檔案儲存的路徑
使用手動分配通道,備份資料庫的方法:
RMAN>run
2>{
3>allocate channel ch1 device type disk;
4>backup database format ‘/opt/oracle/oradata/backup/rmanbak/%U‘;
5>release channel ch1;
6>}
備份結果
如何恢複資料庫
全庫備份的恢複,資料庫要在mount狀態下執行,刪除system01.dbf,使用RMAN恢複
此時資料庫無法啟動了,因為刪除了system01.dbf
資料庫的目前狀態,串連RMAN
恢複資料庫
開啟資料庫
資料庫已經處於OPEN狀態了
system01.dbf資料表空間已經被恢複了
備份和恢複資料表空間
備份資料表空間
備份USERS資料表空間
RMAN>backup tablespace users;
備份多個資料表空間
RMAN>backup filesperset=3 tablespace users,system,sysaux;
在RUN命令中備份資料表空間
RMAN>run
2>{
3>allocate channel ch1 device type disk;
4>backup format ‘/opt/oracle/oradata/backup/rmanbak/%U‘ (tablespaceusers,system,sysaux);
5>release channel ch1;
6>}
如果只丟失了特定的資料表空間的資料檔案,那麼可以選擇只恢複這個資料表空間,而不是恢複整個資料庫,資料表空間恢複可以在不關閉資料庫的情況下進行,只需要將需要恢複的資料表空間offline
類比刪除資料表空間
恢複被刪除的資料表空間
已經恢複了users01.dbf
備份資料檔案2
備份sysaux01.dbf
查看當前系統中的資料檔案
刪除資料檔案sysaux01.dbf
對資料檔案或資料表空間做恢複的時候資料檔案和資料表空間一定要處於offline狀態, 資料檔案丟失了,但資料庫執行個體還可以用
此時資料檔案sysaux01.dbf的狀態為RECOVER
恢複資料檔案sysaux01.dbf
將資料檔案datafile 2處於online狀態
查看資料檔案的狀態,已經變成online狀態了
使用資料泵技術實現邏輯備份
邏輯備份概述
邏輯備份時建立資料庫物件的邏輯副本,並存入一個二進位轉儲檔案的過程。從本質上來講邏輯備份與恢複實際就是對資料庫事實資料的匯入和匯出。
匯出:
匯出就是資料庫的邏輯備份,實質是讀取一個資料庫記錄並將這個記錄集寫入一個檔案(副檔名通常是dmp),這些記錄的匯出與物理位置無關
匯入:
匯入即資料庫的邏輯恢複,實質是讀取被匯出的二進位轉儲檔案並將其恢複到資料庫。
使用資料泵技術匯入/匯出
資料泵(DATA PUMP)是一種在資料庫之間或在資料庫與作業系統之間高速傳輸資料的技術。資料泵工具運行在伺服器上,資料庫管理員需要指定資料庫目錄來儲存轉儲的資料。
串連oracle 資料庫
建立一個操作目錄
授予使用者操作dump_dir目錄的許可權
使用EXPDP命令匯出資料(可以按照表匯出,按照使用者模式匯出,按照資料表空間匯出和全庫匯出),使用IMPDP命令匯入資料(可以按照表匯入,按照使用者模式匯入,按照資料表空間匯出和全庫匯入)。
使用基於命令列的資料泵技術對資料庫實施匯入和匯出。
SQL>col DIRECTORY_NAME for a20
SQL>col DIRECTOR_PATH for a60
SQL>col OWNER for a8
建立測試使用者tom並授權
匯出SCOTT使用者下的emp和dept表
[[email protected]~]$ expdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept
以SCOTT使用者串連,刪除SCOTT使用者下的EMP表
匯入emp表
[[email protected]~]$ impdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp
emp表已經匯入成功了。
將匯出的SCOTT使用者下的DEPT表和EMP表匯入到tom使用者下
[[email protected]~]$ impdp system/oracle11g directory=dump_dir dumpfile=scotttab.dmptables=scott.emp,scott.dept REMAP_SCHEMA=SCOTT:TOM
查看匯入的結果,使用tom使用者串連
匯出資料表空間
在xx資料表空間上建立一個表aa,並為表插入記錄
匯出資料表空間
刪除資料表空間xx的同時刪除資料檔案
aa表沒有了。
匯入資料表空間
匯入資料表空間之前,需要建立一個xx資料表空間
匯入資料表空間xx
驗證,aa表恢複回來了。
匯出全庫
[[email protected]]$ expdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y
匯入全庫
[[email protected]]$ impdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y
使用閃回技術
為了使資料庫能夠從任何邏輯錯誤中迅速恢複,oracle推出了閃回技術。採用該技術,可以對行級和事物級的資料變化進行恢複,減少了資料恢複的時間,而且操作簡單。通過SQL語句就可以實現資料的恢複,大大提高了資料庫恢複的效率。閃回技術是資料庫恢複技術曆史上一次重大的進步,從根本上改變了資料恢複。
閃回技術包括以下各項:
閃回查詢:(FLASHBACK QUERY):查詢過去某個時間點或某個SCN值時表中的資料資訊
閃回版本查詢(FLASHBACK Version query):查詢過去某個時間段或某個SCN段內表中資料變化的情況。
閃回事物查詢(FLASHBACK Transaction Query):查看某個事物或所有事物在過去一段時間對資料進行的修改。
閃回資料庫(FLASHBACK Database):將資料庫恢複到過去某個時間點或某個SCN值時的狀態
閃回刪除(FLASHBACK drop):將已經刪除的表及其關聯的對象恢複到刪除前的狀態。
閃回表(FLASHBACK table):將表恢複到過去的某個時間點或某個SCN值時的狀態。
SCN是當oracle資料庫更新後,有DBMS自動維護而累積遞增的一個數字。可以通過查詢資料字典V$DATABASE中的CURRENT_SCN獲得當前的SCN號。
閃回恢複區的含義
oracle推薦指定一個閃回恢複區(FLASHRECOVERY AERA)作為存放備份與恢複相關的預設位置,這樣ORACLE就可以實現自動的基於磁碟的備份與恢複。閃回恢複區是一塊用來儲存恢複相關的檔案的儲存空間,允許使用者集中儲存所有恢複相關的檔案。以下幾種檔案可以存放在閃回恢複區。
控制檔案
歸檔記錄檔
閃回日誌
控制檔案和SPFILE自動備份
RMAN備份組
資料檔案拷貝
閃回恢複區主要通過以下3個初始化參數來設定和管理
db_recovery_file_dest:指定閃回恢複區的位置
db_recovery_file_dest_size:指定閃回恢複區的可用空間
db_flashback_retention_target:該參數用來控制閃回日誌中資料保留的時間,或者說,希望閃回資料庫能夠恢複到的最早的時間點。單位為min,預設是1440min,即一天。當然實際上可回退的時間還取決於閃回恢複區的大小,因為裡面儲存了回退所需要的閃回日誌,所以這個參數要和db_recovery_file_dest_size配合修改。
如果要撤銷閃回恢複區,把初始化參數DB_RECOVERY_FILE_DEST的值清空。
db_recovery_file_dest_size只有在DB_RECOVERY_FILE_DEST清空之後才可以清空
設定閃回資料庫
設定了閃回恢複區,要啟動閃回資料庫功能,還需要進一步配置,資料必須處于歸檔模式,在設定閃回資料庫
資料庫已經處于歸檔模式:
資料庫未啟用閃回資料庫
建立閃回地區
設定閃回資料庫的資料保留周期為一天以min為單位
啟用閃回日誌
查詢是否成功啟用閃回恢複區
查詢是否成功啟用閃回資料庫
閃回資料庫
閃回資料庫能夠使資料迅速的復原到以前的某個時間點或者某個SCN上,這對資料庫從邏輯錯誤中恢複特別有用。而且也是大多數發生邏輯損壞時恢複資料庫最佳的選擇。
使用SCN閃回資料庫
查看資料庫系統當前SCN
改變資料庫目前狀態,類比建立表TEST10,並插入一條記錄
進行閃回資料庫恢複,將資料庫恢複到建立表之前的狀態,即SCN為1238544
用RESETLOGS選項開啟資料庫
驗證資料庫的狀態,TEST10表不存在。
查詢資料庫中當前最早的閃回SCN和時間
按照指定時間閃回資料庫
查詢資料庫中目前時間和當前SCN
改變資料庫的目前狀態,類比建立表test11,並插入1條記錄
進行閃回資料庫恢複,將資料庫恢複到建立表之前的狀態。
使用RESETLOGS開啟資料庫
驗證資料庫的狀態test11表是否存在。
閃回資料庫操作的限制:
資料檔案損壞或丟失等介質故障不能使用閃回資料庫進行恢複。閃回資料庫只能基於當前正常啟動並執行資料檔案
閃回資料庫功能啟動後,如果發生資料控制檔案重建或利用備份恢複控制檔案,則不能使用閃回資料庫
不能使用閃回資料庫進行資料檔案收縮操作
不能使用閃回資料庫將資料庫恢複到在閃回日誌中可獲得的最早的SCN之前的SCN,因為閃回記錄檔在一定的條件下被刪除,而不是始終儲存在閃回恢複區中
閃回表
閃回表是將表恢複到過去的某個時間點或者指定的SCN而不用恢複資料檔案,為DBA提供了一種線上、快速、便捷的恢複方式,可以恢複對錶進行的修改、刪除、插入等錯誤的操作。
利用閃回表技術恢複表中的資料的過程,實際上是對錶進行DML操作的過程。oracle自動維護與表相關聯的索引、觸發器、約束等。
為了使用資料庫閃回功能,必須滿足下列條件
使用者具有FALSHBACKANY TABLE系統許可權,或者具有所動作表的FLASHBACK對象許可權
使用者具有所動作表的SELECT/INSERT/DELETE/ALTER對象許可權
啟動被動作表的ROW MOVEMENT特性,可以採用下列方式進行:
SQL> ALTER TABLE 表名 ENABLE ROWMOVEMENT;
閃回表文法格式:
FLASHBACK TABLE [schema].table TO SCN |TIMESTAMP expression [ENABLE|DISABLE TRIGGERS]
參數說明:
SCN:將表恢複到指定的SCN時的狀態
TIMESTAMP:將表恢複到指定額時間點
ENABLE|DISABLETRIGGERS:在恢複表中資料的過程中,表上的觸發器時禁用還是啟用(預設是引用)
舉例說明:
使用SCOTT使用者登入
建立表,插入記錄,提交事物
查詢當前SCN號,如果目前使用者沒有許可權查詢v$database,則以sys使用者登入,授予目前使用者訪問資料字典的許可權。
更新記錄,並提交事物
查看錶中的記錄
刪除ID=3的記錄
啟動test01表的ROW MOVEMENT特性
將test01表恢複到2015-11-22 05:44:48時刻的狀態
閃回刪除
閃回刪除可以恢複使用DROP table語句刪除的表,是一種對意外刪除的表恢複機制。閃回刪除的功能的實現主要是通過oracle資料庫中的“資源回收筒”技術實現的。在oracle資料庫中,當執行DROP table操作時,並不立即收回表及其關聯對象的空間,而是將他們重新命名後放入一個稱為“資源回收筒”的邏輯容器中儲存,直到使用者決定永久刪除他們或儲存該表的資料表空間或儲存空間不足時,表才真正被刪除,為了使用資料庫的閃回刪除技術,必須開啟資料庫的“資源回收筒”
啟動“資源回收筒”將參數RECYCLEBIN設定為ON,在預設情況下“資源回收筒”已經啟動
如果沒有啟動可以使用:
查看資源回收筒。當執行DROP table 時,表及關聯的對象被命名後儲存在“資源回收筒”中,可以通過查詢USER_RECYCLEBIN DBA_RECYCLEBIN視圖獲得被刪除的表及其關聯對象。
通過USER_RECYCLEBIN查看被刪除的表
不支援sys使用者和system使用者,這兩個使用者下的表被刪除之後,無法從資源回收筒裡拿到,查詢時為“空”
如果刪除表的時候使用了PURGE短語,則表及其關聯對象唄直接釋放,空間被回收,相關資訊不會進入“資源回收筒”中
清空資源回收筒,由於被刪除的表級其關聯對象資訊儲存在“資源回收筒”中,其儲存空間並沒有釋放,因此需要定期清空“資源回收筒”。或清除“資源回收筒”中沒有用的對象(表,索引,資料表空間)釋放其所佔用的磁碟空間
文法如下:
PURGE [TABLE 表名 | INDEX index]
[RECYCLEBIN | DBA_RECYCLEBIN] | [TABLESPACEtablespace [USER user]]
參數說明:
TABLE:從資源回收筒中清除指定的表
INDEX:從資源回收筒中清除指定的索引,並回收其磁碟空間
RECYCLEBIN:清空使用者“資源回收筒”,並回收所有對象的磁碟空間
DBA_RECYCLEBIN:清空整個資料庫系統的“資源回收筒”,只有具有SYSDBA許可權的使用者才可以使用
TABLESPACE :清除“資源回收筒”中指定額資料表空間,並回收磁碟空間
USER:清除資源回收筒中指定資料表空間中特定使用者的對象,並回收磁碟空間
閃回刪除操作,閃回刪除的基本文法
FLASHBACK TABLE [schema.]table to BEFOREDROP [RENAME TO table]
閃回刪除
閃回刪除舉例說明:
需要注意:只有本地管理的,非系統資料表空間中的表可以使用閃回刪除操作。
閃回查詢
允許根據時間點timestamp或SCN查看就的資料,除了可以查看舊資料,需要時可以通過檢索舊資料來撤銷錯誤的更改。
使用SCOTT使用者登入,對EMP表基於AS of TIMESTAMP的閃回查詢
SQL> show user;
USER is "SCOTT"
更新員工號為7900的工資,更新為2000,並提交事物
更新員工號為7900的工資,更新兩次,提交事物。
更新員工號為7900的工資,更新為3500,並提交事物
查看7900號員工的更新後工資。
查詢7900號員工前一個小時的工資是多少
查詢第一個事物提交,第二個事物還沒有提交時7900員工的工資
查詢第二個事物提交,第三個事物還沒有提交時的7900號員工的工資
如果需要,可以將資料恢複到過去某個時刻的狀態。
如果對此有興趣,請掃下面二維碼免費擷取更多詳情
Oracle 11g R2 Rman、資料泵、閃回備份與恢複