oracle topic10 數(shù)據(jù)庫備份與恢復(fù)_第1頁
oracle topic10 數(shù)據(jù)庫備份與恢復(fù)_第2頁
oracle topic10 數(shù)據(jù)庫備份與恢復(fù)_第3頁
oracle topic10 數(shù)據(jù)庫備份與恢復(fù)_第4頁
oracle topic10 數(shù)據(jù)庫備份與恢復(fù)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)庫備份與恢復(fù)涂利明主要內(nèi)容數(shù)據(jù)庫備份1數(shù)據(jù)庫恢復(fù)2344數(shù)據(jù)庫備份與恢復(fù)概念備份與恢復(fù)是數(shù)據(jù)庫管理中最重要的方面之一。如果數(shù)據(jù)庫崩潰卻沒有辦法恢復(fù)它,那么會對企業(yè)造成毀滅性的結(jié)果。數(shù)據(jù)庫的備份是數(shù)據(jù)庫中數(shù)據(jù)的副本,它可以保護數(shù)據(jù)在出現(xiàn)意外損失時最大限度的恢復(fù)。Oracle數(shù)據(jù)庫使用幾種結(jié)構(gòu)來保護數(shù)據(jù):數(shù)據(jù)庫后備、日志、回滾段和控制文件。數(shù)據(jù)庫系統(tǒng)故障類型導(dǎo)致數(shù)據(jù)庫操作中止的故障包括四種類型故障類型語句故障介質(zhì)故障實例故障用戶進程故障在執(zhí)行SQL語句過程中發(fā)生的邏輯故障可導(dǎo)致語句故障。如果用戶編寫的SQL語句無效,就會發(fā)生邏輯故障當(dāng)用戶程序出錯而無法訪問數(shù)據(jù)庫時發(fā)生用戶進程故障。導(dǎo)致用戶進程故障的原因是異常斷開連接或異常終止進程當(dāng)Oracle的數(shù)據(jù)庫實例由于硬件或軟件問題而無法繼續(xù)運行時,就會發(fā)生實例故障在數(shù)據(jù)庫無法正確讀取或?qū)懭肽硞€數(shù)據(jù)庫文件時,會發(fā)生介質(zhì)故障備份與恢復(fù)的策略1.多路復(fù)用控制文件及多個并發(fā)備份2.多路復(fù)用聯(lián)機重做日志文件3.在ARCHIVELOG模式下運行數(shù)據(jù)庫,并將重做日志存檔至多個位置4.時常備份物理數(shù)據(jù)文件,盡可能創(chuàng)建多個副本到可靠的位置備份與恢復(fù)的幾類重要數(shù)據(jù)結(jié)構(gòu)1.數(shù)據(jù)文件2.聯(lián)機重做日志文件3.控制文件4.自動管理的撤銷5.可選的備份文件(參數(shù)文件、密碼文件)歸檔模式的設(shè)置Oracle數(shù)據(jù)庫可以運行在兩種模式:非歸檔日志模式歸檔日志模式非歸檔日志方式可以避免實例故障,但無法避免介質(zhì)故障。在此方式下,數(shù)據(jù)庫只能實施冷備份。歸檔日志方式產(chǎn)生歸檔日志,用戶可以使用歸檔日志完全恢復(fù)數(shù)據(jù)庫。非歸檔模式下數(shù)據(jù)庫工作原理表空間脫機備份表空間恢復(fù)表空間表空間聯(lián)機歸檔模式下數(shù)據(jù)庫工作原理日志文件1填滿清空日志文件2向日志文件2寫入信息準(zhǔn)備向日志文件2寫入信息備份日志文件2歸檔模式的設(shè)置關(guān)閉數(shù)據(jù)庫:shutdownimmediate以mount啟動數(shù)據(jù)庫:startupmount設(shè)置為歸檔模式:alterdatabasearchivelog;打開數(shù)據(jù)庫:alterdatabaseopen;查看歸檔信息:archiveloglist歸檔模式關(guān)鍵系統(tǒng)參數(shù)log_archive_start自動存檔啟用還是禁用。Oracle9i這個參數(shù)一定要設(shè)置為true,Oracle10g可以省略不設(shè)置,把該參數(shù)設(shè)置和歸檔模式設(shè)置綁定在一起。Log_archive_format指定歸檔日志命名格式。log_archive_format=arc%t%s.arc。%t是線程號(thread),%s是序號(產(chǎn)生日志的序號)。log_archive_dest指定歸檔日志文件存儲位置??梢酝ㄟ^數(shù)據(jù)字典視圖查看歸檔日志信息V$ARCHIVE_DEST:顯示當(dāng)前所有歸檔日志存儲位置及其狀態(tài)

