Oracle數據庫備份和恢復培訓_第1頁
Oracle數據庫備份和恢復培訓_第2頁
Oracle數據庫備份和恢復培訓_第3頁
Oracle數據庫備份和恢復培訓_第4頁
Oracle數據庫備份和恢復培訓_第5頁
已閱讀5頁,還剩32頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Oracle數據庫培訓培訓內容邏輯備份冷備份熱備份Rman備份邏輯備份邏輯備份優點:方法簡單、此方法不需要數據庫運行在歸擋模式下,適用于業務簡單,對數據恢復要求較低的系統。缺點:

無法追加備份后的數據,如從日志中追加日志。分為:表備份、用戶備份和完全備份三種模式。常用命令:exphelp=yimphelp=y1、備份某個用戶模式下的所有對象。備份數據

expuserid=scott/tigerfile=c:\scott.dmpowner=scottbuffer=10000feedback=100log=c:\exp_scott.log;(alteruserscottaccountunlock;)Buffer:數據緩沖區大小Feedback:每x行顯示進度

邏輯備份——用戶備份邏輯備份——用戶備份2、恢復數據:drop用戶dropuserscottcascade;createuserscottidentifiedbytiger;grantconnect,resourcetoscott;connectscott/tigerselect*fromtab;impuserid=scott/tigerfile=c:\scott.dmpfull=ybuffer=10000feedback=100log=c:\imp_scott.log;

邏輯備份——表空間備份1、備份某個用戶模式下指定的對象(表)。備份數據expuserid=system/oraclefile=c:\users.dmptablespaces=testbuffer=10000feedback=100log=c:\exp_test.log;

邏輯備份——表空間備份2、恢復數據:alterdatabasedefaulttablespacesystem;droptablespacetestincludingcontentsanddatafilescascadeconstraints;createtablespacetestdatafile'c:\test.dbf'size100m;impuserid=system/oraclefile=c:\test.dmptables=dept,emp,salgradefull=ybuffer=10000feedback=100log=c:\imp_test.log;

邏輯備份——完全備份1、備份完整的數據庫expuserid=system/oraclefilesize=50mfile=(c:\full_01.dmp,c:\full_2.dump)full=ybuffer=1000000feedback=1000log=c:\exp_full.log;2、恢復庫impuserid=system/oraclefilesize=50mfile=(c:\full_01.dmp,c:\full_2.dump)full=yignore=ybuffer=1000000feedback=1000log=c:\imp_full.log;

培訓內容邏輯備份冷備份熱備份Rman備份冷備份冷備份發生在數據庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的數據庫。冷備份是將關鍵性文件拷貝到另外位置的一種做法。對于備份Oracle信息而言,冷備份是最快和最安全的方法。如果數據庫是運行在非歸檔日志模式下,將備份文件拷貝回原來的目錄即可。非歸檔日志模式下數據庫只能恢復到備份時刻的狀態。如果數據庫是運行在歸檔日志模式下,將數據文件拷回原來的目錄(不包括聯機redolog文件),然后依次選擇相應的重做日志文件進行恢復,即可恢復冷備份后的所有操作,即是說可以恢復到系統崩潰前的狀態。

需在停止數據庫后進行,必須備全部庫,不能做增量。執行步驟:1、停止數據庫(shutdownimmediate)。2、備份數據文件、控制文件、日志文件、密碼文件、參數文件、臨時文件(可選)3、啟動數據庫。冷備份(一)1、備份內容select'copy'||name||'d:\bk'fromv$datafileunionallselect'copy'||name||'d:\bk'fromv$controlfileunionallselect'copy'||name||'d:\bk'fromv$tempfileunionallselect'copy'||member||'d:\bk'fromv$logfile;密碼文件:

%ORACLE_HOME%\db_1\database\PWDorcl.ora%ORACLE_HOME%\db_1\database\spfileorcl.ora控制文件:%ORACLE_HOME%\ORADATA\ORCL\CONTROL0X.CTL冷備份2、備份整個目錄??截愓麄€實例目錄+相應文件,在本例中,數據庫實例名orcl,所有數據文件、所有控制文件和所有聯機REDOLOG文件都在文件夾D:\oracle\product\10.2.0\oradata\orcl中。

備份恢復的操作如下:

進入sql*plus,以sysdba的身份登錄數據庫SQL>conn/assysdba關閉數據庫SQL>shutdownimmediate拷貝D:\oracle\product\10.2.0\oradata\orcl到目標備份目錄E:\bacakup\orcl\下數據庫冷備份完成。啟動數據庫SQL>startup

冷備份(二)培訓內容邏輯備份冷備份熱備份Rman備份熱備份數據庫在open的狀態下進行備份,備份內容:數據文件,控制文件,歸檔日志文件,密碼文件,參數文件,熱備份需數據庫工作在歸檔模式下,修改工作模式需重啟數據庫。修改方式:1、停止數據庫(一致性停數據庫)shutdownimmediate;2、啟動數據庫至mount狀態;

