第12章+DM數據庫的備份和還原教學課件_第1頁
第12章+DM數據庫的備份和還原教學課件_第2頁
第12章+DM數據庫的備份和還原教學課件_第3頁
第12章+DM數據庫的備份和還原教學課件_第4頁
第12章+DM數據庫的備份和還原教學課件_第5頁
已閱讀5頁,還剩80頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

主講教師:時間:202x.xx.xx第12章DM數據庫的備份和還原DM備份和還原概述DM聯機備份與還原DM脫機備份與還原DM邏輯備份與還原知識點小結DM備份和還原概述數據庫備份是DBA日常最重要的工作內容。備份的主要目的是數據容災,保證數據的安全性,在數據庫發生故障時,通過還原和恢復,將數據恢復到可用狀態。數據庫備份分為物理備份和邏輯備份兩種類型。邏輯備份是指利用dexp導出工具,將指定對象(庫級、用戶級、模式級、表級)的數據導出到指定文件的備份方式。邏輯備份針對的是數據內容,并不關心這些數據物理存儲在什么位置。物理備份則直接掃描數據庫文件,找出那些已經分配、使用的數據頁,拷貝并保存到備份集中。物理備份過程中,不關心數據頁的具體內容,也不關心數據頁屬于哪張表,只根據數據庫文件系統的描述挑選有效數據頁。01PARTONEDM備份和還原概述DM數據庫的物理備份DM數據庫的物理還原DM數據庫的物理備份DM數據庫中的數據存儲在物理數據文件中,數據文件按照頁、簇和段的方式進行管理,數據頁是最小的數據存儲單元。任何一個對DM數據庫的操作,歸根結底都是對某個數據文件頁的讀寫操作。DM物理備份的本質就是從數據庫文件中拷貝有效的數據頁保存到備份集中,這里的有效數據頁包括數據文件的描述頁和被分配使用的數據頁。DM一個備份集對應了一次完整的備份,備份集由備份片和元數據文件組成。DM備份集一般情況下,一個備份集就是一個目錄,備份集由一個或多個備份片文件和一個元數據文件組成。備份片是用來存儲備份數據的文件。文件后綴為.bak,用來存放備份數據,存放數據頁的備份片稱為數據備份片,存放REDO日志的備份片稱為日志備份片。DM備份集元數據文件用來存放備份信息。文件后綴為.meta。通過元數據文件,可以了解整個備份集信息。元數據文件中包含的備份信息包括:備份集本身相關信息,如是否聯機備份,備份范圍,備份加密以及壓縮信息等;備份源庫的建庫參數信息,如簇大小頁大小,是否大小寫敏感,字符集等;數據文件信息,如備份了哪些數據文件,文件大小,以及文件相關的表空間信息等;備份片的信息,如包含哪些備份片文件、備份片大小等信息;備份庫的dm.ini參數信息。DM數據庫的備份(續)物理備份包含聯機備份(熱備份)和脫機備份(冷備份)。聯機備份時,數據庫處于運行狀態,可以對外提供服務。因此可能存在一些處于活動狀態的事務正在執行,所以聯機備份是非一致性備份,為確保備份數據的一致性,需要將備份期間產生的REDO日志一起備份。因此,只能在配置本地歸檔、并開啟本地歸檔的數據庫上執行聯機備份。脫機備份時,數據庫必須關閉。脫機備份是一致性備份。數據庫正常關閉時,會生成完全檢查點,脫機備份生成的備份集中,不包含任何REDO日志。DM數據庫的備份(續)DM物理聯機備份一般包括數據備份和日志備份兩部分,數據備份是拷貝數據頁內容,日志備份則是拷貝備份過程中產生的REDO日志。01PARTONEDM備份和還原概述DM數據庫的備份DM數據庫的還原DM數據庫的還原還原與恢復是備份的逆過程,還原與恢復的主要目的是將目標數據庫恢復到備份結束時刻的狀態,也可以利用歸檔日志恢復到最新狀態。還原的主要動作是將數據頁從備份集中拷貝回數據庫文件相應位置,恢復則是重做REDO日志將數據庫恢復到一致性狀態。備份與還原關系如圖所示。DM備份和還原概述DM聯機備份與還原DM脫機備份與還原DM邏輯備份與還原知識點小結02PARTONEDM聯機備份與還原DM數據庫的聯機備份DM數據庫的聯機還原DM數據庫的聯機備份數據庫處于運行狀態、并正常提供數據庫服務情況下進行的備份操作,稱為聯機備份。聯機備份通過使用disql工具或者DM管理工具圖形化界面連接到數據庫實例后操作,也可以通過配置作業,定時完成自動備份。聯機備份不影響數據庫正常提供服務,是最常用的備份手段之一。聯機備份時,可能存在一些處于活動狀態的事務正在執行,為確保備份數據的一致性,需要將備份期間產生的REDO日志一起備份。因此,只能在配置本地歸檔文件、并開啟本地歸檔的數據庫上執行聯機備份。即聯機備份需要數據庫開啟歸檔。歸檔模式和非歸檔模式默認數據庫運行在非歸檔模式下。非歸檔模式下,數據庫只將重做日志寫入聯機日志文件中進行存儲;歸檔模式下,數據庫會同時將重做日志寫入聯機日志文件和歸檔日志文件中分別進行存儲。備份與恢復過程都依賴歸檔日志,歸檔日志是保證數據一致性和完整性的重要保障。歸檔模式會對系統的性能產生影響,然而系統在歸檔模式下運行會更安全,當出現故障時其丟失數據的可能性更小,這是因為一旦出現介質故障,如磁盤損壞時,利用歸檔日志,系統可被恢復至故障發生的前一刻,也可以還原到指定的時間點。如何開啟歸檔DM數據庫只能在MOUNT狀態下開啟歸檔。MOUNT狀態為數據庫配置狀態。使用如下SQL可以打開數據庫為歸檔狀態并配置歸檔類型、歸檔文件大小、歸檔路徑、歸檔空間大小上限等信息:alter