SQL>selectdest_id,dest_name,status,destinationfromv$archive_destwherestatus='valid';V$ARCHIVE_LOG:顯示歷史歸檔日志信息

SQL>selectdest_id,name,archivedfromv$archived_log;主要內(nèi)容數(shù)據(jù)庫備份1數(shù)據(jù)庫恢復(fù)2344數(shù)據(jù)庫備份與恢復(fù)概念常見的備份類型聯(lián)機數(shù)據(jù)庫備份-->使用archivelog模式,SCN不一致脫機數(shù)據(jù)庫備份-->使用noarchivelog模式,SCN保持一致整個數(shù)據(jù)庫-->可以在不同的時間段來備份,減輕I/O壓力,從而構(gòu)建整個數(shù)據(jù)庫表空間-->在archivelog模式下,當(dāng)處于noarchivelog模式下,則該表空間必須為只讀或脫機數(shù)據(jù)文件-->同表空間備份控制文件-->可以使用SQL語句或RMAN來備份歸檔日志參數(shù)文件備份分類Oracle數(shù)據(jù)庫的備份包括以下兩種類型備份物理備份邏輯備份對數(shù)據(jù)庫的操作系統(tǒng)物理文件(如數(shù)據(jù)文件、控制文件和重做日志文件等)的備份有脫機備份(冷備份)和聯(lián)機備份(熱備份)對數(shù)據(jù)庫邏輯組件(如表、視圖和存儲過程等數(shù)據(jù)庫對象)的備份有導(dǎo)出/導(dǎo)入(EXPORT/IMPORT)物理備份是所有物理文件的一個副本,比如數(shù)據(jù)文件,控制文件,歸檔日志等。該副本能被存儲在本地磁盤或磁帶等等。物理備份是備份或恢復(fù)的基礎(chǔ)包括冷備份(非歸檔模式)或熱備份(歸檔模式)邏輯備份將表、存儲過程等數(shù)據(jù)使用Oracle的export等工具導(dǎo)出到二進制文件,后續(xù)根據(jù)需要再使用import工具導(dǎo)入數(shù)據(jù)庫。邏輯備份則是對物理備份的方式的一種補充,多用于數(shù)據(jù)遷移。備份的分類1.全部備份與部分備份全部備份:包含所有的數(shù)據(jù)文件及至少一個控制文件,參數(shù)文件,密碼文件等。部分備份:包含零個或多個表空間,零個或多個數(shù)據(jù)文件,可能包含控制文件等。部分備份僅在歸檔模式下才有效。2.映像副本與備份集映像副本:是某個文件的完整拷貝,未經(jīng)過任何壓縮處理,每個字節(jié)都與源文件相同。不支持增量備份也不能備份到磁帶。備份集:由一個或多個稱為piece的物理文件組成的邏輯結(jié)構(gòu)。備份片中可以是數(shù)據(jù)文件,控制文件以及歸檔日志文件。支持數(shù)據(jù)的壓縮,支持增量備份。可以備份到磁盤,也可以備份到磁帶。3.完整備份與增量備份完整備份:一個或多個數(shù)據(jù)文件的一個完整副本,包含從備份開始處所有的數(shù)據(jù)塊。增量備份:包含從最近一次次備份以來被修改或添加的數(shù)據(jù)塊。差異增量:是備份上級及同級備份以來所有變化的數(shù)據(jù)塊,差異增量是默認增量備份方式累計增量:是備份上級備份以來所有變化的塊4.脫機備份與聯(lián)機備份脫機備份:在數(shù)據(jù)庫關(guān)閉階段發(fā)生的備份,又稱為一致性備份或冷備份。在一致性關(guān)閉數(shù)據(jù)庫后,控制文件SCN與數(shù)據(jù)文件頭部SCN一致聯(lián)機備份:在數(shù)據(jù)庫使用階段發(fā)生的備份,又稱為非一致性備份或熱備份。聯(lián)機備份一個數(shù)據(jù)文件不與任何特定的SCN以及控制文件同步可以是全部備份,也可以是部分備份,能夠使用RMAN或操作系統(tǒng)命令完成僅僅在archivelog模式下導(dǎo)出工具exp它是操作系統(tǒng)下一個可執(zhí)行的文件存放目錄/ORACLE_HOME/binexp導(dǎo)出工具將數(shù)據(jù)庫中數(shù)據(jù)備份壓縮成一個二進制系統(tǒng)文件.可以在不同OS間遷移它有三種模式:a.用戶模式:導(dǎo)出用戶所有對象以及對象中的數(shù)據(jù);b.表模式:導(dǎo)出用戶所有表或者指定的表;c.整個數(shù)據(jù)庫:導(dǎo)出數(shù)據(jù)庫中所有對象。exp常用參數(shù)例子1、交互式exptest/test123@appdbEnterarrayfetchbuffersize:4096>回車Exportfile:expdat.dmp>d:\m.dmp生成導(dǎo)出的文件名(1)E(ntiredatabase),(2)U(sers),or(3)T(ables):(2)U>3Exporttabledata(yes/no):yes>回車Compressextents(yes/no):yes>回車導(dǎo)出工具exp非交互式命令行方式的例子expscott/tigertables=(emp,dept)file=d:/directory/scott.dmpgrants=y說明:把scott用戶里兩個表emp,dept導(dǎo)出到文件d:/directory/scott.dmpexpscott/tigertables=empquery=\"wherejob=\'salesman\'andsal\<1600\"file=/directory/scott2.dmp說明:在exp里面加上導(dǎo)出emp的查詢條件job='salesman'andsal<1600(但我個人很少這樣用,還是把滿足條件的記錄生成臨時表后,再exp會方便一些)脫機備份(冷備份)步驟找到所有需要備份的文件showparameterpfile找初始化參數(shù)文件selectnamefromv$controlfile;找控制文件selectfile_namefromdba_data_files;找數(shù)據(jù)文件selectmemberfromv$logfile;找重做日志文件selectname,sequence#,first_change#fromv$archived_log;找歸檔日志文件shutdown關(guān)閉數(shù)據(jù)庫將所有文件復(fù)制到備份硬盤或磁帶上startup啟動數(shù)據(jù)庫聯(lián)機備份在非歸檔模式下,當(dāng)循環(huán)寫到最后一個日志文件后,就重寫第一個日志。因此,非歸檔模式下唯一的數(shù)據(jù)庫恢復(fù)辦法就是使用冷備份。在歸檔模式下,當(dāng)redo日志滿時,一個ARCH后臺進程就讀取全部redo日志,然后將其寫到歸檔日志。因此,可以使用熱備份和點恢復(fù)。在歸檔日志模式下,如果歸檔日志目的空間已滿,數(shù)據(jù)庫活動將暫時停止,只有釋放一些空間后,數(shù)據(jù)庫才能繼續(xù)運行。聯(lián)機備份舉例聯(lián)機備份數(shù)據(jù)文件設(shè)置表空間為備份狀態(tài)altertablespace表空間名beginbackup;備份表空間的數(shù)據(jù)文件恢復(fù)表空間為正常狀態(tài)altertablespace表空間名endbackup;備份控制文件alterdatabasebackupcontrolfileto備份文件名;自動備份方法自動備份方法Windows平臺:計劃任務(wù)定時自動執(zhí)行批處理文件。主要內(nèi)容數(shù)據(jù)庫備份1數(shù)據(jù)庫恢復(fù)2344數(shù)據(jù)庫備份與恢復(fù)概念還原與恢復(fù)數(shù)據(jù)庫恢復(fù)的策略,是使用最近的一次備份來實現(xiàn)數(shù)據(jù)庫的還原,然后使用歸檔日志和聯(lián)機日志將數(shù)據(jù)庫恢復(fù)到最新或特定狀態(tài)。還原:從最近的備份文件中檢索所需要的內(nèi)容,并將其拷回到原來位置的過程稱為還原??梢曰跀?shù)據(jù)庫、表空間、數(shù)據(jù)文件、控制文件、參數(shù)文件進行還原恢復(fù):在還原的基礎(chǔ)上,使用歸檔日志和聯(lián)機日志將數(shù)據(jù)庫刷新到最新的SCN,使數(shù)據(jù)庫保持一致性?;謴?fù)的類型實例恢復(fù)在RAC中,當(dāng)一個實例崩潰,則幸存的實例將自動使用聯(lián)機日志來前滾已提交的事務(wù),撤銷未提交的事務(wù)并釋放鎖。崩潰恢復(fù)指在單實例的環(huán)境中,或多實例環(huán)境中所有的實例崩潰發(fā)生。在崩潰恢復(fù)中,實例必須首先打開數(shù)據(jù)庫,然后執(zhí)行恢復(fù)操作。一般而言,在崩潰或關(guān)機退出之后第一個打開數(shù)據(jù)庫的實例將自動執(zhí)行崩潰恢復(fù)。介質(zhì)恢復(fù)介質(zhì)恢復(fù)通常為響應(yīng)介質(zhì)故障并根據(jù)用戶的命令來執(zhí)行恢復(fù)??梢允褂寐?lián)機或歸檔日志來使還原的備份為最新或?qū)⑵涓轮烈粋€特定的時間點。介質(zhì)恢復(fù)可以將整個數(shù)據(jù)庫、一個表空間一個數(shù)據(jù)文件還原至指定的時間點。完全恢復(fù)使用歸檔、聯(lián)機日志與數(shù)據(jù)庫、表空間或數(shù)據(jù)文件等的備份結(jié)合使用以將其更新至最新的時間點。步驟a.將受損的數(shù)據(jù)文件脫機b.還原受損的數(shù)據(jù)文件c.恢復(fù)受損的數(shù)據(jù)文件d.將已恢復(fù)的數(shù)據(jù)文件聯(lián)機不完全恢復(fù)使用歸檔、聯(lián)機日志與數(shù)據(jù)庫、表空間或數(shù)據(jù)文件等的備份結(jié)合使用以將其更新至過去的某個時間點或SCN等。步驟a.加載數(shù)據(jù)庫b.還原所有數(shù)據(jù)文件,同時可以選擇還原控制文件c.將數(shù)據(jù)庫恢復(fù)至某個時間點、序列、或系統(tǒng)改變號d.使用RESETLOGS關(guān)鍵字打開數(shù)據(jù)庫導(dǎo)入工具imp它是操作系統(tǒng)下一個可執(zhí)行的文件存放目錄/ORACLE_HOME/binimp導(dǎo)入工具將EXP形成的二進制系統(tǒng)文件導(dǎo)入到數(shù)據(jù)庫中.它有三種模式:a.用戶模式:導(dǎo)出用戶所有對象以及對象中的數(shù)據(jù);b.表模式:導(dǎo)出用戶所有表或者指定的表;c.整個數(shù)據(jù)庫:導(dǎo)出數(shù)據(jù)庫中所有對象。只有擁有IMP_FULL_DATABASE和DBA權(quán)限的用戶才能做整個數(shù)據(jù)庫導(dǎo)入imp常用參數(shù)例子導(dǎo)入工具imp交互式命令行方式的例子$impImport:Release8.1.6.0.0-Productionon星期五12月717:01:082001(c)Copyright1999OracleCorporation.Allrightsreserved.用戶名:test口令:****連接到:Oracle8iEnterpriseEditionRelease8.1.6.0.0-64bitProductionWiththePartitioningoptionJServerRelease8.1.6.0.0-Production導(dǎo)入文件:expdat.dmp>d:/tmp/m.dmp導(dǎo)入工具imp非交互式命令行方式的例子$impsystem/managerfromuser=jonestables=(accts)$impsystem/managerfromuser=scotttables=(emp,dept)$impsystem/managerfromuser=scotttouser=joetables=emp$impscott/tigerfile=expdat.dmpfull=y$impscott/tigerfile=/mnt1/t1.dmpshow=nbuffer=2048000ignore=ncommit=ygrants=yfull=ylog=/oracle_backup/log/imp_scott.log$impsystem/managerparfile=params.datparams.dat內(nèi)容file=dba.dmpshow=nignore=ngrants=yfromuser=scotttables=(dept,emp)導(dǎo)入工具imp可能出現(xiàn)的問題(1)數(shù)據(jù)庫對象已經(jīng)存在一般情況,導(dǎo)入數(shù)據(jù)前應(yīng)該徹底刪除目標(biāo)數(shù)據(jù)下的表,序列,函數(shù)/過程,觸發(fā)器等;數(shù)據(jù)庫對象已經(jīng)存在,按缺省的imp參數(shù),則會導(dǎo)入失敗如果用了參數(shù)ignore=y,會把exp文件內(nèi)的數(shù)據(jù)內(nèi)容導(dǎo)入如果表有唯一關(guān)鍵字的約束條件,不合條件將不被導(dǎo)入如果表沒有唯一關(guān)鍵字的約束條件,將引起記錄重復(fù)(2)數(shù)據(jù)庫對象有主外鍵約束不符合主外鍵約束時,數(shù)據(jù)會導(dǎo)入失敗解決辦法:先導(dǎo)入主表,再導(dǎo)入依存表disable目標(biāo)導(dǎo)入對象的主外鍵約束,導(dǎo)入數(shù)據(jù)后,再enable它們(3)權(quán)限不夠如果要把A用戶的數(shù)據(jù)導(dǎo)入B用戶下,A用戶需要有imp_full_database權(quán)限(4)導(dǎo)入大表(大于80M)時,存儲分配失敗默認的EXP時,compress=Y,也就是把所有的數(shù)據(jù)壓縮在一個數(shù)據(jù)塊上.導(dǎo)入時,如果不存在連續(xù)一個大數(shù)據(jù)塊,則會導(dǎo)入失敗.導(dǎo)出80M以上的大表時,記得compress=N,則不會引起這種錯誤.(5)imp和exp使用的字符集不同如果字符集不同,導(dǎo)入會失敗,可以改變unix環(huán)境變量或者NT注冊表里NLS_LANG相關(guān)信息.導(dǎo)入完成后再改回來.(6)imp和exp版本不能往上兼容imp可以成功導(dǎo)入低版本exp生成的文件,不能導(dǎo)入高版本exp生成的文件脫機備份的恢復(fù)步驟shutdown關(guān)閉數(shù)據(jù)庫將備份的數(shù)據(jù)文件和控制文件復(fù)制到數(shù)據(jù)庫中原來的位置也可將備份的重做日志文件、參數(shù)文件、口令文件復(fù)制到數(shù)據(jù)庫中原來的位置(該操作不是必需的)startup啟動數(shù)據(jù)庫閃回操作閃回查詢(FlashbackQuery)查詢過去某個指定時間、指定實體的數(shù)據(jù)。閃回表(FlashbackTable)使表返回到過去某一時間的狀態(tài)。閃回刪除(FlashbackDrop)恢復(fù)被drop的表或者索引。閃回數(shù)據(jù)庫(FlashbackDatabase)使數(shù)據(jù)庫迅速地回滾到以前的某個時間點或者某個SCN(系統(tǒng)更改號)上,而不需要進行時間點的恢復(fù)操作?;陂W回日志?;诨貪L數(shù)據(jù)(undodata)閃回查詢TO_TIMESTAMP函數(shù)格式為:TO_TIMESTAMP(’timepoint’,’format’)timepoint表示時間點format表示需要把timepoint轉(zhuǎn)化為何種格式閃回查詢舉例:查詢某一時間點A表的數(shù)據(jù)SQL>select*fromAasoftimestampto_timestamp('2009-07-0514:10:00','yyyy-mm-ddhh24:mi:s

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論