![備份恢復(fù)技術(shù)_第1頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/5/300ef850-c858-403a-b9df-6e9308444ea8/300ef850-c858-403a-b9df-6e9308444ea81.gif)
![備份恢復(fù)技術(shù)_第2頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/5/300ef850-c858-403a-b9df-6e9308444ea8/300ef850-c858-403a-b9df-6e9308444ea82.gif)
![備份恢復(fù)技術(shù)_第3頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/5/300ef850-c858-403a-b9df-6e9308444ea8/300ef850-c858-403a-b9df-6e9308444ea83.gif)
![備份恢復(fù)技術(shù)_第4頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/5/300ef850-c858-403a-b9df-6e9308444ea8/300ef850-c858-403a-b9df-6e9308444ea84.gif)
![備份恢復(fù)技術(shù)_第5頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/5/300ef850-c858-403a-b9df-6e9308444ea8/300ef850-c858-403a-b9df-6e9308444ea85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、備份恢復(fù)技術(shù)徐榮星備 份 方 法邏輯備份 exp/expdp物理備份 在線備份或者離線備份 實(shí)時(shí)備份 數(shù)據(jù)庫(kù)閃回物理備份和邏輯備份 物理備份在存儲(chǔ)級(jí)別實(shí)現(xiàn),采用RMAN、COPY等操作實(shí)現(xiàn)。而邏輯備份在SQL級(jí)別實(shí)現(xiàn),比如exp、expdp等工具。 物理備份是應(yīng)付介質(zhì)故障的最好方法,而邏輯備份是對(duì)付誤操作的最佳工具。熱備份和冷備份 熱備份不中斷業(yè)務(wù)運(yùn)行,而冷備份必須在數(shù)據(jù)庫(kù)關(guān)閉狀態(tài)下運(yùn)行。 熱備只有歸檔模式才可以執(zhí)行。 熱備份是不一致的備份,單獨(dú)一份熱備份無(wú)法實(shí)現(xiàn)數(shù)據(jù)庫(kù)的正常的Open,需要備份開始到結(jié)束的歸檔日志的支持。 冷備份是一致性備份,應(yīng)該包含online Redo log文件。RMA
2、N備份 RMAN是Oracle提供的備份管理工具,整合在Oracle內(nèi)核中,為一免費(fèi)產(chǎn)品。 備份集可以存儲(chǔ)到磁帶。 Catalog為Rman的輔助產(chǎn)品,更好的完成Rman實(shí)現(xiàn)的功能。在Oracle 8i中,Catalog是一個(gè)建議配件,但Oracle 9i開始,Oracle開始弱化catalog的功能,逐步整合到控制文件中。 RMAN備份工具介紹RMAN 命令瀏覽Storedscripts生產(chǎn)庫(kù)生產(chǎn)庫(kù)REPORTLISTCatalog庫(kù)OEMRestore/Recover/FlashbackCatalog maintenanceCROSSCHECKDELETEEXPIRECHANGESPFIL
3、EBackup控制文件歸檔日志RMANRMAN 命令 RMAN 命令類型 單獨(dú)命令,在RMAN提示符下直接執(zhí)行 JOB命令,命令必須包含在run里執(zhí)行JOB命令: 案例 RUN 命令:RMAN RUN 2 BACKUP AS BACKUPSET 3 FORMAT /u01/db01/backup/%d_%s_%p 4 DURATION 10:00 MINIMIZE LOAD; 5 (DATABASE) 6 SQL alter system archive log current; 7 BACKUP 命令RMAN BACKUP AS BACKUPSET 2 FORMAT /BACKUP/df_%
4、d_%s_%p.bus 3 TABLESPACE hr_data;Backup setData file 1Data file 2Data file 3Data file 1Data file 2Data file 3Tablespace HR_DATABackup命令(續(xù)) 數(shù)據(jù)庫(kù)必須處于mounted or open. 不能備份Online redo log 在非歸檔模式下能備份”干凈”庫(kù)備份集分片 分配多個(gè)通道,可以指定具體數(shù)據(jù)文件.Data file 4Data file 1Data file 5ChannelMMLBackuppiece 1Backuppiece 2Data file
5、 2Data file 3Data file 9ChannelMMLData file 6Data file 7Data file 8BackupPiece 3ChannelMMLBackups壓縮RMAN BACKUP AS 2 COMPRESSED BACKUPSET 3 DATABASE;RMAN CONFIGURE DEVICE TYPE 2 DISK PARALLELISM 2 3 BACKUP TYPE TO 4 COMPRESSED BACKUPSET;Compressed backup filesDatabase filesBACKUP 命令(續(xù)) 檢查物理塊腐敗 設(shè)置允許塊腐
6、敗的上限 校驗(yàn)輸入文件塊腐敗備份歸檔日志 能指定范圍備份歸檔日志 備份集僅僅包含歸檔日志文件RMAN BACKUP 2 FORMAT /disk1/backup/ar_%t_%s_%p 3 ARCHIVELOG FROM SEQUENCE=234 4 DELETE INPUT;整庫(kù)備份RMAN BACKUP DATABASE;Archived log file copiesSPFILEControlfileData file copies全備份和增量備份 只有存在全備份才有可能在介質(zhì)損壞情況的下數(shù)據(jù)庫(kù)恢復(fù)。 增量備份依賴于全備份存在,備份從上次備份以來(lái)的變化數(shù)據(jù)。 增量備份可以分為: incr
7、ement和CumulativeBackup increment level 0 database;Backup increment level 1 database;增量備份 0級(jí)備份 相當(dāng)于全庫(kù).累計(jì)備份備份自0級(jí)備份后 所有變化的塊.增 量 備份自上次增量備份后 所有的塊變化Full backup 增量備份累計(jì)增量備份增量備份:示例 增量備份僅僅備份自上次增量備份后變化的塊 累計(jì)備份,備份自上次0級(jí)備份后所有變化塊LvlDaySunMonTueWedThuFriSatSunLevel 0Level 0111c11001c塊變化跟蹤 通過(guò)跟蹤文件記錄變化塊 大大加快增量備份速度,避免全掃數(shù)
8、據(jù)文件List of changed blocksRedogenerationRedo log101100101011000011101001011010101110011Change trackingfileSGACTWR啟動(dòng)變化塊跟蹤SQL ALTER DATABASE ENABLE 2 BLOCK CHANGE TRACKING 3 USING FILE /mydir/rman_change_track.f 4 REUSE;LIST 命令 List 顯示備份集體及保護(hù)的數(shù)據(jù)文件 List顯示備份歸檔日志RMAN LIST BACKUP OF DATAFILE 2 /db01/ORADAT
9、A/u03/users01.dbf;RMAN LIST BACKUP OF DATABASE;RMAN LIST BACKUP OF ARCHIVELOG 2 ; 物理備份數(shù)據(jù)庫(kù)恢復(fù)物理備份數(shù)據(jù)庫(kù)恢復(fù)Restore & Recover 備份是為了恢復(fù)。 恢復(fù)分為兩步: restore 從備份中還原到目標(biāo)系統(tǒng)中去。 recover 應(yīng)用歸檔日志實(shí)現(xiàn)數(shù)據(jù)恢復(fù)?;謴?fù)步驟Restored 數(shù)據(jù)文件數(shù)據(jù)文件包含未提交數(shù)據(jù)恢復(fù)好的數(shù)據(jù)庫(kù)應(yīng)用日志回滾未提交數(shù)據(jù)54321ArchivedlogArchivedlogOnlineRedo log完 全 恢 復(fù) 完全恢復(fù)包含media recover和Cr
10、ash recover,恢復(fù)到數(shù)據(jù)庫(kù)Crash時(shí)的那一刻。Media recover應(yīng)用歸檔日志,Crash recover應(yīng)用Online Redo Log。 完全恢復(fù)可以完全恢復(fù)任何數(shù)據(jù),這是最理想的狀況。 但有時(shí)候并不可行,比如誤操作或者日志文件丟失或者損壞等等情況。完全恢復(fù) Restore database; recover database; alter database open;不完全恢復(fù) 不完全恢復(fù)為恢復(fù)到之前的某一個(gè)時(shí)間點(diǎn),僅僅應(yīng)用歸檔日志,不會(huì)進(jìn)行Crash recover。 不完全恢復(fù)要丟失一部分?jǐn)?shù)據(jù),除非是特定的操作比如恢復(fù)表格。不完全恢復(fù)場(chǎng)合 由于缺少歸檔日志完全恢復(fù)
11、失敗 未歸檔的在線日志丟失或Current在線日志丟失 誤操作,要求數(shù)據(jù)庫(kù)恢復(fù)到之前某個(gè)時(shí)間點(diǎn)不完全恢復(fù) Set until time ; restore database; recover database; alter database open resetlogs; restore database until scn recover database until scn alter database open resetlogs; restore database until sequence recover database until sequence alter database
12、 open resetlogs; Shut down and back up1Mount the database2UNTIL TIME 恢復(fù)案例Restore all data files3Open with Resetlogs5Back up the database6Database146Data file 1146Data file 2146Data file 3146Controlfiles146Redo logfile 1145Redo logfile 2OE.ORDERSRecovered Database1Data file 11Data file 21Data file 31
13、Controlfiles1Redo logfile 10Redo logfile 2OE.ORDERSRestored Database144Data file 1144Data file 2144Data file 3146Controlfiles146Redo logfile 1145Redo logfile 2144Archivedlog file4OE.ORDERS不完全恢復(fù)步驟1. Mount the database.2. Allocate multiple channels for parallelization.3. Restore all data files.4. Reco
14、ver the database by using UNTIL TIME, UNTIL SEQUENCE, or UNTIL SCN.5. Open the database by using RESETLOGS.6. Perform a whole database backup. 基于時(shí)間的不完全恢復(fù)RMAN RUN 2 set until time = to_date(2015-03-02 16:27:00,yyyy-mm-dd hh24:mi:ss); 3 RESTORE DATABASE; 4 RECOVER DATABASE; 5 ALTER DATABASE OPEN RESET
15、LOGS; 基于序號(hào)的不完全恢復(fù)RMAN RUN 2 SET UNTIL SEQUENCE 120 THREAD 1; 3 ALTER DATABASE MOUNT; 4 RESTORE DATABASE; 5 RECOVER DATABASE; # recovers through log 119 6 ALTER DATABASE OPEN RESESTLOGS; 7 物理備份在各種失敗中應(yīng)用 介質(zhì)失敗 塊腐敗 數(shù)據(jù)災(zāi)難 誤操作介質(zhì)失敗 控制文件 數(shù)據(jù)文件 索引文件 臨時(shí)文件 回滾段 Online Redo log Archive log控制文件 一個(gè)失敗 簡(jiǎn)單復(fù)制拷貝或者注釋掉。 全部失敗
16、 最好以SQL方式重新創(chuàng)建,但是需要重新同步控制文件。沒(méi)有創(chuàng)建腳本,從備份中恢復(fù)控制文件。 restore controle file from autobackup;Online Redo Logfile 已歸檔的 Online Redo logfile 簡(jiǎn)單drop或clear 未歸檔的非Current Online Redo logfile 簡(jiǎn)單drop或clear,要求立即全備 Current Redo Logfile 要執(zhí)行非完全恢復(fù),意味著丟數(shù)據(jù) 丟失數(shù)據(jù)量,取決于redo log大小.Archive Log 丟失一個(gè)或者多個(gè)歸檔日志。 已經(jīng)備份過(guò),可以忽略 沒(méi)有備份過(guò),之前全庫(kù)備
17、份將失效(或者全庫(kù)備份不能恢復(fù)到當(dāng)前時(shí)間)如果數(shù)據(jù)庫(kù)正常,立即發(fā)起一次全備如果數(shù)據(jù)庫(kù)異常,數(shù)據(jù)庫(kù)只能恢復(fù)到歸檔日志丟失前時(shí)間,意味著數(shù)據(jù)丟失。案例、恢復(fù)丟失未歸檔的聯(lián)機(jī)重做日志 由于電源故障,使部分硬盤損壞。當(dāng)硬盤修復(fù)以后,發(fā)現(xiàn)online redo log文件系統(tǒng)丟失,還丟失了其他一些數(shù)據(jù)文件。 擁有一份全備份和相應(yīng)的歸檔日志,歸檔日志可能沒(méi)有完全被備份。 Select sequence from v$archive_log; Restore database; Recover database until sequence thread 1; Shutdown immediate Copy
18、 controlfile Startup mount; Alter database open resetlogs;系統(tǒng)表空間 Restore tablespace system; Recover tablespace system; Alter database open;案例、恢復(fù)系統(tǒng)表空間 Rman target / rman startup force mount; restore tablespace system; recover tablespace system; sql alter database open;臨時(shí)表空間 Simply Drop it數(shù)據(jù)文件 Alter da
19、tabase datafile offline; Restore datafile Recover datafile Alter database datafile online;案例、文件系統(tǒng)丟失導(dǎo)致恢復(fù)數(shù)據(jù)表空間恢復(fù)(archivelog) Rman target / Sql alter tablespace tbs1 offline; sql alter tablespace tbs2 offline; restore tablespace tbs1; restore tablespace tbs2; recover tablespace tbs1; recover tablespace
20、 tbs2; sql alter tablespace tbs1 online; sql alter tablespace tbs2 online; 索引文件 Restore and Recover OR recreate tablespace and recreate index數(shù)據(jù)塊腐敗數(shù)據(jù)塊腐敗類型 由于存儲(chǔ)等原因引起的塊損壞 由于Oracle Bug引起的塊腐敗塊一級(jí)恢復(fù) 從Oracle 9i開始,Oracle提供了塊一級(jí)的恢復(fù),極大的提高了系統(tǒng)快速恢復(fù)能力。 Blockrecover datafile 19 block 44; Blockrecover database 19 blo
21、ck 44,66,127壞塊ORA-1578 當(dāng)一個(gè)塊被讀入到數(shù)據(jù)庫(kù)高速緩沖區(qū)的時(shí)候,通過(guò)檢查塊的封裝信息(block wrapper information )來(lái)確定該塊是否有效。這個(gè)檢查包括校驗(yàn)操作系統(tǒng)傳遞給oracle的塊是否就是所請(qǐng)求的塊,存儲(chǔ)在塊頭的信息是否和存儲(chǔ)在塊尾中的信息是一致的。 壞塊ORA-1578 從磁盤讀取數(shù)據(jù)塊的時(shí)候,假如發(fā)現(xiàn)該信息的不一致性,那么這個(gè)塊就被認(rèn)為是個(gè)壞塊,升起一個(gè):ORA-1578錯(cuò)誤:Oracle data block corrupted (file # %s, block # %s )。 file是oracle數(shù)據(jù)文件的文件號(hào) block是在這個(gè)數(shù)
22、據(jù)文件中的塊號(hào) 壞塊對(duì)象 根據(jù)file#,block#查找壞快所屬對(duì)象。 SELECT TABLESPACE_NAME,SEGMENT_NAME, SEGMENT_TYPE, OWNER FROM DBA_EXTENTS WHERE FILE_ID = AND BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS - 1; 是文件號(hào) 是塊號(hào)。壞塊校驗(yàn) 數(shù)據(jù)庫(kù)處于OPEN狀態(tài)下可以使用命令 Analyze table/index .validate structure 用來(lái)分析掃描每一個(gè)塊,遇到任何潛在的壞塊則作出一個(gè)錯(cuò)誤報(bào)告。CASCADE 選項(xiàng),檢查所有相關(guān)的索引,在
23、數(shù)據(jù)塊和索引行之間進(jìn)行一對(duì)一的校驗(yàn)。DBV校驗(yàn) DB Verify 是一個(gè)工具,用來(lái)掃描數(shù)據(jù)文件的每一個(gè)塊,并產(chǎn)生一個(gè)關(guān)于潛在壞塊的報(bào)告。DB Verify 執(zhí)行基本的塊檢查步驟,但是它不提供數(shù)據(jù)和索引行的1對(duì)1校驗(yàn)的能力。DB Verify可以在數(shù)據(jù)庫(kù)CLOSE狀態(tài)下運(yùn)行。 Export會(huì)讀取分配給每個(gè)表的塊,報(bào)告任何遇到的壞塊。 使用命令:dbv file=/dev/roraxx blocksize=8192DBV校驗(yàn)D:oracleoradataora8dbv file=tools01.dbf blocksize=8192DBVERIFY: Release 8.1.7.0.0 - Pro
24、duction on Tue Dec 14 09:24:07 2004(c) Copyright 2000 Oracle Corporation. All rights reserved.DBVERIFY - Verification starting : FILE = tools01.dbfPage 5526 is marked corrupt*Corrupt block relative dba: 0 x01401596 (file 5, block 5526)Bad header found during dbv:Data in bad block - type: 6 format: 2
25、 rdba: 0 x0140159a last change scn: 0 x0000.000501bc seq: 0 x1 flg: 0 x02 consistency value in tail: 0 x01bc0601 check value in block header: 0 x0, block checksum disabled spare1: 0 x0, spare2: 0 x0, spare3: 0 x0*DBVERIFY - Verification completeTotal Pages Examined : 7656Total Pages Processed (Data)
26、 : 2129Total Pages Failing (Data) : 0Total Pages Processed (Index): 98Total Pages Failing (Index): 0Total Pages Processed (Other): 99Total Pages Empty : 5329Total Pages Marked Corrupt : 1Total Pages Influx : 0壞塊在索引上 對(duì)象是個(gè)索引且不是數(shù)據(jù)字典的一部分,基表中不包含任何壞塊,那么您能簡(jiǎn)單地刪除和重建索引就可以了 查出索引建立在那張基表上:SELECT table_owner, tab
27、le_nameFROM dba_indexes WHERE owner= AND index_name= 壞塊對(duì)象 如果壞塊在數(shù)據(jù)字典上,系統(tǒng)必須做恢復(fù)。 壞快在用戶表上,不影響整個(gè)系統(tǒng),需要對(duì)表進(jìn)行恢復(fù) 如果這個(gè)對(duì)象是一個(gè)回滾段,備份中恢復(fù)數(shù)據(jù)庫(kù) 假如段的類型是TEMPORARY,那么塊損壞不影響任何永久對(duì)象 ,假如發(fā)生問(wèn)題的表空間是個(gè)臨時(shí)表空間,重建臨時(shí)表空間。然后,刪除發(fā)生問(wèn)題的表空間。假如發(fā)生問(wèn)題的表空間不是一個(gè)臨時(shí)表空間,那么這個(gè)塊不應(yīng)該再次被讀取,應(yīng)該在下次讀取這個(gè)塊的時(shí)候,重新格式化該塊 獨(dú)立對(duì)象恢復(fù) 表格失敗或者其他對(duì)象失敗,需要進(jìn)行表空間級(jí)的不完全恢復(fù),物理備份將會(huì)非常麻煩,
28、并且需要額外的存儲(chǔ)或者主機(jī)來(lái)恢復(fù)。 物理備份并沒(méi)有任何對(duì)象的概念。所以為了應(yīng)付對(duì)象失敗,最好建立其他的備份恢復(fù)方法。 Exp/imp是最為常用的方法,遺憾的是可能無(wú)法獲得全部數(shù)據(jù)。 其他方法:Logminer,F(xiàn)lashback以及其他從表中搶救數(shù)據(jù) 從包含有壞塊的表中提取數(shù)據(jù)有很多的方法。下面詳細(xì)介紹了最適合的方法。這些方法的目的是從能訪問(wèn)的表塊中提取盡可能的數(shù)據(jù) 從表中搶救數(shù)據(jù) 10231事件,跳過(guò)壞塊讀取數(shù)據(jù)alter session set events 10231 trace name context forever, level 10 Create table salvage_ta
29、ble as select * from bad_table;使用ROWID案例 在Oracle8/8i中使用ROWID 范圍掃描的一個(gè)例子 :SQL select * from scott.partitionexample; ORA-01578: ORACLE data block corrupted (file # 7, block # 12698) ORA-01110: data file 7: /oracle1/oradata/V816/oradata/V816/users01.dbf = 7 , = 12698 , = 7 使用ROWID案例第一步:找出壞塊所在對(duì)象SQL SELEC
30、T tablespace_name, segment_type, owner, segment_name FROM dba_extents WHERE file_id =7 AND 12698 between block_id AND block_id + blocks - 1 ; TABLESPACE_NAME SEGMENT_TYPE OWNER SEGMENT_NAME - - - - USERS TABLE PARTITION SCOTT PARTITIONEXAMPLE 使用ROWID案例找出object_id SQL SELECT data_object_id FROM dba_o
31、bjects WHERE object_name = PARTITIONEXAMPLE and owner=SCOTT AND subobject_name= PARTEX2; DATA_OBJECT_ID - 88145 使用ROWID案例 找出相映的ROWID 壞塊第一行的ROWID- SQL select dbms_rowid.rowid_create(1, 88145,7,12698,0) from dual; DBMS_ROWID.ROWID_C - AAAVhRAAHAAADGaAAA 壞塊號(hào)+1第一行的ROWID- SQL select dbms_rowid.rowid_crea
32、te(1, 88145,7,12699,0) from dual; DBMS_ROWID.ROWID_C - AAAVhRAAHAAADGbAAA 使用ROWID案例 數(shù)據(jù)搶救CREATE TABLE salvage_table AS SELECT /*+ ROWID(A) */ * FROM scott.partitionexample A WHERE rowid = AAAVhRAAHAAADGbAAA ; 使用ROWID案例 壞塊里的數(shù)據(jù),根據(jù)索引搶救部分壞塊數(shù)據(jù)。SQL SELECT /*+ INDEX_FFS(A PARTEXAM) */ column1 FROM scott.par
33、titionexample A WHERE rowid = AAAVhRAAHAAADGaAAA AND rowid AAAVhRAAHAAADGbAAA ; 表 格 Incompelete recover Event 10231 and Rowid fetch But will lose one block rows Blockrecover誤操作誤操作的考慮 有近40%的災(zāi)難是由于誤操作造成的,并且有逐年上升的趨勢(shì)。 容災(zāi)系統(tǒng)對(duì)于誤操作完全無(wú)能為力。 傳統(tǒng)的備份和恢復(fù)對(duì)誤操作的策略也比較有限。 由于誤操作的頻繁和重大危害,必須把誤操作的恢復(fù)作為備份系統(tǒng)的一個(gè)重點(diǎn)建設(shè)目標(biāo)。索引被DROP R
34、ecreate it表格被truncate 10g全庫(kù)閃回 Export/import 不完全恢復(fù)DML操作失誤 閃回查詢 Logminer挖掘 邏輯恢復(fù)imp/impdp 不完全恢復(fù)表空間誤刪除 不完全恢復(fù) Export/import其他誤操作 文件被刪除,文件誤修改,一致性校驗(yàn)失效等等誤操作,依據(jù)操作的不同性質(zhì)采用不同的方法進(jìn)行恢復(fù)。Oracle10g閃回技術(shù)Flashback 功能Flashback QueriesFlashback TableFlashback DropFlashback Database閃回查詢 閃回查詢用途: 誤操作修補(bǔ)數(shù)據(jù) 查看表格數(shù)據(jù)變化CREATE TABLE
35、 changes_today AS SELECT * FROM employees MINUS SELECT * FROM employees AS OF TIMESTAMP TRUNC(SYSDATE);獲取新增加數(shù)據(jù)SQLSELECT * FROM department AS OF TIMESTAMP TO_TIMESTAMP(03-MAY-2005 09:30:00); 閃回查詢SQL使用閃回查詢?cè)O(shè)置配置參數(shù):UNDO_MANAGEMENT = AUTOUNDO_RETENTION = 定義了可以閃回時(shí)間,缺省15分鐘。合理規(guī)劃回滾段表空間大小閃回查詢?cè)O(shè)置 確保未過(guò)期數(shù)據(jù)不被覆蓋,需要使
36、用GUARANTEE之句強(qiáng)制限制 查詢dba_tablespaces確認(rèn) ALTER TABLESPACE RETENTION GUARANTEE;閃回查詢限制 Sys用戶不支持SESSION級(jí)別 閃回查詢支持最低粒度為3秒,系統(tǒng)每3秒記錄一次SCN變化 不能閃回表格最后一次DDL之前Flashback FeaturesFlashback QueriesFlashback TableFlashback DropFlashback Database表格閃回 恢復(fù)表格到誤操作之前,在線快速完成數(shù)據(jù)修復(fù) 避免了復(fù)雜的不完全恢復(fù)表格閃回 恢復(fù)表格到指定的時(shí)間或者SCN之前 自動(dòng)恢復(fù)所有關(guān)聯(lián)對(duì)象: Au
37、tomatically restores all dependent objects 索引自動(dòng)閃回 統(tǒng)計(jì)信息不會(huì)閃回表格閃回使用 關(guān)鍵怎么查找誤操作發(fā)生的時(shí)間 可以使用閃回行記錄變化確定SCN 可以使用LOGMNR日志挖掘確定SCN 閃回查詢SQL Triggers are not enabled by default during a flashback operationFLASHBACK TABLE t1 TO TIMESTAMP TO_TIMESTAMP(2005-05-01 12:05:00) ENABLE TRIGGERS;FLASHBACK TABLE t1 TO SCN 123
38、45;表格閃回步驟閃回步驟:1 Enable row movementFLASHBACK TABLE ef TO TIMESTAMP TO_TIMESTAMP();2、執(zhí)行閃回ALTER TABLE ef ENABLE ROW MOVEMENT;表格閃回限制 不能閃回最后一次DDL之前 SYS用戶表格不能閃回 表格上事物未結(jié)束前,不能閃回 表格閃回利用UNDO表格控件數(shù)據(jù),確保UNDO表格控件保留時(shí)間足夠長(zhǎng)Flashback FeaturesFlashback QueriesFlashback TableFlashback DropFlashback Database閃回DROP 在10G以后
39、,DROP對(duì)象放在垃圾箱里 這使DROP表格閃回恢復(fù),變得異常簡(jiǎn)單 在垃圾箱里表格沒(méi)重新命名,并且控件不被釋放 閃回表格命令FLASHBACK TABLE . TO BEFORE DROP 一些限制: SYS,SYSTEM用戶表格不適用 數(shù)據(jù)字典表空間不適用 SYSTEM表空間不適用閃回DROP 被DROP表格可以被閃回 TRUNCATE表格不能被閃回 DROP閃回不適用UNDO表空間 犧牲用戶表空間的空間作為代價(jià)清理垃圾箱Purged objects cannot be flashed back (recovered) Objects are purged using the PURGE s
40、tatement or automatically by Oracle when there is space pressure in their tablespaceOracle will purge dropped tables in preference to extending autoextensible files Dependent objects (indexes) are purged before tables Purging is performed on a first-in, first-out basisDropping a tablespace, or a use
41、r does not place any objects in the bin Purges the bin of any objects belonging to that tablespace or userRecycle bin feature can be turned offALTER SYSTEM SET “_recyclebin” = FALSE SCOPE = BOTH;dba_recyclebin 視圖記錄了所有被DROP對(duì)象(未清理前)SQL desc dba_recyclebin Name Null? Type - - - OWNER NOT NULL VARCHAR2(
42、30) OBJECT_NAME NOT NULL VARCHAR2(30) ORIGINAL_NAME VARCHAR2(32) OPERATION VARCHAR2(9) TYPE VARCHAR2(25) TS_NAME VARCHAR2(30) CREATETIME VARCHAR2(19) DROPTIME VARCHAR2(19) DROPSCN NUMBER PARTITION_NAME VARCHAR2(32) CAN_UNDROP VARCHAR2(3) CAN_PURGE VARCHAR2(3) RELATED NOT NULL NUMBER BASE_OBJECT NOT
43、NULL NUMBER PURGE_OBJECT NOT NULL NUMBER SPACE NUMBERNO/YESNO/YES查詢垃圾箱 查詢dba_recyclebin ,user_recyclebin SHOW RECYCLEBIN 檢查放在垃圾箱里表格的數(shù)據(jù)內(nèi)容SELECT * FROM “BIN$xyWe0+q+SniItJ0pn/u54A=$0” AS OF .;清理垃圾箱對(duì)象 清理垃圾箱語(yǔ)句PURGE DBA_RECYCLEBIN; Users with SYSDBA privilege, can purge the entire recycle binPURGE RECYCL
44、EBIN;PURGE TABLE emp;PURGE TABLE “BIN$xyWe0+q+SniItJ0pn/u54A=$0”;PURGE TABLESPACE user1;PURGE INDEX BIN$FTX34MN88J7=$0”;PURGE TABLESPACE user1 USER fred;Flashback FeaturesFlashback QueriesFlashback TableFlashback DropFlashback DatabaseFlashback DatabaseFLASHBACK DATABASE TO BEFORE SCN .FLASHBACK DAT
45、ABASE TO SCN .FLASHBACK DATABASE TO BEFORE TIMESTAMP .FLASHBACK DATABASE TO TIMESTAMP .整庫(kù)閃回到之前某個(gè)時(shí)間點(diǎn)整庫(kù)閃回到之前某個(gè)時(shí)間點(diǎn) 相當(dāng)于做了一個(gè)相當(dāng)于做了一個(gè)RMAN 不完全恢復(fù)不完全恢復(fù) 數(shù)據(jù)庫(kù)必須處于歸檔模式,及數(shù)據(jù)庫(kù)必須在數(shù)據(jù)庫(kù)必須處于歸檔模式,及數(shù)據(jù)庫(kù)必須在MOUNT狀態(tài)狀態(tài) Needs SYSDBA privilegeFlashback at Tablespace Level關(guān)閉部分不需要的表空間閃回 減少閃回日志產(chǎn)生 查看v$tablespace.flashback_on字段ALTER T
46、ABLESPACE expt FLASHBACK OFF;ALTER TABLESPACE users FLASHBACK ON*ERROR at line 1:ORA-01126: database must be mounted in this instance and not open in any instanceFlashback LoggingRecommended to store both flashback and archived logs in a common recovery area NOLOGGING operations are recorded in the
47、flashback logsDatabaseFlashback logsArchived logsLGWRRVWRRVWR = Recovery Writer設(shè)置閃回?cái)?shù)據(jù)庫(kù)Configure the recovery area by setting the following dynamic parametersDB_RECOVERY_FILE_DEST Oracle writes flashbacks logs to the specified recovery area (destination) Default value is ORACLE_BASEflash_recovery_are
48、aDB_RECOVERY_FILE_DEST_SIZE Default size is 2GB Both of the above parameters must be setDB_FLASHBACK_RETENTION_TARGET (default 1440 minutes) Oracle will try to keep enough flashback information to rollback through 1440 minutes COMPATIBILITY needs to be 10.0 + (database version can not go down once s
49、et to 10.0)啟動(dòng)閃回?cái)?shù)據(jù)庫(kù)1. Connect using sys AS SYSDBA 2. Find the current SCN of the database in case you need to perform a subsequent flashback to the current stateSELECT current_scn FROM v$database;3.SHUTDOWN4.STARTUP MOUNT EXCLUSIVE5.ALTER DATABASE FLASHBACK ON;6.ALTER DATABASE OPEN;Flashback Logs Fla
50、shback data requires a lot of space On Windows, logs are 4MB on a quiet system with names like O1_MF_0B87CPH6_.FLB Size and frequency of generation depends on locality of database changes in a given interval Any change within a block means the whole block is logged On Windows, logs are actually stor
51、ed ind:oracleflash_recovery_areaflashbackFlashback MechanismFlashback information jumps the database back in timeArchive log data is then applied to perform a point in time recovery Example : FLASHBACK DATABASE TO SCN 53297DatabaseSCN 69633Flashbacklog 23Flashbacklog 22Flashbacklog 21Flashbacklog 20
52、67234629835561750614Archive stream5329750617Recovery Area Storage 恢復(fù)區(qū)域用于存儲(chǔ)閃回日志,備份集 在保留時(shí)間內(nèi)需要配置足夠的存儲(chǔ)空間 如果空間使用率達(dá)到85%,alert日志會(huì)發(fā)出警告信息 如果空間使用率達(dá)到100%,Oracle自動(dòng)刪除選擇最老閃回日志 閃回日志不能通過(guò)手工刪除,如果空間滿需要調(diào)整保留空間大小或者保留時(shí)間閃回視圖SELECT name ,space_limit ,space_used ,reclaimable_space reclaim ,number_of_files files FROM v$recove
53、ry_file_dest;NAME SPACE_LIMIT SPACE_USED RECLAIM FILES- - - - -D:oracleflash_recovery_area 2147483648 364353536 0 86 v$recovery_file_dest顯示閃回空間使用情況顯示閃回空間使用情況閃回視圖SELECT TO_CHAR(begin_time,ddth hh24:mi) start_time ,TO_CHAR(end_time,ddth hh24:mi) end_time ,db_data ,redo_data ,flashback_data fl_data ,es
54、timated_flashback_size est_fl_sizeFROM v$flashback_database_stat;START_TIME END_TIME DB_DATA REDO_DATA FL_DATA EST_FL_SIZE- - - - - -15th 15:59 15th 16:48 20234240 9678336 12361728 015th 14:59 15th 15:59 19652608 7720960 10272768 39849984015th 13:59 15th 14:59 21643264 8264704 12541952 44740608015th
55、 12:59 15th 13:59 20897792 7571968 12435456 51683328015th 11:52 15th 12:59 46702592 32384000 33333248 712679424 v$flashback_database_stat顯示每小時(shí)日志量顯示每小時(shí)日志量 estimated_flashback_size is the value found in v$flashback_database_log at the end of the time interval閃回視圖SELECT name ,TO_CHAR(first_time,ddth hh
56、24:mi:ss) first_time ,bytesFROM v$flashback_database_logfile;NAME FIRST_TIME BYTES- - -D:ORACLEFLASH_RECOVERY_AREAORAC 15th 14:42:30 3981312FLASHBACKO1_MF_0B7W0MGC_.FLBD:ORACLEFLASH_RECOVERY_AREAORAC 15th 15:01:06 3981312FLASHBACKO1_MF_0B7W0WX4_.FLBD:ORACLEFLASH_RECOVERY_AREAORAC 15th 15:27:31 39813
57、12FLASHBACKO1_MF_0B7XLT9Z_.FLB v$flashback_database_logfile 查看閃回日志數(shù)據(jù)庫(kù)閃回小結(jié) 介質(zhì)失敗,不能通過(guò)閃回恢復(fù) 數(shù)據(jù)庫(kù)結(jié)構(gòu)發(fā)生變化,如數(shù)據(jù)文件strink,DROP表空間不能閃回進(jìn)行恢復(fù) 數(shù)據(jù)庫(kù)RESETLOGS OPEN后,不能使用閃回進(jìn)行恢復(fù)閃回和只讀打開 有時(shí)候需要反復(fù)閃回?cái)?shù)據(jù)庫(kù)以獲取準(zhǔn)確數(shù)據(jù) 可以使用只讀模式來(lái)完成此操作 如: 1、shutdown 2、startup mount 3、flashback database to scn; 4、alter database open read only;-進(jìn)行數(shù)據(jù)校驗(yàn)如果需要
58、重復(fù)以上操作邏輯備份備份方法 導(dǎo)入導(dǎo)出導(dǎo)入導(dǎo)出exp/impexp/imp備份條件:數(shù)據(jù)庫(kù)打開,導(dǎo)入與導(dǎo)出的數(shù)據(jù)庫(kù)表空間盡可備份條件:數(shù)據(jù)庫(kù)打開,導(dǎo)入與導(dǎo)出的數(shù)據(jù)庫(kù)表空間盡可能一致,只能同版本導(dǎo)入或低版本導(dǎo)入到高版本數(shù)據(jù)庫(kù)能一致,只能同版本導(dǎo)入或低版本導(dǎo)入到高版本數(shù)據(jù)庫(kù) 數(shù)據(jù)泵數(shù)據(jù)泵expdp/impdpexpdp/impdp備份條件:數(shù)據(jù)庫(kù)打開,導(dǎo)入與導(dǎo)出的數(shù)據(jù)庫(kù)表空間盡可備份條件:數(shù)據(jù)庫(kù)打開,導(dǎo)入與導(dǎo)出的數(shù)據(jù)庫(kù)表空間盡可能一致,只能同版本導(dǎo)入或低版本導(dǎo)入到高版本數(shù)據(jù)庫(kù),能一致,只能同版本導(dǎo)入或低版本導(dǎo)入到高版本數(shù)據(jù)庫(kù),效率高但只能在效率高但只能在10g10g以上的版本上使用以上的版本上使用
59、1. 1. 目錄目錄/ORACLE_HOME/bin/ORACLE_HOME/bin下,一個(gè)二進(jìn)制系統(tǒng)文件下,一個(gè)二進(jìn)制系統(tǒng)文件. .2. EXP2. EXP有三種模式:有三種模式:用戶模式:導(dǎo)出用戶所有對(duì)象以及對(duì)象中的數(shù)據(jù);用戶模式:導(dǎo)出用戶所有對(duì)象以及對(duì)象中的數(shù)據(jù);表模式:導(dǎo)出用戶所有表或者指定的表;表模式:導(dǎo)出用戶所有表或者指定的表;表空間:導(dǎo)出表空間所有內(nèi)容,可能包含多個(gè)用戶的對(duì)象;表空間:導(dǎo)出表空間所有內(nèi)容,可能包含多個(gè)用戶的對(duì)象;整個(gè)數(shù)據(jù)庫(kù):整個(gè)數(shù)據(jù)庫(kù): 導(dǎo)出數(shù)據(jù)庫(kù)中所有對(duì)象。導(dǎo)出數(shù)據(jù)庫(kù)中所有對(duì)象。3 3. . 導(dǎo)出工具導(dǎo)出工具expexp非交互式命令導(dǎo)出用戶的例子:非交互式命令導(dǎo)
60、出用戶的例子: $exp scott/tiger tables=(emp,dept)$exp scott/tiger tables=(emp,dept)owner=scottowner=scott file=/directory/scott.dmpfile=/directory/scott.dmp 導(dǎo)出工具export 3 3. . 導(dǎo)出工具導(dǎo)出工具expexp非交互式命令行導(dǎo)出表格的例子非交互式命令行導(dǎo)出表格的例子 $exp scott/tiger tables=(emp,dept) $exp scott/tiger tables=(emp,dept) file=/directory/scott.d
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康行業(yè)風(fēng)險(xiǎn)控制方法與操作規(guī)范
- 新能源汽車技術(shù)及應(yīng)用創(chuàng)新開發(fā)方案
- 服裝廠勞動(dòng)合同
- 職業(yè)培訓(xùn)師培訓(xùn)教程
- 環(huán)境保護(hù)監(jiān)測(cè)與污染控制作業(yè)指導(dǎo)書
- 國(guó)有企業(yè)合同管理制度
- 精裝修戰(zhàn)略合作框架協(xié)議書
- 家禽買賣合同集錦
- 委托采購(gòu)協(xié)議書
- 三農(nóng)產(chǎn)品國(guó)際貿(mào)易培訓(xùn)作業(yè)指導(dǎo)書
- (一模)蕪湖市2024-2025學(xué)年度第一學(xué)期中學(xué)教學(xué)質(zhì)量監(jiān)控 英語(yǔ)試卷(含答案)
- 完整版秸稈炭化成型綜合利用項(xiàng)目可行性研究報(bào)告
- 詩(shī)經(jīng)楚辭文學(xué)常識(shí)單選題100道及答案
- AI輔助的慢性病監(jiān)測(cè)與管理系統(tǒng)
- 2025年小學(xué)蛇年寒假特色作業(yè)
- 2025中國(guó)海油春季校園招聘1900人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 膽汁淤積性肝硬化護(hù)理
- Unit 6 Is he your grandpa 第一課時(shí) (教學(xué)實(shí)錄) -2024-2025學(xué)年譯林版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- (2024)河南省公務(wù)員考試《行測(cè)》真題及答案解析
- 湖北省十一校2024-2025學(xué)年高三上學(xué)期第一次聯(lián)考化學(xué)試題 含解析
評(píng)論
0/150
提交評(píng)論