国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Oracle數(shù)據(jù)庫(kù)的備份及恢復(fù)策略

恢復(fù)丟失的數(shù)據(jù)庫(kù)文件在很大程度上取決于所采用的備份策略。本文從恢復(fù)的靈活性出發(fā),對(duì)Oracle8數(shù)據(jù)庫(kù)的備份及恢復(fù)策略進(jìn)行了探討,并給出了Windows 2000環(huán)境下使備份過(guò)程自動(dòng)化的腳本文件的項(xiàng)目開(kāi)發(fā)實(shí)例。

 

數(shù)據(jù)庫(kù)備份、恢復(fù)的基本規(guī)則

  1、多工聯(lián)機(jī)重作日志文件

每個(gè)數(shù)據(jù)庫(kù)實(shí)例都有其自己的聯(lián)機(jī)重作日志組,在操作數(shù)據(jù)庫(kù)時(shí),Oracle首先將數(shù)據(jù)庫(kù)的全部改變保存在重作日志緩沖區(qū)中,隨后日志記錄器進(jìn)程(LGWR)將數(shù)據(jù)從系統(tǒng)共用區(qū)SGA(System Global Area)的重作日志緩沖區(qū)寫(xiě)入聯(lián)機(jī)重作日志文件,在磁盤(pán)崩潰或?qū)嵗r(shí),可以通過(guò)與之相關(guān)的聯(lián)機(jī)重作日志來(lái)保護(hù)數(shù)據(jù)庫(kù),將損失降至最低,但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è)成員寫(xiě)入信息,數(shù)據(jù)庫(kù)仍然可以繼續(xù)運(yùn)行。同時(shí)應(yīng)保證日志組的成員不應(yīng)駐存在同一物理設(shè)備上,因?yàn)檫@將削弱多重日志文件的作用。

2、鏡像拷貝控制文件

控制文件描述通用的數(shù)據(jù)庫(kù)結(jié)構(gòu),它存儲(chǔ)了大量數(shù)據(jù)庫(kù)狀態(tài)信息,包括物理結(jié)構(gòu)和聯(lián)機(jī)重作日志文件在當(dāng)時(shí)的名稱(chēng)、位置、狀態(tài)??刂莆募跀?shù)據(jù)庫(kù)啟動(dòng)時(shí)被Oracle實(shí)例讀取,保持打開(kāi)并隨著操作而文件內(nèi)容更新,直到實(shí)例關(guān)閉為止。在它打開(kāi)的過(guò)程中能夠同步需要恢復(fù)的信息,包括檢查點(diǎn)信息,因此若損壞或丟失了控制文件,Oracle將不能繼續(xù)工作,因此應(yīng)在系統(tǒng)中保持控制文件的多個(gè)拷貝,且這些拷貝應(yīng)置于安裝于不同磁盤(pán)控制器下的不同磁盤(pán)設(shè)備中。

由于Oracle沒(méi)有提供對(duì)控制文件多工的完整支持,因此應(yīng)在對(duì)控制文件使用操作系統(tǒng)或硬件鏡像,即在修改初始化文件的control_files參數(shù)后重新啟動(dòng)數(shù)據(jù)庫(kù)前,應(yīng)將控制文件復(fù)制到定義的新位置,否則數(shù)據(jù)庫(kù)啟動(dòng)時(shí)將會(huì)出錯(cuò)。

3、激活歸檔進(jìn)程

當(dāng)數(shù)據(jù)庫(kù)運(yùn)行于NOARCHIVELOG模式下時(shí),只能在完全關(guān)閉數(shù)據(jù)庫(kù)后進(jìn)行數(shù)據(jù)庫(kù)的一致備份,并且同時(shí)禁用了聯(lián)機(jī)重作日志的存檔,這樣在Oracle實(shí)例失敗時(shí)只能將數(shù)據(jù)庫(kù)修復(fù)到最近的完整數(shù)據(jù)庫(kù)備份時(shí)的那一點(diǎn)上,不能在失效點(diǎn)處對(duì)實(shí)例進(jìn)行恢復(fù)。而在ARCHIVELOG模式下,數(shù)據(jù)庫(kù)不僅可以進(jìn)行一致備份,還可以在數(shù)據(jù)庫(kù)打開(kāi)的情況下進(jìn)行聯(lián)機(jī)備份。通過(guò)數(shù)據(jù)庫(kù)的備份和聯(lián)機(jī)與存檔的重作日志文件,用戶(hù)可以恢復(fù)所有已提交的事務(wù),并允許將數(shù)據(jù)庫(kù)恢復(fù)到指定的時(shí)間、SCN或日志系列號(hào)處,增大了恢復(fù)的靈活性,減少了故障時(shí)的數(shù)據(jù)丟失。因此數(shù)據(jù)庫(kù)應(yīng)運(yùn)行于ARCHIVELOG模式。

