版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle10g閃回操作引言問(wèn)題:前一段有一畢業(yè)學(xué)生問(wèn)我一個(gè)問(wèn)題:不小心執(zhí)行了一個(gè)update操作,把公司一個(gè)非常關(guān)鍵的表中某列數(shù)據(jù)全部改成了某個(gè)值。如果我把某個(gè)表誤刪除了,應(yīng)該怎么辦?如果想讓整個(gè)數(shù)據(jù)庫(kù)恢復(fù)到某個(gè)時(shí)間點(diǎn),應(yīng)該怎么辦?據(jù)調(diào)查約40%的系統(tǒng)問(wèn)題是人為的錯(cuò)誤引起的,這些人為的錯(cuò)誤又特別難以避免。傳統(tǒng)上當(dāng)發(fā)生數(shù)據(jù)丟失、數(shù)據(jù)錯(cuò)誤問(wèn)題時(shí),解決的主要方法就是數(shù)據(jù)的導(dǎo)入/導(dǎo)出、備份/恢復(fù)技術(shù)。這些方法都需要發(fā)生數(shù)據(jù)錯(cuò)誤之前有一個(gè)正確的備份,才能進(jìn)行恢復(fù)?;謴?fù)時(shí)不取決于錯(cuò)誤程度,而只取決于備份/恢復(fù)策略。這種方法既耗時(shí)又使數(shù)據(jù)庫(kù)系統(tǒng)不能提供服務(wù),對(duì)于一些用戶(hù)偶然地刪除數(shù)據(jù)這類(lèi)小錯(cuò)誤來(lái)說(shuō)顯得有些“大材小用”。那么如何來(lái)恢復(fù)這種偶然的錯(cuò)誤操作造成的數(shù)據(jù)丟失呢?從Oracle9i開(kāi)始提供了閃回功能,可用于恢復(fù)錯(cuò)誤的DML操作。在Oracle10g中對(duì)閃回功能做了較大改進(jìn),不再局限于閃回查詢(xún),還可用于恢復(fù)錯(cuò)誤的DDL(Drop)操作、閃回表、閃回?cái)?shù)據(jù)庫(kù)等。閃回技術(shù):優(yōu)點(diǎn)閃回技術(shù)的革命性:對(duì)于意外導(dǎo)致數(shù)據(jù)破壞的造作,可以使用更簡(jiǎn)單方法恢復(fù)。傳統(tǒng)修復(fù)技術(shù)耗時(shí)長(zhǎng).整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)文件需要恢復(fù),包括未丟失文件.需要所有日志文件.閃回操作迅速.行和事務(wù)的變更由索引控制.只恢復(fù)改變的數(shù)據(jù).閃回命令簡(jiǎn)易.不需要復(fù)雜的修復(fù)步驟.閃回各種錯(cuò)誤閃回將數(shù)據(jù)庫(kù)恢復(fù)到先前的時(shí)間點(diǎn).閃回表將表內(nèi)容修復(fù)到過(guò)去某個(gè)時(shí)間,不需要備份文檔.閃回Drop操作恢復(fù)整張被意外刪除的表.閃回?cái)?shù)據(jù)庫(kù):概述閃回?cái)?shù)據(jù)庫(kù)操作:將數(shù)據(jù)庫(kù)’反卷’到過(guò)去某個(gè)時(shí)間點(diǎn)可以用來(lái)恢復(fù)用戶(hù)邏輯錯(cuò)誤數(shù)據(jù)庫(kù)邏輯損壞數(shù)據(jù)庫(kù)返回到以前狀態(tài)按下’返回’鍵用戶(hù)錯(cuò)誤操作.如何啟用Oracle10g閃回?cái)?shù)據(jù)庫(kù)特性默認(rèn)數(shù)據(jù)庫(kù)閃回操作沒(méi)有打開(kāi)1.確認(rèn)當(dāng)前模式
SQL>selectflashback_onfromv$database;
2.檢查/修改恢復(fù)區(qū)設(shè)置
SQL>showparameterdb_recovery_file_dest
3.檢查/修改閃回時(shí)間設(shè)置
SQL>showparameterdb_flashback_retention_target
SQL>altersystemsetdb_flashback_retention_target=1440;
4.重新啟動(dòng)數(shù)據(jù)庫(kù)到Mount狀態(tài)
啟動(dòng)flashbackdatabase選項(xiàng)。
SQL>shutdownimmediate;
SQL>startupmount;
SQL>alterdatabaseflashbackon;
--可以看到,flashback還必須要?dú)w檔的保證應(yīng)該先執(zhí)行archiveloglist;
alterdatabasearchivelog;SQL>alterdatabaseopen;準(zhǔn)備測(cè)試數(shù)據(jù)Selectsysdatefromdual;Altersessionsetnls_date_format=‘yyyy-mm-ddhh24:mi:ss’;SELECTOLDEST_FLASHBACK_SCN,OLDEST_FLASHBACK_TIMEFROMV$FLASHBACK_DATABASE_LOG;--通過(guò)以上SQL我們可以知道,可以前滾恢復(fù)到的最早的SCN與時(shí)間點(diǎn)是多少,如果沒(méi)有確保flashbackdatabase,該視圖將沒(méi)有查詢(xún)結(jié)果。selectsysdatefromdual;
createtablesjh1asselect*fromdba_users;selectsysdatefromdual;
進(jìn)行閃回操作shutdownimmediate;
startupmount
altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss';SELECTOLDEST_FLASHBACK_SCN,OLDEST_FLASHBACK_TIMEFROMV$FLASHBACK_DATABASE_LOG;flashbackdatabasetotimestampto_timestamp('2009-03-2517:01:55','yyyy-mm-ddhh24:mi:ss');alterdatabaseopenreadonly;descsjh0;
alterdatabaseclose;進(jìn)行閃回操作flashbackdatabasetotimestampto_timestamp(‘2009-03-2517:03:18’,‘yyyy-mm-ddhh24:mi:ss’);--閃回到創(chuàng)建表之后時(shí)間點(diǎn)alterdatabaseopen;alterdatabaseopenreadonly;alterdatabasedismount;startupmount;
shutdownimmediatestartupmount;
alterdatabaseopen;
alterdatabaseopenresetlogs;descsjh0
閃回?cái)?shù)據(jù)庫(kù):節(jié)省恢復(fù)時(shí)間BackupUsererrorApplylogs
forwardRestorefilesGeneratelogsRepaired
databaseIncompleteRecoveryBackupUser
errorApplyFlashbacklogsbackwardFlashbacklogsRepaired
databaseFlashbackDatabase閃回?cái)?shù)據(jù)庫(kù):注意事項(xiàng)當(dāng)閃回?cái)?shù)據(jù)庫(kù)操作完成后,數(shù)據(jù)庫(kù)應(yīng)該在下列方式下打開(kāi):在只讀方式下驗(yàn)證當(dāng)前數(shù)據(jù)庫(kù)的狀態(tài)是否正確讀寫(xiě)方式下,打開(kāi)使用RESETLOGS參數(shù)閃回?cái)?shù)據(jù)庫(kù):局限以下情況不可以使用閃回:舊控制文件被恢復(fù)或重新建立.表空間被刪除.數(shù)據(jù)文件被減小.PresentFlashbacktargettimeDroptablespace.Shrinkdatafile.Re-createcontrolfile.允許數(shù)據(jù)庫(kù)閃回(EM)閃回表:概述閃回表操作將表恢復(fù)到某個(gè)特定時(shí)間.閃回表操作是在線(xiàn)操作.數(shù)據(jù)庫(kù)保持打開(kāi)狀態(tài).UserErroneous
DMLsFlashedback
tables閃回表使用閃回表操作,可以將表恢復(fù)到某個(gè)時(shí)間而不需要備份資料.執(zhí)行閃回操作是,數(shù)據(jù)從undo表空間中提取.用戶(hù)需要FLASHBACK
TABLE權(quán)限.需要行可移動(dòng)特征允許表的行可移特征ALTERTABLEemployeesENABLEROWMOVEMENT;執(zhí)行閃回表操作FLASHBACKTABLEhr.employeesTOTIMESTAMP TO_TIMESTAMP('2005-05-05
05:32:00', 'YYYY-MM-DD
HH24:MI:SS');閃回表開(kāi)始閃回,表要有行移動(dòng)的特性ALTERTABLEscott.emp1ENABLEROWMOVEMENT;閃回的15分鐘前,或者指定的scn號(hào)碼FLASHBACKTABLEscott.emp1TOTIMESTAMP(SYSDATE-1/96);FLASHBACKTABLEscott.emp1TOscn(1349117);閃回表操作:注意事項(xiàng)FLASHBACK
TABLE命令是單一事務(wù),自動(dòng)獲得排它DML鎖.對(duì)象的統(tǒng)計(jì)信息不能閃回.當(dāng)前索引和依賴(lài)對(duì)象被保留.閃回表操作局限與特性:不能對(duì)系統(tǒng)表進(jìn)行閃回不能橫跨DDL操作操作細(xì)節(jié)寫(xiě)入alertlog文件中閃回Drop:概述DROPTABLEemployees;FLASHBACKTABLE
employees
TOBEFOREDROP;錯(cuò)誤產(chǎn)生Recycle
Bin閃回dropOracle10g提供了flashbackdrop的功能。而在以前的版本中,通常只能進(jìn)行不完全恢復(fù)。Oracle10g的flashbackdrop功能,允許你從當(dāng)前數(shù)據(jù)庫(kù)中恢復(fù)一個(gè)被drop了的對(duì)象,在執(zhí)行drop操作時(shí),現(xiàn)在Oracle不是真正刪除它,而是將該對(duì)象自動(dòng)將放入回收站。對(duì)于一個(gè)對(duì)象的刪除,其實(shí)僅僅就是簡(jiǎn)單的重命名操作。所謂的回收站,是一個(gè)虛擬的容器,用于存放所有被刪除的對(duì)象。在回收站中,被刪除的對(duì)象將占用創(chuàng)建時(shí)的同樣的空間,你甚至還可以對(duì)已經(jīng)刪除的表查詢(xún),也可以利用flashback功能來(lái)恢復(fù)它,這個(gè)就是flashbackdrop功能?;厥照緝?nèi)的相關(guān)信息可以從recyclebin,user_recyclebin,dba_recyclebin等視圖中獲取,或者通過(guò)SQL*Plus的showrecyclebin命令查看。
在EnterpriseManager中執(zhí)行閃回DROP操作Dependentbitmapindex
willalsobeflashedback.閃回dropcreatetablet_userasselect*fromdba_users;--如果是sys用戶(hù)selectcount(*)from
t_user;droptable
t_user;showrecyclebin;
--sysdba的drop操作不會(huì)被記錄。Conn
scott/oraclecreatetablet_userasselect*fromdba_users;
selectcount(*)from
t_user;droptable
t_user;Desc
t_usershowrecyclebin;flashbacktablet_usertobeforedrop;Desc
t_userselectcount(*)from
t_user;showrecyclebin;purgetablet_user;
--從回收站清除。showrecyclebin;droptablet_userpurge;
--徹底刪除一個(gè)表,不讓進(jìn)入回收站。showrecyclebin;--沒(méi)有對(duì)象。閃回Drop:注意事項(xiàng)閃回Drop表在以下情形下失效:SYSTEM表空間的表使用fine-grained審計(jì)或VirtualPrivate數(shù)據(jù)庫(kù)數(shù)據(jù)字典表表由于表空間不夠被主動(dòng)或被動(dòng)刪除以下依賴(lài)性不被保護(hù):Bitmap-join索引MaterializedviewlogsReferentialintegrity鍵刪除索引在表刪除之前閃回dml查詢(xún)Oracle10g對(duì)于閃回查詢(xún)進(jìn)行了增強(qiáng),支持更簡(jiǎn)單的SQL操作,允許對(duì)誤刪除、誤更新等DML操作進(jìn)行閃回。createtablet_userasselect*fromdba_users;selectcount(*)fromt_user;Deletefromt_user;Commit;Selectcount(*)fromt_user;selectdbms_flashback.get_system_change_numberfromdual;Conn/assysdbaselectdbms_flashback.get_system_change_numberfromdual;selectcount(*)fromt_userasofscn1388190;Connscott/oracleselectcount(*)fromt_userasofscn1388193;selectcount(*)fromt_userasofscn1388190;--在scn1388190的時(shí)刻數(shù)據(jù)都還在。insertintot_userselect*fromt_userasofscn1388190;selectcount(*)fromt_user;--數(shù)據(jù)返回閃回查詢(xún):概述t1t2SELECTemployee_id,salaryFROMemployeesASOFTIMESTAMPt1WHEREemployee_id=200EmployeesEmployeesUnwanted
updates閃回查詢(xún):示例11:0011:10UPDATEemployeesSETsalary= (SELECTsalaryFROMemployees ASOFTIMESTAMPTO_TIMESTAMP('2005-05-04
11:00:00',
'yyyy-mm-dd
hh24:mi:ss') WHEREemployee_id=200)WHEREemployee_id=200EmployeesEmployeessalary=4,400Employeessalary=4,400salary=4,840使用FlashbackversionQuerycreatetablesjh0asselectusername,user_idfromdba_users;Descsjh0select*fromsjh0;
deletefromsjh0whereusername='SYS';DELETEFROMsjh0whereusername='SYSTEM';
UPDATEsjh0setuser_id=0whereusername='SJH';commit;updatesjh0setuser_id=1whereusername='SCOTT';commit;select*fromsjh0;
selectversions_starttime,versions_endtime,versions_xid,versions_operation,username,user_idfromsjh0versionsbetweentimestampminvalueandmaxvalue;
--下面我們利用VERSIONS_XID來(lái)查詢(xún)undo語(yǔ)句,需要用到sys/system用戶(hù)。最后利用這些undo來(lái)撤銷(xiāo)不同版本的事物。SELECTUNDO_SQLFROMFLASHBACK_TRANSACTION_QUERYwhereXID='0A001700C0020000';SELECTUNDO_SQLFROMFLASHBACK_TRANSACTION_QUERYwhereXID='07000F00C5020000';
SEL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 金屬屋面拆除施工方案
- 大型高爐銅冷卻壁渣皮物性及形成脫落機(jī)理研究
- 初中生物學(xué)教學(xué)中運(yùn)用“問(wèn)題教學(xué)法”培養(yǎng)學(xué)生自主學(xué)習(xí)能力的實(shí)踐研究
- 二零二五年度2025年度車(chē)輛轉(zhuǎn)讓附帶技術(shù)培訓(xùn)合同
- 超細(xì)碳化物制備及在硬質(zhì)合金應(yīng)用
- 典型海水陽(yáng)離子對(duì)貽貝蛋白Mefp-1粘附性能影響的研究
- 2025年度道路工程監(jiān)理合同
- 二零二五年度太陽(yáng)能光伏系統(tǒng)維護(hù)維修協(xié)議
- 2025年度二零二五年度體育場(chǎng)館場(chǎng)地布置與賽事運(yùn)營(yíng)合同
- 2025年度住宅小區(qū)綠化養(yǎng)護(hù)與物業(yè)管理合同
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 計(jì)劃合同部部長(zhǎng)述職報(bào)告范文
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專(zhuān)題培訓(xùn)課件
- 《呼吸衰竭的治療》
- 2024年度醫(yī)患溝通課件
- 2024年中考政治總復(fù)習(xí)初中道德與法治知識(shí)點(diǎn)總結(jié)(重點(diǎn)標(biāo)記版)
- 2024年手術(shù)室的應(yīng)急預(yù)案
- 五年級(jí)上冊(cè)小數(shù)除法豎式計(jì)算練習(xí)300題及答案
- 語(yǔ)言規(guī)劃講義
- 生活用房設(shè)施施工方案模板
評(píng)論
0/150
提交評(píng)論