startupmount

alterdatabasearchivelog;alterdatabaseopen;用archiveloglist;進行驗證查看歸檔目錄Select*fromv$archived_log;熱備份備份數據文件:1、Select

name,checkpoint_change#fromv$datafile;確定輸出結果中的SCN號;2、Select*fromv$backup;數據處于非活動備份狀態3、altertablespaceusersbeginbackup;Select

name,checkpoint_change#fromv$datafile;Select*fromv$backup;Select

name,checkpoint_change#fromv$datafile;對比前后SCN號的變換,user01的SCN號未變化,正在進行熱備份,文件頭被凍結了。4、備份hostcopyD:\oracle\product\10.2.0\oradata\orcl\user01.dbfd:\bkaltertablespacesusersendbackup;熱備份熱備份備份控制文件:1、alterdatabasebackupcontrolfileto‘d:\bk\control.bak’;培訓內容邏輯備份冷備份熱備份Rman工具RmanRMAN是ORACLE提供的一個備份與恢復的工具,可以用來備份和還原數據庫文件、歸檔日志和控制文件。它也可以用來執行完全或不完全的數據庫恢復。

Rman提供相應的api函數共開發使用。IBMTSM、HPDP、NBU、LGTO等企業級備份軟件的fororacle備份模塊均采用該工具。使用方法:在命令行下輸入Rmantarget/配置參數:Rman>showall;相關概念—oracle日志文件一、在線日志文件與歸檔日志文件

存在兩種模式,歸檔模式、非歸檔模式1、在線日志文件(重做日志文件redolog)的作用記錄數據的改變、提供數據恢復、維護數據庫完整性

select*fromv$log;//日志組

select*fromv$logfile;//日志文件

2、歸檔日志文件作用是數據恢復與備份,通過一次全備份恢復加上歸檔日志文件的恢復加上在線日志文件恢復可以完全恢復到破壞前的數據庫狀態。默認是非歸檔模式、歸檔模式能在線備份;非歸檔模式只能做全備份,而且是離線備份

相關概念—oracle日志文件在數據庫處于mount狀態下修改日志工作模式;startmount;

alterdatabasearchivelog/noarchivelog;

archiveloglist;

alterdatabaseopen;

showparameterlog_archive;查看歸檔日志使用LOG_ARCHIVE_DEST配置歸檔位置:ALTERSYSTEMSETlog_archive_dest=’d:/archive1’1、Rman的概念、組件TargetDatabase:(目標數據庫)

就是需要RMAN對其進行備份與恢復的數據庫,RMAN

可以備份數據文件,控制文件,歸檔日志,spfile。ServerSession:(服務器會話)

RMAN啟動數據庫上的Oracle服務器進程,將建立一個與目標數據庫的會話。由目標數據庫上的服務器進程進行備份、還原、恢復的實際操作。服務器進程

RMAN的服務進程是一個后臺進程,用于與RMAN工具與數據庫之間的通信,也用于RMAN工具與磁盤/磁帶等I/O設置之間的通信,服務進程負責備份與恢復的所有工作,在如下情況將產生一個服務進程:當連接到目標數據庫分配一個新的通道RmanChannel:

(通道)

一個通道是RMAN和目標數據庫之間的一個連接,“allocatechannel”命令在目標數據庫啟動一個服務器進程,同時必須定義服務器進程執行備份或者恢復操作使用的I/O類型。recoverycatalog:(恢復目錄)

用來保存備份與恢復信息的一個數據庫,不建議創建在目標數據庫上。RMAN

利用恢復目錄記載的信息去判斷如何執行需要的備份恢復操作。RMANRepository:(RMAN

恢復目錄數據庫)

存放recoverycatalog(恢復目錄)的數據庫。建議為恢復目錄數據庫創建一個單獨的數據庫。MML:(媒體管理庫)

MediaManagementLayer(MML)是第三方工具或軟件,用于管理對磁帶的讀寫與文件的跟蹤管理。如果你想直接通過

RMAN

備份到磁帶上,就必須配置媒體管理層,媒體管理層的工具如備份軟件可以調用RMAN來進行備份與恢復。RmanRman2、常用參數數據備份:Rman>backuptablespaceusers;查看備份集Rman>Listbackup;修改備份路徑configurechanneldevicetypediskformat'c:\rmanbk\%d_%s_%p_%T_%t.bkp';d數據庫名s為備份集的號

