新聞中心
隨著數(shù)據(jù)量的增加、業(yè)務(wù)應(yīng)用的復(fù)雜化以及各種原因?qū)е碌臄?shù)據(jù)庫故障,Oracle 數(shù)據(jù)庫恢復(fù)的需求越來越重要。時(shí)間點(diǎn)恢復(fù)是Oracle數(shù)據(jù)庫的一種常用恢復(fù)技術(shù),它可以恢復(fù)到某個(gè)過去時(shí)間點(diǎn)的數(shù)據(jù)庫狀態(tài),以解決因?yàn)檎`操作或其他因素導(dǎo)致數(shù)據(jù)丟失或錯(cuò)誤的問題。本文將會(huì)為您介紹Oracle數(shù)據(jù)庫中時(shí)間點(diǎn)恢復(fù)技巧。

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),雙塔網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:雙塔等地區(qū)。雙塔做網(wǎng)站價(jià)格咨詢:18982081108
一、 理解時(shí)間點(diǎn)恢復(fù)
時(shí)間點(diǎn)恢復(fù)是一種恢復(fù)數(shù)據(jù)庫的方法,它能夠使得數(shù)據(jù)庫可以回滾到一個(gè)歷史狀態(tài),從而在故障恢復(fù)、誤操作處理、測(cè)試數(shù)據(jù)回滾等方面提供有效的支持。時(shí)間點(diǎn)恢復(fù)基于Oracle數(shù)據(jù)庫的恢復(fù)機(jī)制,其流程包括設(shè)置閃回?cái)?shù)據(jù)區(qū)域(Flashback Data Area)、開啟閃回查詢(Flashback Query)特性以及使用閃回版本查詢(Flashback Version Query)特性。
二、 時(shí)間點(diǎn)恢復(fù)的實(shí)施步驟
時(shí)間點(diǎn)恢復(fù)技術(shù)主要分為兩種:常規(guī)時(shí)間點(diǎn)恢復(fù)和基于日志的時(shí)間點(diǎn)恢復(fù)。下面是常規(guī)時(shí)間點(diǎn)恢復(fù)的實(shí)施步驟:
1、 設(shè)置閃回?cái)?shù)據(jù)區(qū)域
在實(shí)施時(shí)間點(diǎn)恢復(fù)之前,需先設(shè)置閃回?cái)?shù)據(jù)區(qū)域。設(shè)置閃回?cái)?shù)據(jù)區(qū)域的SQL語句如下:
ALTER SYSTEM SET db_recovery_file_dest_size = {size}G;
ALTER SYSTEM SET db_recovery_file_dest = ‘{path}’ scope=both;
其中,size代表閃回?cái)?shù)據(jù)區(qū)域的大小,單位為GB,path代表閃回?cái)?shù)據(jù)區(qū)域的路徑。
2、 開啟閃回查詢特性
使用以下語句開啟閃回查詢特性:
ALTER DATABASE FLASHBACK ON;
執(zhí)行以上命令會(huì)使Oracle數(shù)據(jù)庫開啟閃回查詢特性,從而允許用戶在不更改數(shù)據(jù)庫實(shí)例狀態(tài)的情況下查詢過去狀態(tài)的信息。
3、 恢復(fù)到時(shí)間點(diǎn)
使用以下語句恢復(fù)到指定時(shí)間點(diǎn):
FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP(‘{timestamp}’, ‘YYYY-MM-DD HH24:MI:SS’);
其中,timestamp代表目標(biāo)時(shí)間點(diǎn),格式為YYYY-MM-DD HH24:MI:SS,例如‘2023-06-18 13:30:00’。
4、 重做日志恢復(fù)
在恢復(fù)完成后,需要執(zhí)行物理恢復(fù)協(xié)調(diào)器(Redo Log Coordinator)來執(zhí)行重做日志恢復(fù)。使用以下語句:
RECOVER DATABASE USING BACKUP CONTROLFILE;
執(zhí)行以上命令會(huì)將重做日志應(yīng)用到閃回版本中,以將數(shù)據(jù)庫恢復(fù)到目標(biāo)時(shí)間點(diǎn)狀態(tài)。
5、 恢復(fù)測(cè)試
為確保恢復(fù)成功,應(yīng)該進(jìn)行必要的測(cè)試,如執(zhí)行SQL查詢、檢查表、驗(yàn)證數(shù)據(jù)等。
三、 基于日志的時(shí)間點(diǎn)恢復(fù)
在傳統(tǒng)的最基本的恢復(fù)方式中,基于日志的時(shí)間點(diǎn)恢復(fù)是少不了的。在是恢復(fù)模式下,Oracle數(shù)據(jù)庫基于redo log來進(jìn)行時(shí)間點(diǎn)恢復(fù),它重放redo日志中的變更以恢復(fù)數(shù)據(jù)庫到指定的時(shí)間點(diǎn)狀態(tài)。
1、 確認(rèn)SCN
在基于日志的時(shí)間點(diǎn)恢復(fù)中,首先需要確定系統(tǒng)更改編號(hào)(SCN),SCN是同步整個(gè)系統(tǒng)狀態(tài)更改的種類特征,在Oracle中,系統(tǒng)更改編號(hào)是通過日志號(hào)碼來標(biāo)識(shí)的。以下是通過查詢當(dāng)前SCN的SQL語句:
SELECT CURRENT_SCN FROM V$DATABASE;
2、 恢復(fù)控制文件和在線重做日志
將控制文件和在線重做日志轉(zhuǎn)換,即還原備份數(shù)據(jù)庫。在實(shí)際環(huán)境中,這個(gè)步驟通常會(huì)在實(shí)施其他任務(wù)并且需要數(shù)據(jù)庫回滾到以前狀態(tài)時(shí)才會(huì)使用。
3、 裝載數(shù)據(jù)庫
使用RESETLOGS選項(xiàng)啟動(dòng)數(shù)據(jù)庫。在基于日志的恢復(fù)模式中,只有連接到數(shù)據(jù)庫并經(jīng)過RESETLOGS選項(xiàng)重新啟動(dòng)數(shù)據(jù)庫才能結(jié)束時(shí)間點(diǎn)恢復(fù)過程。
4、 打開恢復(fù)后的數(shù)據(jù)庫
使用以下語句打開恢復(fù)后的數(shù)據(jù)庫:
ALTER DATABASE OPEN RESETLOGS;
如果執(zhí)行該命令時(shí),系統(tǒng)會(huì)提示未應(yīng)用的日志文件,需要繼續(xù)應(yīng)用系統(tǒng)SCN更改之后的剩余日志。
5、 確定恢復(fù)成功
您應(yīng)該執(zhí)行一些測(cè)試以確保整個(gè)過程成功。比如,執(zhí)行SQL查詢、檢查表、驗(yàn)證數(shù)據(jù)等。
四、
時(shí)間點(diǎn)恢復(fù)技術(shù)是Oracle數(shù)據(jù)庫的一種重要的恢復(fù)技術(shù),可在某種程度上減少運(yùn)維人員在故障處理、誤操作處理、測(cè)試回滾等方面的工作任務(wù)。在實(shí)際業(yè)務(wù)應(yīng)用中,對(duì)于不同的業(yè)務(wù)場(chǎng)景需要靈活選擇時(shí)間點(diǎn)恢復(fù)技術(shù),同時(shí)也通過不斷實(shí)踐優(yōu)化技巧以達(dá)到更好的恢復(fù)效果。
相關(guān)問題拓展閱讀:
- Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究
- 如何用飛康CDP恢復(fù)Oracle 11g數(shù)據(jù)庫
- oracle數(shù)據(jù)庫:完整備份,十二小時(shí)后數(shù)據(jù)庫出現(xiàn)問題,這十二個(gè)小時(shí)的數(shù)據(jù)怎么恢復(fù)?
Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究
多工聯(lián)機(jī)重作日志文件
每個(gè)數(shù)據(jù)庫實(shí)例都有其自己的聯(lián)機(jī)重作日志組 在操作數(shù)據(jù)庫時(shí) Oracle首先將數(shù)據(jù)庫的全部改變坦喚保存在重作日志緩沖區(qū)中 隨后日志記錄器進(jìn)程(LGWR)將數(shù)據(jù)從系統(tǒng)共用區(qū)SGA(System Global Area)的重作日志緩沖區(qū)寫機(jī)重作日志文件 在磁盤崩潰或?qū)嵗r(shí) 可以通過與之相關(guān)的聯(lián)機(jī)重作日志來保護(hù)數(shù)據(jù)庫 將損失降至更低 但Oracle在默認(rèn)的方式下只創(chuàng)建一組重作日志文件(每一組只有一個(gè)項(xiàng)目文件) 為了減少丟失這些重要的重作日志文件的危險(xiǎn) 因此需要對(duì)其進(jìn)行鏡像拷貝
在Oracle級(jí)多工聯(lián)機(jī)重作日志文件 即增加多個(gè)文件到每個(gè)組以便鏡像數(shù)據(jù) 這樣I/O故障或?qū)憗G失只損壞一個(gè)拷貝 從而保證了LGWR后臺(tái)進(jìn)程至少能夠向一個(gè)成員寫入信息 數(shù)據(jù)庫仍然可以繼續(xù)運(yùn)行 同時(shí)應(yīng)保證日志組的成員不應(yīng)駐存在同一物理設(shè)備上 因?yàn)檫@將削弱多重日志文件的作用
鏡像拷貝控制文件
控制文件描述通用的數(shù)據(jù)庫結(jié)構(gòu) 它存儲(chǔ)了大量數(shù)據(jù)庫狀態(tài)信息 包括物理結(jié)構(gòu)和聯(lián)機(jī)重作日志文件在當(dāng)時(shí)的名稱 位置 狀態(tài) 控制文件在數(shù)據(jù)庫啟動(dòng)時(shí)被Oracle實(shí)例讀取 保持打開并隨著操作而文件內(nèi)容更新 直到實(shí)例關(guān)閉為止 在它打開的過程中能夠同步需要恢復(fù)的信息 包括檢查點(diǎn)信息 因此若損壞或丟失了控制文件 Oracle將不能繼續(xù)工作 因此應(yīng)在系統(tǒng)中保持控制文件的多個(gè)拷貝 且這些拷貝應(yīng)置于安裝于不同磁盤控制器下的不同磁盤設(shè)備中
由于Oracle沒有提供對(duì)控制文件多工的完整支持 因此應(yīng)在對(duì)控制文件使用操作系統(tǒng)或硬件鏡像 即在修改初始化文件的control_files參數(shù)后重新啟動(dòng)數(shù)據(jù)庫前 應(yīng)將控制文件復(fù)制到定義的新位置 否則數(shù)據(jù)庫啟動(dòng)時(shí)將會(huì)出錯(cuò)
激活歸檔進(jìn)程
當(dāng)數(shù)據(jù)庫運(yùn)行于NOARCHIVELOG模式下時(shí) 只能在完全關(guān)閉數(shù)據(jù)庫后進(jìn)行數(shù)據(jù)庫的一致備份 并且同時(shí)禁用了聯(lián)機(jī)重作日志的存檔 這樣在Oracle實(shí)例失敗時(shí)只能將數(shù)據(jù)庫修復(fù)到最近畢螞的完整數(shù)據(jù)庫備份時(shí)的那一點(diǎn)上 不能在失效點(diǎn)處對(duì)實(shí)例進(jìn)行恢復(fù) 而在ARCHIVELOG模式下 數(shù)據(jù)庫不僅可以進(jìn)行一致備份 還可以在數(shù)據(jù)庫打開的情況下進(jìn)行聯(lián)機(jī)備份 通過數(shù)據(jù)庫的備份和聯(lián)機(jī)與存檔的重作日志文件 用戶可以恢復(fù)所有已提交的事務(wù) 并允許將數(shù)據(jù)庫恢復(fù)到指定的時(shí)間 SCN或日志系列號(hào)處 增大了恢復(fù)的靈活性 減少了故障時(shí)的數(shù)據(jù)丟失 因此數(shù)據(jù)庫應(yīng)運(yùn)行于ARCHIVELOG模式
在ARCHIVELOG模式下為了防止文件損壞和介質(zhì)故障 應(yīng)把日志歸檔到不同的磁盤上 這可以通過在初始化文件中為歸檔重作日志指定多個(gè)目標(biāo)實(shí)現(xiàn)
數(shù)據(jù)庫實(shí)施較大改變時(shí)備份
因?yàn)榭刂莆募斜4媪藬?shù)據(jù)庫的模式結(jié)構(gòu)信息 因此在對(duì)數(shù)據(jù)庫進(jìn)行較大改變(包括改變表結(jié)構(gòu) 增加 刪除日志文件或數(shù)據(jù)文件等)時(shí)應(yīng)立即備份控制文件及相應(yīng)的數(shù)據(jù)文件
使用RESETLOGS選項(xiàng)打開數(shù)據(jù)庫后進(jìn)行備份
在以RESETLOGS選項(xiàng)打開數(shù)據(jù)庫后 應(yīng)對(duì)整個(gè)數(shù)據(jù)庫進(jìn)行脫機(jī)或聯(lián)機(jī)的備份 否則將不能恢復(fù)重置日志后的改變
當(dāng)以RESETLOGS選項(xiàng)打開數(shù)據(jù)庫時(shí) Oracle將拋棄恢復(fù)中沒有應(yīng)用的重復(fù)信息 并確保永遠(yuǎn)不再運(yùn)用 同時(shí)還將初始化控制文件中關(guān)于聯(lián)機(jī)日志和重作線程的信息 清除聯(lián)機(jī)日志中的內(nèi)容 因此 RESETLOGS前的歸檔日志的序列號(hào)將與RESETLOGS后的Oracle控制文件的要讓數(shù)凱求值不相符(備份文件中的檢查點(diǎn)比控制文件中的檢查點(diǎn)舊) 即在恢復(fù)中不能應(yīng)用以前的歸檔日志文件 從而導(dǎo)致RESETLOGS操作之前的備份在新形體中無用
避免備份聯(lián)機(jī)重作日志文件
由于文中提出了多工聯(lián)機(jī)重作日志文件且數(shù)據(jù)庫運(yùn)行于ARCHIVELOG模式 ARCH進(jìn)程能夠?qū)⒙?lián)機(jī)重作日志歸檔 因此不必對(duì)其進(jìn)行備份 若用備份的聯(lián)機(jī)重作日志文件重建它 可能會(huì)引起日志文件序列號(hào)的混亂 從而破壞數(shù)據(jù)庫 得到適得其反的結(jié)果
重置聯(lián)機(jī)日志
在進(jìn)行了不完全恢復(fù)或用備份控制文件進(jìn)行恢復(fù)后 應(yīng)重置聯(lián)機(jī)日志
為了確保數(shù)據(jù)庫的一致性 必須保證在恢復(fù)后所有數(shù)據(jù)文件都恢復(fù)到同一個(gè)時(shí)間點(diǎn) 但不完全恢復(fù)可能導(dǎo)致數(shù)據(jù)文件中具有一個(gè)與其它文件不同的檢查點(diǎn) 導(dǎo)致數(shù)據(jù)庫的一致性受到破壞 同樣 備份的控制文件中保存的SCN和計(jì)數(shù)器與當(dāng)前日志文件中的值可能不同 從而也破壞了數(shù)據(jù)庫的一致性 因此應(yīng)在進(jìn)行完上述兩項(xiàng)操作后重置聯(lián)機(jī)日志
數(shù)據(jù)庫的邏輯備份
以上所述備份都為物理備份 是實(shí)際物理數(shù)據(jù)庫文件從一處拷貝到另一處的備份 除此之外還可使用Oracle提供的導(dǎo)出實(shí)用程序進(jìn)行數(shù)據(jù)庫的邏輯備份 Oracle同時(shí)還提供了相應(yīng)的導(dǎo)入實(shí)用程序重建邏輯備份中保存的信息
邏輯備份只拷貝數(shù)據(jù)庫中的數(shù)據(jù) 而不記錄數(shù)據(jù)位置的備份過程 它利用SQL語句 從數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù)到一個(gè)存放在合適位置的外部文件中 同時(shí)并可檢測(cè)到數(shù)據(jù)塊的損壞 因此可用其作為物理備份的補(bǔ)充
備份策略
考慮到如今大部分信息系統(tǒng)每周的業(yè)務(wù)是 × 操作 因此采用聯(lián)機(jī)備份 否則可每隔一定時(shí)間進(jìn)行一次脫機(jī)備份
應(yīng)用上述規(guī)則 可得出下述典型的備份策略
?、夔R像拷貝重作日志文件
②鏡像拷貝控制文件
?、奂せ顨w檔進(jìn)程 即以ARCHIVELOG模式操作數(shù)據(jù)庫
?、苊刻爝M(jìn)行數(shù)據(jù)庫的部分聯(lián)機(jī)備份(每天進(jìn)行數(shù)據(jù)庫的完全熱備份將無畏地增加數(shù)據(jù)庫的負(fù)擔(dān)且沒有必要 同時(shí)也增加了數(shù)據(jù)庫恢復(fù)時(shí)的靈活性)
?、菝扛粢恢芑驇字苓M(jìn)行一次數(shù)據(jù)庫的邏輯備份
實(shí)際項(xiàng)目應(yīng)用
當(dāng)數(shù)據(jù)庫中的文件達(dá)到一定數(shù)量后 DBA可能記不住該備份的文件的名或位置 因此 若能使備份過程自動(dòng)化可有效地減輕DBA的負(fù)擔(dān) 同時(shí)不會(huì)遺漏應(yīng)備份的文件 應(yīng)用自動(dòng)批處理文件及腳本文件可實(shí)現(xiàn)備份 恢復(fù)的自動(dòng)化 下面簡(jiǎn)介了在實(shí)際項(xiàng)目開發(fā)中應(yīng)用本文所提出的自動(dòng)備份 恢復(fù)策略 通過實(shí)際應(yīng)用 證明了該策略的正確性和可行性
?。?)下述腳本實(shí)現(xiàn)聯(lián)機(jī)重作日志的多工
connect 賬戶名/密碼 alter database ktgis add logfile member 日志文件的存儲(chǔ)位置 to group 聯(lián)機(jī)日志組號(hào); shutdown immediate startup pfile=初始化文件的存放位置 exclusive mount; 裝載數(shù)據(jù)庫且不打開 alter database archivelog; 激活歸檔進(jìn)程 alter database open; exit
?。?)下列VB代碼自動(dòng)建立聯(lián)機(jī)備份的批處理文件及相應(yīng)的腳本文件
Set adoTmp = objConnect Execute( select tablespace_name from sys dba_data_files ) 得到數(shù)據(jù)庫中的表空間名 Dim lnum As Long Dim lnum As Long lNum = FreeFile Open 自動(dòng)備份批處理文件路徑 For Binary As lNum lnum = FreeFile Open onlinebegin sql For Binary As lnum onlinebegin sql為設(shè)置表空間進(jìn)入熱備份模式的腳本文件文件名 lnum = FreeFile Open onlineend sql For Binary As lnum onlinebegin sql為結(jié)束表空間熱備份模式的腳本文件文件名 strTmp = connect 賬戶名/密碼 & Chr( ) & Chr( ) Put lnum strTmp strTmp = shutdown immediate & Chr( ) & Chr( ) Put lnum strTmp strTmp = startup pfile=初始化文件的存放位置exclusive mount; & Chr( ) & Chr( ) Put lnum strTmp strTmp = alter database archivelog; & Chr( ) & Chr( ) Put lnum strTmp strTmp = alter database open; & Chr( ) & Chr( ) Put lnum strTmp strTmp = connect 賬戶名/密碼 & Chr( ) & Chr( ) Put lnum strTmp strTmp = Oracle服務(wù)管理器路徑 & @ & onlinebegin sql & Chr( ) & Chr( ) 在服務(wù)管理器中執(zhí)行腳本文件onlinebegin sql Put lNum strTmp Do While Not adoTmp EOF Set adoTmp = objConnect Execute( select file_name from sys dba_data_files where tablespace_name= & adoTmp Fields( ) & ) 得到當(dāng)前表空間所對(duì)應(yīng)的所有數(shù)據(jù)文件名 通過循環(huán)即可得到所有表空間所對(duì)應(yīng)數(shù)據(jù)文件名 若只備份指定的表空間 可指定表空間名從而得到其對(duì)應(yīng)的物理數(shù)據(jù)文件 strTmp = alter tablespace & adoTmp Fields( ) & begin backup; & Chr( ) & Chr( ) 將表空間置于熱備份模式 Put lnum strTmp strTmp = Oracle的ocopy exe工具全路徑 & adoTmp Fields( ) & & 備份文件存放路徑 & Chr( ) & Chr( ) Put lNum strTmp strTmp = alter tablespace & adoTmp Fields( ) & end backup; & Chr( ) & Chr( ) 表空間恢復(fù)正常模式 Put lnum strTmp adoTmp MoveNext Loop strTmp = Oracle服務(wù)管理器路徑 & @ & onlineend sql & Chr( ) & Chr( ) 在服務(wù)管理器中執(zhí)行腳本文件onlineend sql Put lNum strTmp strTmp = exit & Chr( ) & Chr( ) 退出服務(wù)管理器 Put lnum strTmp strTmp = alter system switch logfile; & Chr( ) & Chr( ) 強(qiáng)制日志轉(zhuǎn)換 使Oracle創(chuàng)建一個(gè)歸檔日志文件 Put lnum strTmp strTmp = exit & Chr( ) & Chr( ) Put lnum strTmp Close Set adoTmp = Nothing Set adoTmp = Nothing
運(yùn)行得到的自動(dòng)批處理文件 即可自動(dòng)進(jìn)行數(shù)據(jù)庫的聯(lián)機(jī)備份
( )在從備份中恢復(fù)數(shù)據(jù)文件后 執(zhí)行下列腳本將數(shù)據(jù)庫的恢復(fù)程序
connect賬戶名/密碼 shutdown abort startup mount pfile=初始化文件的存放位置; 裝載數(shù)據(jù)庫 set autorecovery on; 打開自動(dòng)恢復(fù) recover database; alter database open; 打開數(shù)據(jù)庫
結(jié)束語
lishixinzhi/Article/program/Oracle/202311/18527
如何用飛康CDP恢復(fù)Oracle 11g數(shù)據(jù)庫
本文將重點(diǎn)向您介紹如何利用飛康CDP恢復(fù)Oracle 11g 服務(wù)器及其數(shù)據(jù)庫。同時(shí),將幫助您進(jìn)一步了解如何利用連續(xù)、實(shí)時(shí)的日志和定時(shí)的快照將數(shù)據(jù)簡(jiǎn)單、快速、精細(xì)的恢復(fù)到任意時(shí)間點(diǎn)。
當(dāng)用戶的Oracle 11g的磁盤或分區(qū)已經(jīng)受到飛康CDP的保護(hù),飛康CDP的DiskSafe將為用戶提供多種數(shù)據(jù)恢復(fù)途徑。用戶可以將數(shù)據(jù)恢復(fù)到原始磁盤或是其它磁盤,創(chuàng)建系統(tǒng)和數(shù)據(jù)的副本也變得非常簡(jiǎn)單。然而,更好的恢復(fù)方法就是根據(jù)你的恢復(fù)對(duì)象進(jìn)行恢復(fù)。下面將介紹幾種典型的數(shù)據(jù)恢復(fù)場(chǎng)景和Oracle特定恢復(fù)的場(chǎng)景。
場(chǎng)景1: 恢復(fù)磁盤上的一個(gè)或多個(gè)文件
如果你不小心刪除了磁盤上的一個(gè)文件,或者你需要從一些已經(jīng)修改過的文件中找回一些舊的信息,最簡(jiǎn)單的恢復(fù)方法是加載一個(gè)包含了丟失的文件或是原始文件的快照視圖。在文件被刪除或是被修改之前的時(shí)間段產(chǎn)生的任何快照視圖都可以被選擇加載。加載了快照視圖以后,只要將你需要的文件拷貝到你需要的位置就行了。
加載一個(gè)快照就是創(chuàng)建了一個(gè)單獨(dú)的虛擬磁盤。加載的快照是鏡像的精確視圖,當(dāng)快照創(chuàng)建的時(shí)候它就已經(jīng)存在了。由于加載的快照由快照區(qū)里的當(dāng)前鏡像和變化數(shù)據(jù)組成,因搜陵此不再需要額外的磁盤空間。
下面的屏幕截圖顯示,在/01上加載的Oracle 磁盤sdb。
1. 列出當(dāng)前的sdb快照并選擇一個(gè)需要加載的快照做為TimeView。
2. 用CDP調(diào)取TimeView (下圖):
#
亮漏談 3. 在當(dāng)前磁盤中找出TimeView 并將其加載到服務(wù)器上:
4. 瀏覽TimeView并從中找到你丟失的數(shù)據(jù),將其拷貝到需要的位置,然后卸載這個(gè)TimeView:
場(chǎng)景2: 恢復(fù)非系統(tǒng)盤或分區(qū)
這種情況的恢復(fù)與上一種場(chǎng)景的恢復(fù)非常相似:加載相應(yīng)的TimeView,將整個(gè)磁盤或分區(qū)恢復(fù)到原始盤或是其它磁盤。
注意:如果將本地磁盤或分區(qū)恢復(fù)到一個(gè)新的磁盤,而這個(gè)磁盤的容量大于主磁盤,你必須手動(dòng)的對(duì)新磁盤執(zhí)行解除保護(hù)-再添加保護(hù)的動(dòng)作,從而使新磁盤可以遵循已經(jīng)設(shè)定的保護(hù)策略。
場(chǎng)景3: 恢復(fù)系統(tǒng)磁盤或分區(qū)
如果需要恢復(fù)的是常用于啟動(dòng)的系統(tǒng)磁盤或分區(qū),可以利用DiskSafe恢復(fù)盤來完成。對(duì)于硬盤或是操作系統(tǒng)出現(xiàn)故障,或者磁盤、操作系統(tǒng)已經(jīng)進(jìn)行了修理或替換的情況,這種恢復(fù)方式非常有用。
一旦服務(wù)器從DiskSafe恢復(fù)盤進(jìn)行啟動(dòng),你可以訪問CDP管理器,并通過CDP管理器上的鏡像或選定的快照恢復(fù)整個(gè)磁盤或分區(qū)。數(shù)據(jù)可以被敬碰恢復(fù)到原始盤或是其它的磁盤。
場(chǎng)景4: 恢復(fù)Oracle數(shù)據(jù)庫對(duì)象
如果數(shù)據(jù)庫對(duì)象(表)發(fā)生損毀或刪除,最簡(jiǎn)單的辦法是利用Oracle備份服務(wù)器加載包含原始對(duì)象的快照視圖進(jìn)行恢復(fù)。打開數(shù)據(jù)庫,從中導(dǎo)出原始對(duì)象并轉(zhuǎn)存文件,最后將該文件導(dǎo)入到所運(yùn)行的生產(chǎn)數(shù)據(jù)庫中。
注意:Oracle 11g 具備回收站功能:如果你意外的刪除了某個(gè)表,實(shí)際它只是被放入了回收站,你可以執(zhí)行“撤消”命令將表找回。
場(chǎng)景5: 完整恢復(fù)Oracle數(shù)據(jù)庫時(shí)間點(diǎn)
如果是由于磁盤故障引發(fā)一個(gè)或者多個(gè)數(shù)據(jù)文件丟失,你可能就需要整個(gè)數(shù)據(jù)庫了。這種情況下,更佳的方式是加載故障前的最后一個(gè)快照,從而將數(shù)據(jù)恢復(fù)到新的磁盤。
然而,一個(gè)已經(jīng)加載的快照并不能作為工作磁盤使用,因?yàn)楫?dāng)快照被卸載時(shí),這個(gè)被加載的快照上所發(fā)生的所有變化都將會(huì)丟失。也就是說,你只能從加載的快照中復(fù)制Oracle 數(shù)據(jù)到生產(chǎn)磁盤。你的RTO將完全根據(jù)從TimeView (快照)向生產(chǎn)存儲(chǔ)復(fù)制數(shù)據(jù)所需的時(shí)間而定。
如果你的數(shù)據(jù)庫很大,你需要縮短RTO,利用CDP的復(fù)制功能是非常好的選擇。利用CDP的復(fù)制功能,可以在本地或遠(yuǎn)程的服務(wù)器上為受保護(hù)磁盤保留一份視圖拷貝。如果主站點(diǎn)的主磁盤發(fā)生故障,二級(jí)站點(diǎn)的復(fù)制磁盤可以立即被提升為主磁盤,并分配給Oracle服務(wù)器進(jìn)行加載,數(shù)據(jù)庫可以在幾乎不停機(jī)的情況下立即恢復(fù)生產(chǎn)運(yùn)行。數(shù)據(jù)庫將處于完成最后一次完整復(fù)制時(shí)的狀態(tài)。
如果用最后一次快照恢復(fù)數(shù)據(jù)庫,那么這個(gè)快照從創(chuàng)建以后到磁盤故障發(fā)生之間所提交的交易將全部丟失。對(duì)于大多數(shù)企業(yè)來說,這都是不能接受的。有一種方法可以幫你恢復(fù)這部分?jǐn)?shù)據(jù)丟失:通過CDP鏡像,將快照創(chuàng)建以后到磁盤故障發(fā)生之間所提交的交易生成可回放的日志記錄文件,你可以利用這些可回放的日志記錄文件實(shí)現(xiàn)完整恢復(fù)。然后,用Oracle 的恢復(fù)命令找回需要的SCN就可以了。
oracle數(shù)據(jù)庫:完整備份,十二小時(shí)后數(shù)據(jù)庫出現(xiàn)問題,這十二個(gè)小時(shí)的數(shù)據(jù)怎么恢復(fù)?
你是24:00備份。后面12個(gè)小時(shí)沒有備份。
數(shù)據(jù)庫是否是歸檔模式,如果是調(diào)用歸檔文件恢復(fù)數(shù)據(jù)。是否是RAC、DG之類的也好恢復(fù)
數(shù)據(jù)庫的使用并不多,可以從在線日志里面讀取到部分?jǐn)?shù)據(jù)。
數(shù)據(jù)量很大,又沒開歸檔。那么只能哭瞎咯
關(guān)于oracle 時(shí)間點(diǎn)恢復(fù)數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文標(biāo)題:Oracle數(shù)據(jù)恢復(fù):時(shí)間點(diǎn)恢復(fù)技巧分享(oracle時(shí)間點(diǎn)恢復(fù)數(shù)據(jù)庫)
網(wǎng)站網(wǎng)址:http://m.fisionsoft.com.cn/article/dpphhji.html


咨詢
建站咨詢