database

mount;alter

database

archivelog;alter

database

add

archivelog

'type=local,dest=/dm8/arch,file_size=512,space_limit=10240';alter

database

open;庫級備份語法SQL庫級備份語法如下:BACKUPDATABASE[[FULL]|INCREMENT[CUMULATIVE][WITHBACKUPDIR'<基備份搜索目錄>'{,'<基備份搜索目錄>'}|[BASEON<BACKUPSET'<基備份目錄>']][TO<備份名>]BACKUPSET['<備份集路徑>'][DEVICETYPE<介質類型>[PARMS'<介質參數>']][BACKUPINFO'<備份描述>'][MAXPIECESIZE<備份片限制大小>][COMPRESSED[LEVEL<壓縮級別>]][WITHOUTLOG][TASKTHREAD<線程數>][PARALLEL[<并行數>]];庫級備份語法主要參數說明:FULL:表示完全備份,在不指定該選項的情況下,默認是完全備份。INCREMENT:表示增量備份,執行增量備份必須指定該參數。CUMULATIVE:表示累積增量備份(備份完全備份以來所有變化的數據塊),若不指定,默認為差異增量備份(備份上次備份以來有變化的數據塊)。WITHBACKUPDIR:指定增量備份中基備份的搜索目錄。若不指定,服務器自動在默認備份目錄下搜索基備份。如果基備份不在默認的備份目錄下,增量備份必須指定該參數。BASEON:用于增量備份中,指定基備份集目錄。TO:指定生成備份的名稱。若沒有指定,則隨機生成,默認備份名格式為:DB_備份類型_數據庫名_備份時間。庫級備份語法BACKUPSET:指定當前備份集生成路徑。若沒有指定,則在默認備份路徑中生成默認備份集目錄。DEVICETYPE:指存儲備份集的介質類型,支持DISK和TAPE,默認DISK。PARMS:只對介質類型為TAPE時有效。BACKUPINFO:備份的描述信息。最大不超過256個字節。MAXPIECESIZE:最大備份片文件大小上限,以MB為單位,最小32MB,32位系統最大2GB,64位系統最大128GB。備份片內容超過設置大小將生成多個備份片。COMPRESSED:是否對備份數據進行壓縮處理。LEVEL表示壓縮等級,取值范圍0~9:0表示不壓縮;1表示1級壓縮;9表示9級壓縮。PARALLEL:指定并行備份的并行數和拆分塊大小。并行數取值范圍0~128。若不指定并行數,則默認為4,若指定為0或者1均認為非并行備份。若未指定關鍵字PARALLEL,則認為非并行備份。庫級備份示例例12-1:全量備份數據庫至D:\dm_bak\fullbak01目錄,備份集名稱為fullbak01。backup

database

tofullbak01backupset

'D:\dm_bak\fullbak01';也可以使用DM管理工具圖形化界面備份數據庫:庫級備份示例例12-2:全量備份數據庫至D:\dm_bak\fullbak02目錄,備份集名稱為fullbak02,設置最大備份片大小為256M,備份文件壓縮等級為5,并指定并行備份。backup

database

tofullbak02backupset

'D:\dm_bak\fullbak02'

maxpiecesize256compressed

level5parallel4;庫級備份示例例12-3:增量備份數據庫至D:\dm_bak\incrbak01目錄,備份集名稱為incrbak01。backup

database

increment

with

backupdir

'D:\dm_bak'

backupset

'D:\dm_bak\incrbak01';例12-4:累計增量備份數據庫至D:\dm_bak\incrbak02目錄,備份集名稱為incrbak02。backup

database

increment

cumulative

with

backupdir

'D:\dm_bak'

toincrbak02backupset

'D:\dm_bak\incrbak02';庫級備份示例查詢v$backupset可以查看備份集信息,如果備份集在非默認備份目錄,需要使用系統函數添加備份集目錄:selectsf_bakset_backup_dir_add('disk','d:\dm_bak');select*fromv$backupset;若沒有指定備份路徑,系統默認在數據庫默認備份目錄備份,由參數BAK_PATH指定:selectt.para_name,t.para_valuefromv$dm_initwheret.para_name='BAK_PATH';表空間備份語法針對特定表空間的備份,稱為表空間級備份。表空間備份只能在聯機狀態下執行。同備份數據庫一樣,執行表空間備份數據庫實例必須運行在歸檔模式下。表空間備份語法備份表空間語法如下:BACKUPTABLESPACE<表空間名>[FULL|INCREMENT[CUMULATIVE][WITHBACKUPDIR'<基備份搜索目錄>'{,'<基備份搜索目錄>'}]|[BASEONBACKUPSET'<基備份集目錄>’]][TO<備份名>]BACKUPSET['<備份集路徑>'][DEVICETYPE<介質類型>[PARMS'<介質參數>']][BACKUPINFO'<備份集描述>'][MAXPIECESIZE<備份片限制大小>][COMPRESSED[LEVEL<壓縮級別>]][TASKTHREAD<線程數>][PARALLEL[<并行數>][READSIZE<拆分塊大小>]];表空間備份語法主要的參數說明:表空間名:指定備份的表空間名稱(除了temp表空間)。FULL|INCREMENT:備份類型,FULL表示完全備份,INCREMENT表示增量備份。若不指定,默認為完全備份。CUMULATIVE:用于增量備份中,指明為累積增量備份類型,若不指定則缺省為差異增量備份類型。WITHBACKUPDIR:用于增量備份中,指定備份目錄,最大長度為256個字節。若不指定,自動在默認備份目錄下搜索基備份。如果基備份不在默認的備份目錄下,增量備份必須指定該參數。表空間備份語法主要的參數說明:BASEON:用于增量備份中,指定基備份集目錄。TO:指定生成備份名稱。若未指定,系統隨機生成,默認備份名格式為:DB_備份類型_表空間名_備份時間。BACKUPSET:指定當前備份集生成路徑。若指定為相對路徑,則在默認備份路徑中生成備份集。若不指定,則在默認備份路徑下以約定規則生成默認的表空間備份集目錄。表空間級備份默認備份集目錄名生成規則:TS_表空間名_備份類型_時間,如TS_MAIN_INCREMENT_20180518_143057_123456。表空間備份示例示例12-5:表空間完全備份示例。backup

tablespacedmtbsfull

todmtbs_fullbak01backupset

'd:\dm_bak\dmtbs_fullbak01’;示例12-6:表空間增量備份示例。backup

tablespacedmtbsincrement

todmtbs_incrbak01backupset

'd:\dm_bak\dmtbs_incrbak01';備份語句中指定的INCREMENT參數表示執行的備份類型為增量備份,不可省略。若要創建累積增量備份,還需要指定CUMULATIVE參數,否則缺省為差異增量備份。若基備份不在默認備份目錄,則需要使用WITHBACKUPDIR參數指定搜索的基備份集目錄。

表備份概述表備份不是直接掃描數據文件,而是從BUFFER中加載數據頁,拷貝到備份片文件中。表備份的元信息包括建表語句、重建約束語句、重建索引語句,以及其他相關屬性信息。表備份拷貝指定表使用的所有數據頁到備份集中,并記錄各個數據頁之間的邏輯關系以用來恢復表數據結構。表備份只能在聯機狀態下執行,并且不支持增量表備份。與數據庫、表空間備份不同,表備份不需要配置歸檔。一次表備份操作只能備份一張用戶表。表備份語法和示例表備份的SQL語法如下:BACKUPTABLE<表名>[TO<備份名>]BACKUPSET['<備份集路徑>'][DEVICETYPE<介質類型>[PARMS'<介質參數>']][BACKUPINFO'<備份集描述>'][MAXPIECESIZE<備份片限制大小>][COMPRESSED[LEVEL<壓縮級別>]]示例12-7:備份dmhr用戶下的EMPLOYEE表。backup

tabledmhr.employeebackupset

'EMPLOYEE_BAK’;備份集“EMPLOYEE_BAK”會生成到默認的備份路徑下。歸檔備份歸檔是對REDO日志的歸檔,數據庫正常狀態下用不上歸檔日志文件,但當數據庫發生損壞時,利用歸檔日志可以將數據庫恢復到故障發生的前一刻或任意時間點。歸檔備份就是對歸檔日志文件的備份,數據庫歸檔備份的前提:歸檔文件的db_magic、permanent_magic值和庫的db_magic、permanent_magic值必須一樣;服務器必須配置歸檔;歸檔日志必須連續,如果出現不連續的情況,前面的會忽略,僅備份最新的連續部分。如果未收集到指定范圍內的歸檔,則不會備份。歸檔備份語法SQL歸檔備份語法如下:BACKUP<ARCHIVELOG|ARCHIVELOG>[ALL|[FROMLSN<lsn>]|[UNTILLSN<lsn>]|[LSNBETWEEN<lsn>AND<lsn>]|[FROMTIME'<time>']|[UNTILTIME'<time>']|[TIMEBETWEEN'<time>'>AND'<time>']][<notBackedUpSpec>][DELETEINPUT][TO<備份名>][<備份集子句>];<備份集子句>::=BACKUPSET['<備份集路徑>'][BACKUPINFO'<備份描述>'][MAXPIECESIZE<備份片限制大小>][COMPRESSED[LEVEL<壓縮級別>]][WITHOUTLOG][TASKTHREAD<線程數>][PARALLEL[<并行數>][READSIZE<拆分塊大小>]];歸檔備份語法和示例語法和之前的差不多,這里介紹幾個有區別的選項:ALL:備份所有的歸檔;FROMLSN/UNTILLSN:指定備份的起始/截止的lsn。FROMTIME/UNTILTIME:指定備份的開始/截止的時間點。BETWEEN...AND...:指定備份的區間。指定區間后,只會備份指定區間內的歸檔文件。DELETEINPUT:用于指定備份完成之后,是否刪除歸檔操作。示例:可備份歸檔文件示例。backuparchivelog

all

backupset

'archbak01';備份集“archbak01”會生成到默認備份路徑下。也可以使用絕對路徑指定備份目錄。聯機還原指數據庫處于運行狀態時,通過SQL執行還原操作。DM聯機還原僅支持表的聯機還原。數據庫、表空間和歸檔日志的還原必須在數據庫關閉狀態下操作。DM數據庫的聯機還原表還原是表備份的逆過程,表還原從表備份集中讀取數據替換目標表,將目標表還原成備份時刻的狀態。表還原只能從表級備份集中還原,不能從庫級備份集或表空間級備份集中還原。表還原只支持在聯機狀態下執行,表還原不需要重做REDO日志。并且,表備份集允許跨庫還原,但要求還原目標庫與源庫的數據頁大小等建庫參數相同。DM表還原概述表還原包括三部分:表結構還原、數據還原、以及重建索引和約束。如果還原目標表不存在,則利用備份集中記錄的建表語句重建目標表;如果還原目標表已存在,則清除表中的數據、刪除二級索引和約束;數據還原過程從表備份集拷貝數據頁,重構數據頁之間的邏輯關系,并形成一個完整的表對象。在數據還原結束后,使用備份集中信息,重建二級索引及各種約束。DM表還原概述DM表還原語法和示例表還原語法格式如下:RESTORETABLE[<表名>][STRUCT][KEEPTRXID]FROMBACKUPSET'<備份集路徑>’[DEVICETYPE<介質類型>[PARMS'<介質參數>']][IDENTIFIEDBY<密碼>|”<密碼>”[ENCRYPTWITH<加密算法>]][TRACEFILE'<TRACE文件名>'][TRACELEVEL<TRACE日志級別>];示例12-8:利用RESTORE語句還原表示例。restore

tabledmhr.employeeSTRUCT

from

backupset

'EMPLOYEE_BAK';restore

tabledmhr.employeefrom

backupset

'EMPLOYEE_BAK’;DM備份和還原概述DM聯機備份與還原DM脫機備份與還原DM邏輯備份與還原知識點小結DM脫機備份與還原數據庫處于關閉狀態時進行的備份操作,被稱為脫機備份。DMRMAN(DMRECOVERYMANEGER)是DM數據庫的脫機備份還原管理工具,由它來統一負責庫級脫機備份、脫機還原、脫機恢復等相關操作,該工具支持命令行指定參數方式和控制臺交互方式執行,降低了用戶的操作難度。也可以使用DM控制臺工具圖形化界面來操作數據庫的脫機備份、脫機還原和恢復。03PARTONEDM脫機備份與還原DM數據庫的脫機備份DM數據庫的脫機還原與恢復DM數據庫的脫機備份DMRMAN(DMRECOVERYMANAGER)是DM自帶的脫機備份還原管理工具,位于DM安裝bin目錄下。在使用DMRMAN工具時需要注意3點:(1)DmAPService服務是正常運行的。(2)在DM_HOME/bin目錄下執行dmrman命令。(3)備份的實例必須是關閉狀態。DM數據庫的脫機備份(續)DMRMAN的數據庫語法如下:BACKUPDATABASE'<INI文件路徑>'[[FULL]|INCREMENT[CUMULATIVE][WITHBACKUPDIR'<基備份搜索目錄>'{,'<基備份搜索目錄>’}]|[BASEONBACKUPSET'<基備份集目錄>']][TO<備份名>][BACKUPSET'<備份集目錄>'][DEVICETYPE<介質類型>[PARMS'<介質參數>'][BACKUPINFO'<備份描述>'][MAXPIECESIZE<備份片限制大小>][IDENTIFIEDBY<加密密碼>[WITHENCRYPTION<TYPE>][ENCRYPTWITH<加密算法>]][COMPRESSED[LEVEL<壓縮級別>]][WITHOUTLOG][TASKTHREAD<線程數>][PARALLEL[<并行數>]];DM數據庫的脫機備份(續)語法和聯機備份類似,這里只描述一個參數DATABASE后面的‘<INI文件路徑>’。因為連接備份是通過SQL執行的,在執行之前已經確認了連接的數據庫實例信息。而DMRMAN是脫機備份,所以在DATABASE選項之后必須加上dm.ini參數的絕對路徑,以確定備份哪一個數據庫。其他參數說明可以參考聯機備份部分。如果不指定備份集路徑,默認在默認備份路徑下生成備份集目錄,默認的備份路徑為dm.ini中BAK_PATH的配置值,若未配置,則使用SYSTEM_PATH下的bak目錄。DMRMAN脫機備份示例示例12-9:完全備份數據庫。 RMAN>backupdatabase‘D:\dmdbms\data\DAMENG\dm.ini’fullbackupset‘D:\dm_bak\dmrman\FULLBAK01';示例12-10:增量備份數據庫。 RMAN>backupdatabase‘D:\dmdbms\data\DAMENG\dm.ini'incrementwithbackupdir'D:\dm_bak\dmrman'backupset'D:\dm_bak\dmrman\incrbak01';03PARTONEDM脫機備份與還原DM數據庫的脫機備份DM數據庫的脫機還原與恢復DM數據庫的脫機還原與恢復脫機還原指數據庫處于關閉狀態時執行的還原和恢復操作,脫機還原與恢復通過DMRMAN工具進行。庫備份集、表空間備份集和歸檔文件備份集,可以執行脫機還原。脫機還原操作的目標庫必須處于關閉狀態。脫機恢復包含庫恢復和表空間恢復。數據庫庫級還原和恢復包含3個動作:還原(RESTORE)、恢復(RECOVER)、數據庫更新(UPDATEDB_MAGIC)。庫還原庫還原就是根據庫備份集中記錄的文件信息重建數據庫文件,并將數據頁重新拷貝至目標數據庫的過程。RESTORE命令從備份集中進行對象的還原(配置文件和數據文件等),備份集可以是脫機庫級備份集,也可以是聯機庫級備份集。可以指定還原到目標庫,也可以指定還原到某一目標目錄。庫還原庫還原語法如下:RESTOREDATABASE<restore_type>FROMBACKUPSET'<備份集目錄>'[DEVICETYPEDISK|TAPE[PARMS'<介質參數>']][IDENTIFIEDBY<密碼>[ENCRYPTWITH<加密算法>]][WITHBACKUPDIR'<基備份集搜索目錄>'{,'<基備份集搜索目錄>'}][MAPPEDFILE'<映射文件>'][TASKTHREAD<任務線程數>][NOTPARALLEL][RENAMETO'<數據庫名>'];<restore_type>::=<type1>|<type2><type1>::='<INI文件路徑>'[REUSEDMINI][OVERWRITE]<type2>::=TO'<system_dbf所在路徑>'[OVERWRITE]庫還原(續)參數說明:DATABASE:指定還原庫目標的dm.ini文件路徑。WITHCHECK:指定還原前校驗備份集數據完整性。缺省不校驗。BACKUPSET:指定用于還原目標數據庫的備份集目錄。若指定為相對路徑,會在默認備份目錄下搜索備份集。DEVICETYPE:指存儲備份集的介質類型,支持DISK和TAPE,默認為DISK。PARMS:介質參數,供第三方存儲介質(TAPE類型)管理使用。IDENTIFIEDBY:指定備份時使用的加密密碼,供還原過程解密使用。ENCRYPTWITH:指定備份時使用的加密算法,供還原過程解密使用,若未指定,則使用默認算法。庫還原(續)參數說明:WITHBACKUPDIR:指定備份集搜索目錄。MAPPEDFILE:指定存放還原目標路徑的文件。TASKTHREAD:指定還原過程中用于處理解壓縮和解密任務的線程個數。若未指定,則默認為4;若指定為0,則調整為1;若指定超過當前系統主機核數,則調整為主機核數。RENAMETO:指定還原數據庫后是否更改庫的名字,指定時將還原后的庫改為指定的數據庫名,默認使用備份集中的db_name作為還原后庫的名稱。OVERWRITE:還原數據庫時,存在重名的數據文件時,是否覆蓋重建,不指定時默認報錯。庫恢復數據庫恢復RECOVER命令是在RESTORE之后繼續完成數據庫恢復工作,可以基于備份集,也可以基于本地的歸檔日志,主要是利用日志來恢復數據的一致性。數據庫恢復有兩種方式:1)從備份集恢復,即重做備份集中的REDO日志;基于備份集恢復只能恢復至備份結束的時間點。2)從歸檔恢復,即重做歸檔中的REDO日志。基于歸檔的恢復可以恢復到故障的前一刻,也可以恢復至任意時間點。基于備份集恢復在數據庫比較大,或者事務比較多的情況下,備份過程中生成的日志也會存儲到備份集中,比如聯機備份(SQL語句備份),在這種情況下,執行數據庫還原后,還需要重做備份集中備份的日志,以將數據庫恢復到備份時的一致性狀態,即從備份集恢復。基于備份集恢復只能將數據庫恢復至備份結束的時間點。基于歸檔恢復基于歸檔恢復可以將數據庫恢復至最新狀態。基于歸檔恢復的RECOVER命令語法如下:RECOVERDATABASE'<INI文件路徑>'WITHARCHIVEDIR'<歸檔日志目錄>'{,'<歸檔日志目錄>'}[USEDB_MAGIC<db_magic>][UNTILTIME'<時間串>'][UNTILLSN<LSN>];基于備份集的RECOVER命令語法如下:RECOVERDATABASE'<INI文件路徑>'FROMBACKUPSET'<備份集目錄>'[DEVICETYPEDISK|TAPE[PARMS'<介質參數>']][IDENTIFIEDBY<密碼>[ENCRYPTWITH<加密算法>]];基于歸檔恢復這里注意2個參數:WITHARCHIVEDIR:本地歸檔日志搜索目錄,若未指定,則僅使用目標庫配置本地歸檔目錄。USEDB_MAGIC:指定本地歸檔日志對應數據庫的DB_MAGIC,若不指定,則默認使用目標恢復數據庫的DB_MAGIC。DB_MAGIC是一個唯一值,每個實例都不一樣。數據庫更新