P為該備份集中的備份片號,從1開始到創建的文件數T為年月日格式(YYYYMMDD),t時間戳磁帶為sbt,磁盤為disk,RMAN文件格式備份文件可以自定義各種各樣的格式,如下:%c備份片的拷貝數%d數據庫名稱%D位于該月中的第幾天(DD)%M位于該年中的第幾月(MM)%F一個基于DBID唯一的名稱,這個格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII為該數據庫的DBID,YYYYMMDD為日期,QQ是一個1-256的序列%n數據庫名稱,向右填補到最大八個字符%u一個八個字符的名稱代表備份集與創建時間%p該備份集中的備份片號,從1開始到創建的文件數%U一個唯一的文件名,代表%u_%p_%c%s備份集的號%t備份集時間戳%T年月日格式(YYYYMMDD)RmanRman3、常用備份命令Reportschema;數據文件列表backupspfile;Backupdatafile8;backupcurrentcontrolfile;backuparchivelogalldeleteallinput;(將所有的日志文件備份一遍然后刪除)backuptablespaceusers;backupascompresssedbackupsettablespaceusers;backupduration10:00MINIMIZELOADtablespaceusers;(備份工作持續10小時)backupdatabaseincludecurrentcontrolfileplusarchivelogdeleteallinput;(庫全備,控制文件+日志文件備份完成刪除)Rman4、ERP數據庫備份connecttargetlgto/lgto@prd;run{allocatechannelt1type'sbt_tape'parms'ENV=(NSR_CLIENT=erpdb_svc,NSR_SERVER=baksvr)';allocatechannelt2type'sbt_tape'parms'ENV=(NSR_CLIENT=erpdb_svc,NSR_SERVER=baksvr)';backupformat"db_%d_t%t_s%s_p%p"(database);sql'altersystemarchivelogcurrent';crosscheckarchivelogall;backupformat"arch_%d_t%t_s%s_p%p"(archivelogalldeleteinput);releasechannelt1;releasechannelt2;}日志備份connecttargetlgto/lgto@prd;run{allocatechannelt1type'sbt_tape'parms'ENV=(NSR_CLIENT=erpdb_svc,NSR_SERVER=baksvr)';allocatechannelt2type'sbt_tape'parms'ENV=(NSR_CLIENT=erpdb_svc,NSR_SERVER=baksvr)';sql'altersystemarchivelogcurrent';crosscheckarchivelogall;backupformat"arch_%d_t%t_s%s_p%p"(archivelogalldeleteinput);releasechannelt1;releasechannelt2;}Rman5、數據庫的備份與恢復

備份一個特定的數據庫文件;1)reportschema;altersystemcheckpoint;(將redo里紀錄但未在datafile中紀錄的的內容寫入到datafile)altersystemswitchlogfile;(對當前實例執行日志切換)backupdatafile4;

2)關閉數據庫:shutdownimmediate;3)啟動數據庫:startupnomount;

alterdatabasemount;4)恢復數據庫rman>restoredatafile4;(恢復庫)rman>recoverdatafile4;(恢復日志)

5)alterdatabaseopenRman全庫備份與恢復步驟1)rman>backupdatabaseincludecurrentcontrolfileplusarchivelogdeleteallinput;或rman>run{allocatechannelt1type'sbt_tape'parms'ENV=(NSR_CLIENT=erpdb_svc,NSR_SERVER=baksvr)';allocatechannelt2type'sbt_tape'parms'ENV=(NSR_CLIENT=erpdb_svc,NSR_SERVER=baksvr)';backupformat"db_%d_t%t_s%s_p%p"(database);sql'altersystemarchivelogcurrent';crosscheckarchivelogall;backupformat"arch_%d_t%t_s%s_p%p"(archivelogalldeleteinput);releasechannelt1;releasechannelt2;}Rman2)停止數據庫shutdownimmediate;3)啟動數據庫至mount狀態,startupforcenomount;4)恢復控制文件rman>restorecontrolfilefromautobackup;5)啟動數據庫至mount狀態;alterdatabasemount;6)恢復數據及日志run{restoredatabase;recoverdatabase;}7、啟動數據庫alterdatabaseopenresetlogs;RmanSES恢復步驟1、恢復控制文件run{SETCONTROLFILEAUTOBACKUPFORMATFORDEVICETYPE'SBT_TAPE'TO'/%F/';allocatechannelt1type'sbt_tape'parms'ENV=(NSR_SERVER=baksvr,NSR_CLIENT=ssesdb1,NSR_DATA_VOLUME_POOL=SESPool)';restorecontrolfilefromautobackup;releasechannelt1;}Rman2、恢復數據run{allocatechannelt1type'sbt_tape'parms'ENV=(NSR_CLIENT=ssesdb1,NSR_SERVER=baksvr)';allocatechannelt2type'sbt_tape'parms'ENV=(NSR_CLIENT=ssesdb1,NSR_SERVER=baksvr)';allocatechannelt3type'sbt_tape'parms'ENV=(NSR_CLIENT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論