在ARCHIVELOG模式下為了防止文件損壞和介質(zhì)故障,應(yīng)把日志歸檔到不同的磁盤(pán)上,這可以通過(guò)在初始化文件中為歸檔重作日志指定多個(gè)目標(biāo)實(shí)現(xiàn)。

4、數(shù)據(jù)庫(kù)實(shí)施較大改變時(shí)備份

因?yàn)榭刂莆募斜4媪藬?shù)據(jù)庫(kù)的模式結(jié)構(gòu)信息,因此在對(duì)數(shù)據(jù)庫(kù)進(jìn)行較大改變(包括改變表結(jié)構(gòu),增加、刪除日志文件或數(shù)據(jù)文件等)時(shí)應(yīng)立即備份控制文件及相應(yīng)的數(shù)據(jù)文件。

5、使用RESETLOGS選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù)后進(jìn)行備份

在以RESETLOGS選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù)后,應(yīng)對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行脫機(jī)或聯(lián)機(jī)的備份,否則將不能恢復(fù)重置日志后的改變。

當(dāng)以RESETLOGS選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù)時(shí),Oracle將拋棄恢復(fù)中沒(méi)有應(yīng)用的重復(fù)信息,并確保永遠(yuǎn)不再運(yùn)用,同時(shí)還將初始化控制文件中關(guān)于聯(lián)機(jī)日志和重作線程的信息、清除聯(lián)機(jī)日志中的內(nèi)容。因此,RESETLOGS前的歸檔日志的序列號(hào)將與RESETLOGS后的Oracle控制文件的要求值不相符(備份文件中的檢查點(diǎn)比控制文件中的檢查點(diǎn)舊),即在恢復(fù)中不能應(yīng)用以前的歸檔日志文件,從而導(dǎo)致RESETLOGS操作之前的備份在新形體中無(wú)用。

6、避免備份聯(lián)機(jī)重作日志文件 

由于文中提出了多工聯(lián)機(jī)重作日志文件且數(shù)據(jù)庫(kù)運(yùn)行于ARCHIVELOG模式,ARCH進(jìn)程能夠?qū)⒙?lián)機(jī)重作日志歸檔,因此不必對(duì)其進(jìn)行備份。若用備份的聯(lián)機(jī)重作日志文件重建它,可能會(huì)引起日志文件序列號(hào)的混亂,從而破壞數(shù)據(jù)庫(kù),得到適得其反的結(jié)果。

7、重置聯(lián)機(jī)日志

在進(jìn)行了不完全恢復(fù)或用備份控制文件進(jìn)行恢復(fù)后,應(yīng)重置聯(lián)機(jī)日志。

為了確保數(shù)據(jù)庫(kù)的一致性,必須保證在恢復(fù)后所有數(shù)據(jù)文件都恢復(fù)到同一個(gè)時(shí)間點(diǎn),但不完全恢復(fù)可能導(dǎo)致數(shù)據(jù)文件中具有一個(gè)與其它文件不同的檢查點(diǎn),導(dǎo)致數(shù)據(jù)庫(kù)的一致性受到破壞。同樣,備份的控制文件中保存的SCN和計(jì)數(shù)器與當(dāng)前日志文件中的值可能不同,從而也破壞了數(shù)據(jù)庫(kù)的一致性,因此應(yīng)在進(jìn)行完上述兩項(xiàng)操作后重置聯(lián)機(jī)日志。

8、數(shù)據(jù)庫(kù)的邏輯備份