數據庫更新(UPDATEDB_MAGIC)也是利用RECOVER命令實現的。在數據庫執行恢復命令后,需要執行更新操作(UPDATEMAGIC),將數據庫調整為可正常工作的庫才算完成。當然數據庫數據庫在執行完RESTORE之后就已經是一致性的狀態(比如脫機備份的恢復),可以不用進行RECOVER恢復操作,直接進行UPDATEDB_MAGIC。數據庫更新語法如下: RMAN>RECOVERDATABASE'<INI文件路徑>'UPDATEDB_MAGIC;庫級還原與恢復示例(基于備份集恢復)示例12-11:庫級還原和恢復,基于備份集恢復至備份結束時刻。示例:(1)SQL聯機備份數據庫: SQL>backupdatabasebackupset'D:\dm_bak\fullbak01';示例:(2)停止數據庫實例。示例:(3)還原數據庫: RMAN>restoredatabase'D:\dmdbms\data\DAMENG\dm.ini'frombackupset'D:\dm_bak\fullbak02';示例:(4)從備份集恢復數據庫: RMAN>recoverdatabase‘D:\dmdbms\data\DAMENG\dm.ini'frombackupset'D:\dm_bak\fullbak02';示例:(5)更新數據庫: RMAN>recoverdatabase'D:\dmdbms\data\DAMENG\dm.ini'updatedb_magic;庫級還原與恢復(基于歸檔恢復)示例12-12:庫級還原和恢復,基于歸檔恢復到最新狀態。示例:(1)SQL聯機備份數據庫: SQL>backupdatabasebackupset'D:\dm_bak\fullbak02';示例:(2)停止數據庫實例。示例:(3)還原數據庫: RMAN>restoredatabase'D:\dmdbms\data\DAMENG\dm.ini'frombackupset'D:\dm_bak\fullbak02';示例:(4)從歸檔恢復數據庫至最新狀態: RMAN>recoverdatabase'D:\dmdbms\data\DAMENG\dm.ini'witharchivedir'D:\arch';示例:(5)更新數據庫: RMAN>recoverdatabase'D:\dmdbms\data\DAMENG\dm.ini'updatedb_magic;表空間還原與恢復

