




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫的備份與恢復(fù)概論這是一遍綜合性描述數(shù)據(jù)庫備份的文章,要把所有的數(shù)據(jù)庫的備份與恢復(fù)全部描述清楚,不是我這遍文章的初衷。我只想給那些想做備份。卻不怎么了解備份的人一個整體認識。本人的水平是有限的。我只能拋磚引玉。很多經(jīng)驗總結(jié)也是個人一家之言。有錯誤請斧正。一:數(shù)據(jù)庫備份的重要性硬件總會壞,系統(tǒng)總會崩潰的,數(shù)據(jù)文件總是會損壞的,人也不可能永遠不犯錯誤的。數(shù)據(jù)庫備份就是在你硬盤壞了。系統(tǒng)崩潰壞了。數(shù)據(jù)文件損壞了,工作人員誤刪除數(shù)據(jù)的時候讓你不傷心,不害怕。數(shù)據(jù)庫的備份不同與一般的文件備份。一個備份方案總是跟客戶的需求有關(guān)系的,一個從來沒有新數(shù)據(jù)增加的查詢數(shù)據(jù)庫。一次冷備份就足夠了。而對一個7x2
2、4小時數(shù)據(jù)庫。數(shù)據(jù)不能丟失的系統(tǒng)。備份的方案就復(fù)雜多了。怎么樣才能保證數(shù)據(jù)庫不丟失數(shù)據(jù)呢?這將受到兩個條件的制約。一:數(shù)據(jù)庫種類。二:備份的方法。二:數(shù)據(jù)庫備份與恢復(fù)種類2.1邏輯備份與恢復(fù)邏輯備份是使用軟件技術(shù)從數(shù)據(jù)庫中提取數(shù)據(jù)并將結(jié)果寫入一個輸出文件,邏輯備份因為靈活性受到開發(fā)人員的青睞。但是對一個數(shù)據(jù)庫管理員來說。就對它不放心了。一:他是點的邏輯。他只能描述數(shù)據(jù)庫在一點上邏輯結(jié)構(gòu)。然后抽取這些邏輯對象寫入到一個或者多個輸出文件。一般一個完整的備份是一個點另一個點(終止點)的連續(xù)發(fā)生。邏輯備份是不可能記錄連續(xù)發(fā)生的事情的過程的。2.2冷備份與恢復(fù)冷備份。又叫脫機備份。就是停掉數(shù)據(jù)庫服務(wù)???/p>
3、貝數(shù)據(jù)庫數(shù)據(jù)目錄。一般是 data 目錄。oracle 一般是oradata目錄。mysql ,postgres 都是data目錄。而且這些默認舉例說明。在實質(zhì)的生產(chǎn)中這些目錄文件是變化的。不過不用擔(dān)心。數(shù)據(jù)庫管理員肯定知道在那里。具體他怎么知道。不同數(shù)據(jù)庫有不同方法。不是本文的重點。為什么要把數(shù)據(jù)庫停掉。才能做數(shù)據(jù)拷貝?我直接在數(shù)據(jù)庫運行的時候拷貝不一樣嗎?如果你運氣好的好。那樣確實也可以。不過不要因為運氣。就證明你可以那樣做。其實一件事物不但要有證據(jù)去證明他。就是還需要一個明確的理論去支持他。不然是容易犯經(jīng)驗主義錯誤的。一個數(shù)據(jù)塊正被復(fù)制。然后他或許前半部分是修該前。后半部分是修改后的。這
4、就是split data .但數(shù)據(jù)庫啟動時候,數(shù)據(jù)庫讀到這樣的數(shù)據(jù)庫塊就迷糊了。數(shù)據(jù)庫不一致的錯誤就出來。數(shù)據(jù)庫肯定提示要你恢復(fù)。數(shù)據(jù)庫備份一定要遵循數(shù)據(jù)庫的一致性。2.3熱備份與恢復(fù)熱備份也叫在線備份。什么在線備份,就是數(shù)據(jù)庫在運行的時候一種物理備份。(如果是邏輯的不能叫在線備份。)。不同數(shù)據(jù)庫在線備份都不同。數(shù)據(jù)庫要能熱備份。都需要開啟數(shù)據(jù)庫歸檔模式。并設(shè)置歸檔路徑。但是有數(shù)據(jù)庫。特別開源數(shù)據(jù)庫對這方面做的非常不好。postgres 7.3后才有 在線備份。mysql更是亂的。一個引擎一個種方式。而且有的還不是免費的。怪的很。商用性軟件oracle,db2 ,informix ,就做的好的
5、多。歸檔究竟有什么意義?如果說邏輯備份是一張照片或者素描,他記錄的是點的真實反映或者邏輯印象,那么歸檔就是錄象帶。他記錄的是一個連續(xù)發(fā)生的事物的過程。一個開始點的全備份+這個點后的歸檔+完好的在線redo。那么在這個全備份后所有時間都是可以回放的。三:各數(shù)據(jù)庫的備份恢復(fù)對比(以下每種數(shù)據(jù)庫每種備份都可以寫一本書,在這里不詳細敘述,只概括其作用,在數(shù)據(jù)庫備份與恢復(fù)中詳細闡述)。(由于第三方備份軟件比較,在這個不討論第三方的問題)。數(shù)據(jù)庫名備份oracle邏輯備份9i以前 exp/imp i后: 一:exp/imp具體使用也不是本問的初衷邏輯備份??梢詡浞輪蝹€表。邏輯查詢語句記錄,模式,整個數(shù)據(jù)庫
6、,創(chuàng)建對象語句不包括數(shù)據(jù)等?;臃倍?。不一一列舉。 二:expdp/impdp(具體怎么使用也不是本問的初衷)oracle database 10g引入了最新的數(shù)據(jù)泵(data dump)技術(shù),使dba或開發(fā)人員可以將數(shù)據(jù)庫元數(shù)據(jù)(對象定義)和數(shù)據(jù)快速移動到另一個oracle數(shù)據(jù)庫中.數(shù)據(jù)泵導(dǎo)出導(dǎo)入(expdp和impdp)的作用1,實現(xiàn)邏輯備份和邏輯恢復(fù).2,在數(shù)據(jù)庫用戶之間移動對象.3,在數(shù)據(jù)庫之間移動對象4,實現(xiàn)表空間搬移.與exp/imp的區(qū)別:expdp/impdp與傳統(tǒng)expimp的速度相比:要快的次方以上。exp和imp是客戶端工具程序,它們既可以在可以客戶端使用,也可以在服務(wù)段
7、使用.expdp和impdp是服務(wù)端的工具程序,他們只能在oracle服務(wù)端使用,不能在客戶端使用imp只適用于exp導(dǎo)出文件,不適用于expdp導(dǎo)出文件;impdp只適用于expdp導(dǎo)出文件,而不適用于exp導(dǎo)出文件.數(shù)據(jù)泵導(dǎo)出包括導(dǎo)出表,導(dǎo)出方案,導(dǎo)出表空間,導(dǎo)出數(shù)據(jù)庫4種方式.邏輯備份優(yōu)點與缺點:優(yōu)點:方便,靈活,不受操作系統(tǒng),數(shù)據(jù)庫版本等限制。適合處理小數(shù)據(jù)量,特別適合開發(fā)人員遷移數(shù)據(jù)庫。缺點:有數(shù)據(jù)庫丟失。不能實時。速度慢。冷備份冷備份又叫脫機備份。就是停數(shù)據(jù)庫服務(wù)。然后copydatafile,controlfile,spfile,passwdfile?;謴?fù)過程也很簡單。把相關(guān)文件
8、拷貝到相關(guān)目錄。建立實例。啟動數(shù)據(jù)庫既可。熱備份oracle 熱備份條件:.必須起用數(shù)據(jù)庫歸檔模式。熱備份可以備份一個數(shù)據(jù)文件,一個表空間,一個數(shù)據(jù)庫等。熱備份備份方式:一:oracle 備份工具:之rman恢復(fù)管理器(recovery manager,rman)是一個與操作系統(tǒng)無關(guān)的數(shù)據(jù)庫備份工具,可以跨越不同的操作系統(tǒng)進行數(shù)據(jù)庫備份。rman必須運行在一個數(shù)據(jù)庫上。與常用的數(shù)據(jù)庫備份、邏輯數(shù)據(jù)庫備份不同,rman使用數(shù)據(jù)庫對數(shù)據(jù)庫進行備份的原理。在rman中,可以使用copy命令將數(shù)據(jù)庫文件復(fù)制到磁盤或磁帶上,也可以用backup命令對整個數(shù)據(jù)庫、一個指定的表空間、控制文件、日志文件進行備
9、份備份方式:1:full 全備份,:級增量全備份,他與full備份的區(qū)別是可以在這個全備份上做增量備份。而full全備份不可以。:級增量備份。:級增量備份:三級增量備份。詳細過程不多說。見詳細文檔)。二:普通的熱備份:alter database begin backup;(9i無),只有alter tablespace begin backup;然后拷貝文件。重點注意:一旦把數(shù)據(jù)庫,或者表空間,數(shù)據(jù)文件處于備份狀態(tài)。用copy命令拷貝完成后。一定要alter database end backup; alter tablespace end backup;把數(shù)據(jù)庫或者表空間處于正常狀態(tài)。db
10、2邏輯備份db2loook 導(dǎo)出創(chuàng)建對象的ddl語句。db2move 導(dǎo)入導(dǎo)出對象的數(shù)據(jù)。如:db2look -d yourdb -a -e -x -o creatab.sql 導(dǎo)出建庫表的sql db2move yourdb export vi creatab.sql 如要導(dǎo)入的數(shù)據(jù)庫名與原數(shù)據(jù)庫不同,要修改creatab.sql中connect 項 如相同則不用更改 執(zhí)行腳本:db2 -tvf creatab.sql db2move newdb load (在該目錄執(zhí)行db2move 命令)注:由于某些表數(shù)據(jù)違反了唯一約束。外鍵約束可能會有錯誤出現(xiàn)。不過出錯沒有關(guān)系??梢园殉鲥e的表單獨處理
11、。冷備份 1)、首先確保沒有用戶使用db2:$db2 list applications for db sample 2)、停掉數(shù)據(jù)庫并重新啟動,以便斷掉所有連接:1.db2stop 2.force db2start 3)、執(zhí)行備份命令:(使用tsm作為備份的介質(zhì))db2 backup db sample use tsm 備份成功,將會返回 一個時間戳。 4)、檢查備份成功:db2 list history backup all for sample ,可以看到多了這個備份的紀錄 db2adutl query命令也可以看到返回值。 5)、備注:離線備份最重要的就是要數(shù)據(jù)庫在offline 做.
12、就是數(shù)據(jù)庫在離線的狀態(tài).熱備份1)、首先打開一下支持在線備份的數(shù)據(jù)庫配置參數(shù):8.2以前備份:db2 update db cfg for sample using userexit on 啟用用戶出口db2 update db cfg for sample using logretain on 啟用歸檔日志db2 update db cfg for sample using trackmod on 啟用增量備份功能8.2以后db2 update db cfg for sample using logarchmeth1=./db2/backup/(常用辦法)(需要各個node都分別做設(shè)置)開啟這
13、些參數(shù)后,數(shù)據(jù)庫處于backup pending狀態(tài),要求做數(shù)據(jù)庫的離線全備份。做一下離線全備份,參考上面的命令。2)、在線備份命令如下:db2 backup db sample online use tsm備份成功,返回一個時間戳。3)、同樣可以用db2adutl 和db2 list history察看備份紀錄。4)、備注:同樣,對每個節(jié)點都做這個操作。3、 在線增量備份1)、在開啟了必須的三個參數(shù)的情況下,做增量備份:db2 backup db sample online incremental use tsm備份成功,返回一個時間戳。2)、同樣可以用db2adutl 和db2 list
14、history察看備份紀錄。3)、還有一種delta的備份:db2 backup db sample online incremental delta use tsm這兩種備份的區(qū)別,類似oracle exports的incremental和cumulative方式,db2的incremental對應(yīng).oracle的cumulative方式,而db2的delta方式則對應(yīng)oracle的incremental方式。4)、備注:同樣,對每個節(jié)點都做這個操作。postgresql邏輯備份邏輯備份1pg_dump 如:pg_dump dbname outfile(導(dǎo)出單個數(shù)據(jù)庫)2pg_dumpall
15、 如: pg_dumpall outfile(導(dǎo)出所有數(shù)據(jù)庫)3處理大數(shù)據(jù)庫:3.1:pg_dump dbname | split -b 1m dbname (備份分片)3.2:pg_dump dbname | gzip filename.gz(備份壓縮)邏輯恢復(fù)1pg_dump -h host1 dbname | psql -h host2 dbname(從一個數(shù)據(jù)庫備份恢復(fù)到另一個數(shù)據(jù)庫)2psql dbname mysqlhotcopy db_name /path/to/some/dir只要服務(wù)器不再進行更新,還可以只復(fù)制所有表文件(*.frm、*.myd和*.myi文件)。mysqlhotcopy腳本使用該方法。(但請注意如果數(shù)據(jù)庫包含innodb表,這些方法不工作。innodb不將表的內(nèi)容保存到數(shù)據(jù)庫目錄中,mysqlhotcopy只適合myisam表)。 mysqldumpmysqldump提供在線邏輯備份,我們在備份的時候使用single-transaction參數(shù)的話,mysql為我們提供一致性地讀,并且保證m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省威海乳山市2024-2025學(xué)年九年級上學(xué)期期末化學(xué)試題(含答案)
- 2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識基礎(chǔ)試題庫和答案要點
- 景觀橋分析面試題及答案
- 2023-2024學(xué)年廣東省廣州市越秀區(qū)執(zhí)信中學(xué)七年級(下)期中數(shù)學(xué)試卷(含答案)
- 廣東省廣州市中大附中2023-2024學(xué)年八年級下學(xué)期期中物理試題(含答案)
- 采購合同范本(2篇)
- 電器知識技能培訓(xùn)班課件
- 關(guān)于調(diào)整工作時間與資源配置的通知
- 租賃協(xié)議合同
- 山東省青島萊西市(五四制)2024-2025學(xué)年八年級上學(xué)期期末生物學(xué)試題(含答案)
- 2025年湖南司法警官職業(yè)學(xué)院單招職業(yè)技能測試題庫必考題
- 數(shù)學(xué)-廣東省2025年深圳市高三年級第一次調(diào)研考試(深圳一模)試題和答案
- 基于PLC的郵件分揀機控制系統(tǒng)設(shè)計
- DB11-T 950-2022水利工程施工資料管理規(guī)程
- 購物卡購銷合同
- 變配電室巡視檢查記錄
- 現(xiàn)場談單的流程與技巧(學(xué)大教育內(nèi)部培訓(xùn)資料)
- 法人授權(quán)委托書
- 印萌打印平臺合作協(xié)議VIP
- 中國建設(shè)銀行信貸業(yè)務(wù)申請書
- 作物栽培學(xué)復(fù)習(xí)資料完整版要點
評論
0/150
提交評論