以上所述備份都為物理備份,是實(shí)際物理數(shù)據(jù)庫(kù)文件從一處拷貝到另一處的備份,除此之外還可使用Oracle提供的導(dǎo)出實(shí)用程序進(jìn)行數(shù)據(jù)庫(kù)的邏輯備份。Oracle同時(shí)還提供了相應(yīng)的導(dǎo)入實(shí)用程序重建邏輯備份中保存的信息。

邏輯備份只拷貝數(shù)據(jù)庫(kù)中的數(shù)據(jù),而不記錄數(shù)據(jù)位置的備份過(guò)程。它利用SQL語(yǔ)句,從數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù)到一個(gè)存放在合適位置的外部文件中,同時(shí)并可檢測(cè)到數(shù)據(jù)塊的損壞,因此可用其作為物理備份的補(bǔ)充。

備份策略

考慮到如今大部分信息系統(tǒng)每周的業(yè)務(wù)是24×7操作,因此采用聯(lián)機(jī)備份,否則可每隔一定時(shí)間進(jìn)行一次脫機(jī)備份。

應(yīng)用上述規(guī)則,可得出下述典型的備份策略:

①鏡像拷貝重作日志文件;

②鏡像拷貝控制文件;

③激活歸檔進(jìn)程,即以ARCHIVELOG模式操作數(shù)據(jù)庫(kù);

④每天進(jìn)行數(shù)據(jù)庫(kù)的部分聯(lián)機(jī)備份(每天進(jìn)行數(shù)據(jù)庫(kù)的完全熱備份將無(wú)畏地增加數(shù)據(jù)庫(kù)的負(fù)擔(dān)且沒(méi)有必要,同時(shí)也增加了數(shù)據(jù)庫(kù)恢復(fù)時(shí)的靈活性);

⑤每隔一周或幾周進(jìn)行一次數(shù)據(jù)庫(kù)的邏輯備份。

實(shí)際項(xiàng)目應(yīng)用

當(dāng)數(shù)據(jù)庫(kù)中的文件達(dá)到一定數(shù)量后,DBA可能記不住該備份的文件的名或位置,因此,若能使備份過(guò)程自動(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)目開(kāi)發(fā)中應(yīng)用本文所提出的自動(dòng)備份、恢復(fù)策略,通過(guò)實(shí)際應(yīng)用,證明了該策略的正確性和可行性。

(1)下述腳本實(shí)現(xiàn)聯(lián)機(jī)重作日志的多工:

connect 賬戶(hù)名/密碼 
alter database ktgis add logfile member 日志文件的存儲(chǔ)位置 to group 聯(lián)機(jī)日志組號(hào);
shutdown immediate
startup pfile=初始化文件的存放位置 exclusive mount; 裝載數(shù)據(jù)庫(kù)且不打開(kāi)
alter database archivelog; 激活歸檔進(jìn)程
alter database open;
exit

(2)下列VB代碼自動(dòng)建立聯(lián)機(jī)備份的批處理文件及相應(yīng)的腳本文件。