DM8表空間是聯機備份,脫機還原。由于表空間的數據庫對象等字典信息保存在數據庫的SYSTEM表空間中,為保證還原后表空間與當前庫保持一致狀態,缺省會基于當前歸檔日志將表空間數據恢復到最新狀態。表空間還原使用RESTORE命令完成表空間的脫機還原。還原的備份集可以是聯機或脫機生成的庫級備份集,也可以是聯機生成的表空間級備份集。表空間還原僅涉及表空間數據文件的重建與數據頁的拷貝。表空間還原RESTORE的語法如下:RESTOREDATABASE'<INI文件路徑>'TABLESPACE<表空間名>[DATAFILE<<文件編號>{,<文件編號>}|'<文件路徑>'{,'<文件路徑>'}>]FROMBACKUPSET'<備份集目錄>'[DEVICETYPEDISK|TAPE[PARMS'<介質參數>']][IDENTIFIEDBY<密碼>[ENCRYPTWITH<加密算法>]][WITHBACKUPDIR'<基備份集搜索目錄>'{,'<基備份集搜索目錄>'}][<with_archdir_lst_stmt>][MAPPEDFILE'<映射文件>'][TASKTHREAD<任務線程數>][NOTPARALLEL][UNTILTIME'<時間串>'][UNTILLSN<LSN>];<with_archdir_lst_stmt>::=WITHARCHIVEDIR'<歸檔日志目錄>'{,'<歸檔日志目錄>'}表空間還原(續)參數說明:DATABASE:指定還原目標庫的dm.ini文件路徑。TABLESPACE:指定還原的表空間,TEMP表空間除外。DATABASE:指定還原目標庫的dm.ini文件路徑。TABLESPACE:指定還原的表空間,TEMP表空間除外。DATAFILE:還原指定的數據文件。可以指定數據文件編號或數據文件路徑。文件編號,對應動態視圖V$DATAFILE中ID列的值;文件路徑,對應動態視圖V$DATAFILE中PATH的值,也可以僅指定數據文件名稱(相對路徑),與表空間中數據文件匹配時,會使用SYSTEM目錄補齊。BACKUPSET:指定還原備份集路徑。若指定相對路徑,會在默認備份目錄下搜索備份集。表空間恢復表空間恢復通過重做REDO日志,以將數據更新到一致性狀態。由于日志重做過程中,修改好的數據頁首先存入緩沖區,緩沖區分批次將修改好的數據頁寫入磁盤,如果在此過程中發生異常中斷,可能導致緩沖區中的數據頁無法寫入磁盤,造成數據的不一致,數據庫啟動時校驗失敗,所以表空間恢復過程中不允許異常中斷。恢復完成后,表空間狀態置為ONLINE,并設置數據標記為FIL_TS_RECV_STAT_RECOVERED,表示數據已恢復到一致狀態。表空間恢復(續)語法如下:RECOVERDATABASE'<ini_path>'TABLESPACE<表空間名>[WITHARCHIVEDIR'歸檔日志目錄'{,'歸檔日志目錄'}][USEDB_MAGIC<db_magic>];說明:DATABASE:指定還原目標庫的dm.ini文件路徑。TABLESPACE:指定還原的表空間,TEMP表空間除外。WITHARCHIVEDIR:歸檔日志搜索目錄。缺省情況下在dmarch.ini中指定的歸檔目錄中搜索。如果歸檔日志不在配置文件dmarch.ini中指定的目錄下,或者歸檔日志分散在多個目錄下,需要使用該參數指定歸檔日志搜索目錄。USEDB_MAGIC:指定本地歸檔日志對應數據庫的DB_MAGIC,若不指定,則默認使用目標恢復數據庫的DB_MAGIC。表空間還原與恢復示例示例12-13:以聯機表空間備份為例,展示DMRMAN如何完成表空間的恢復。1)聯機備份表空間,保證數據庫運行在歸檔模式及OPEN狀態;SQL>BACKUPTABLESPACEMAINBACKUPSET‘D:\dm_bak\ts_fullbak';2)還原表空間。需要注意,表空間還原的目標庫只能是備份集產生的源庫,否則將報錯。啟動DMRMAN,輸入以下命令:RMAN>RESTOREDATABASE‘D:\dmdbms\data\DAMENG\dm.ini'TABLESPACEMAINFROMBACKUPSET'D:\dm_bak\ts_fullbak';3)恢復表空間。啟動DMRMAN,輸入以下命令,數據庫默認會使用歸檔日志將表空間恢復至最新狀態:RMAN>RECOVERDATABASE'D:\dmdbms\data\DAMENG\dm.ini'TABLESPACEMAIN;歸檔還原使用RESTORE命令完成脫機還原歸檔操作,在還原語句中指定歸檔備份集。備份集可以是脫機歸檔備份集,也可以是聯機歸檔備份集。歸檔只有還原沒有恢復。歸檔還原語法如下:RESTORE<ARCHIVELOG|ARCHIVELOG>[withcheck]FROMBACKUPSET'<備份集路徑>'[<device_type_stmt>][IDENTIFIEDBY<密碼>|”<密碼>”[ENCRYPTWITH<加密算法>]][TASKTHREAD<任務線程數>][NOTPARALLEL][ALL|[FROMLSN<lsn>]|[UNTILLSN<lsn>]|[LSNBETWEEN<lsn>AND<lsn>]|[FROMTIME'<time>']|[UNTILTIME'<time>']|[TIMEBETWEEN'<time>'AND'<time>']]TO<還原目錄>[OVERWRITE<level>];<device_type_stmt>::=DEVICETYPE<介質類型>[PARMS'<介質參數>']<還原目錄>::=ARCHIVEDIR'<歸檔日志目錄>'|DATABASE'<ini_path>'歸檔還原示例示例12-14:以聯機歸檔文件備份為例,展示DMRMAN如何完成歸檔文件的還原,具體步驟如下。1)聯機備份歸檔文件,保證數據庫運行在歸檔模式及OPEN狀態。 SQL>BACKUPARCHIVELOGALLBACKUPSET‘D:\dm_bak\archbakall';2)還原歸檔文件。啟動DMRMAN,設置OVERWRITE為2,如果歸檔文件已存在,會報錯。RMAN>RESTOREARCHIVELOGFROMBACKUPSET'D:\dm_bak\archbakall'TODATABASE'D:\dmdbms\data\DAMENG\dm.ini'OVERWRITE2;或者RMAN>RESTOREARCHIVELOGFROMBACKUPSET'D:\dm_bak\archbakall'TOARCHIVEDIR'D:\arch_dest'OVERWRITE2;DM備份和還原概述DM聯機備份與還原DM脫機備份與還原DM邏輯備份與還原知識點小結04PARTONEDM邏輯備份與還原邏輯備份邏輯還原DM邏輯備份與還原邏輯備份與還原是對數據庫邏輯組件(如表、視圖和存儲過程等數據庫對象)的備份與還原。可以使用dexp和dimp兩個命令行工具,分別實現對DM數據庫的邏輯備份和邏輯還原。位于DM安裝bin目錄下。邏輯備份還原的目的是保護數據庫的邏輯組件免遭數據丟失或破壞的危險,當遇到數據庫邏輯組件丟失或者遭到破壞時,能夠及時的重構數據庫,還原數據庫的邏輯組件。DM數據庫邏輯備份和邏輯還原都是在聯機方式下完成。即數據庫服務器正常運行過程中進行的導出與導入。邏輯備份dexp工具可以對本地或者遠程數據庫進行數據庫級、用戶級、模式級和表級的邏輯備份。備份的內容非常靈活,可以選擇是否備份索引、數據行和權限,是否忽略各種約束等,在備份前可以指定導出的數據文件目錄,導出的數據文件名,生成日志文件等,記錄備份的過程以供查看。語法如下:dexpPARAMETER=<value>{PARAMETER=<value>}注:PARAMETER:dexp參數。多個參數之間排列順序無影響,參數之間使用空格間隔。<value>:參數取值。在運用dexp工具進行導出時,執行dexphelp可以使用幫助。邏輯備份(續)邏輯備份(主要參數)參數名是否必選描述說明USERID必選用于連接服務器。格式:USER/PWD@SERVER:PORTFILEdexp可選用于指定導出的文件(可包含路徑),可包含多個文件(逗號分隔)。導出時如果不指定,默認為dexp.dmp。FILE和LOG中指定的路徑,優先級高于DIRECTORY;當FILE和LOG不指定路徑時,才使用DIRECTORY指定的路徑;如果三者都沒有指定路徑,使用系統當前路徑。LOG可選用于指定導出的日志文件(可包含路徑),可包含多個文件(逗號分隔)。如果不指定,默認為dexp.log.log。DIRECTORY可選用于指定文件及日志文件路徑,缺省為系統當前路徑。邏輯備份示例示例12-15:全庫導出將用戶名和密碼均為SYSDBA,IP地址為192.168.0.248,端口號為5238的數據庫采用FULL方式完全導出。導出文件名為db_full.dmp,導出的日志文件名為db_full.log,導出文件的路徑為D:\db_bak\dexp。數據文件最大值不超過128M,超過128M拆分為多個文件。操作命令為:dexpUSERID=SYSDBA/SYSDBA@192.168.0.248:5238FILE=dbfull_%U.dmpDIRECTORY=D:\db_bak\dexpLOG=dbfull_%U.logFULL=Yfiles

溫馨提示

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

評論

0/150

提交評論