Set adoTmp = objConnect.Execute("select tablespace_name from sys.dba_data_files") '得到數(shù)據(jù)庫(kù)中的表空間名
Dim lnum1 As Long
Dim lnum2 As Long
lNum = FreeFile
Open 自動(dòng)備份批處理文件路徑 For Binary As lNum
lnum1 = FreeFile
Open "onlinebegin.sql" For Binary As lnum2 onlinebegin.sql為設(shè)置表空間進(jìn)入熱備份模式的腳本文件文件名
lnum2 = FreeFile
Open "onlineend.sql" For Binary As lnum2 onlinebegin.sql為結(jié)束表空間熱備份模式的腳本文件文件名
strTmp = " connect 賬戶(hù)名/密碼" & Chr(13) & Chr(10)
Put lnum1, , strTmp
strTmp = "shutdown immediate" & Chr(13) & Chr(10)
Put lnum1, , strTmp
strTmp = "startup pfile=初始化文件的存放位置exclusive mount; " & Chr(13) & Chr(10)
Put lnum1, , strTmp
strTmp = "alter database archivelog; " & Chr(13) & Chr(10)
Put lnum1, , strTmp
strTmp = "alter database open; " & Chr(13) & Chr(10)
Put lnum1, , strTmp
strTmp = " connect 賬戶(hù)名/密碼" & Chr(13) & Chr(10)
Put lnum2, , strTmp
strTmp = Oracle服務(wù)管理器路徑 & " @" & " onlinebegin.sql " & Chr(13) & Chr(10) 在服務(wù)管理器中執(zhí)行腳本文件onlinebegin.sql
Put lNum, , strTmp 
Do While Not adoTmp.EOF
Set adoTmp1 = objConnect.Execute("select file_name from sys.dba_data_files where tablespace_name='" & amp; adoTmp.Fields(0) & "'") 得到當(dāng)前表空間所對(duì)應(yīng)的所有數(shù)據(jù)文件名,通過(guò)循環(huán)即可得到所有表空間所對(duì)應(yīng)數(shù)據(jù)文件 名,若只備份指定的表空間,可指定表空間名從而得到其對(duì)應(yīng)的物理數(shù)據(jù)文件
strTmp = "alter tablespace " & adoTmp.Fields(0) & " begin backup;" & Chr(13) & Chr(10) 將表空間置于熱備份模式
Put lnum1, , strTmp
strTmp = Oracle的ocopy.exe工具全路徑 " & adoTmp1.Fields(0) & " " & 備份文件存放路徑 & Chr(13) & Chr(10)
Put lNum, , strTmp
strTmp = "alter tablespace " & adoTmp.Fields(0) & " end backup;" & Chr(13) & Chr(10) 表空間恢復(fù)正常模式
Put lnum2, , strTmp
adoTmp.MoveNext
Loop
strTmp = Oracle服務(wù)管理器路徑 & " @" & " onlineend.sql" & Chr(13) & Chr(10) 在服務(wù)管理器中執(zhí)行腳本文件onlineend.sql
Put lNum, , strTmp
strTmp = "exit" & Chr(13) & Chr(10) 退出服務(wù)管理器
Put lnum1, , strTmp
strTmp = "alter system switch logfile;" & Chr(13) & Chr(10) 強(qiáng)制日志轉(zhuǎn)換,使Oracle創(chuàng)建一個(gè)歸檔日志文件
Put lnum2, , strTmp
strTmp = "exit" & Chr(13) & Chr(10) 
Put lnum2, , strTmp
Close
Set adoTmp = Nothing
Set adoTmp1 = Nothing

運(yùn)行得到的自動(dòng)批處理文件,即可自動(dòng)進(jìn)行數(shù)據(jù)庫(kù)的聯(lián)機(jī)備份。

(3)在從備份中恢復(fù)數(shù)據(jù)文件后,執(zhí)行下列腳本將數(shù)據(jù)庫(kù)的恢復(fù)程序。

connect賬戶(hù)名/密碼
shutdown abort
startup mount pfile=初始化文件的存放位置; 裝載數(shù)據(jù)庫(kù)
set autorecovery on; 打開(kāi)自動(dòng)恢復(fù)
recover database;
alter database open; 打開(kāi)數(shù)據(jù)庫(kù)

結(jié)束語(yǔ)

提高數(shù)據(jù)庫(kù)災(zāi)難后恢復(fù)的可靠性正越來(lái)越多地受到人們的關(guān)注,本文根據(jù)個(gè)人在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中的經(jīng)驗(yàn)及恢復(fù)時(shí)的靈活性對(duì)Oracle數(shù)據(jù)庫(kù)的備份及恢復(fù)進(jìn)行了探討,并提出了典型的備份策略,用戶(hù)可以根據(jù)自己的實(shí)際情況及數(shù)據(jù)庫(kù)結(jié)構(gòu)在此基礎(chǔ)上靈活應(yīng)用

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Oracle數(shù)據(jù)庫(kù)的備份及恢復(fù)策略研討
Oracle數(shù)據(jù)庫(kù)管理員職責(zé)(一)(1)
ORACLE有那些數(shù)據(jù)文件
RMAN恢復(fù)操作
重裝系統(tǒng)后恢復(fù)oracle10g
Oracle把本地的dmp備份文件導(dǎo)入到本地的Oracle數(shù)據(jù)庫(kù)中語(yǔ)句
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服