oracle備份、恢復(fù)_第1頁
oracle備份、恢復(fù)_第2頁
oracle備份、恢復(fù)_第3頁
oracle備份、恢復(fù)_第4頁
oracle備份、恢復(fù)_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、RMAN(備份與恢復(fù)管理器)基本知識RMAN是 ORACLE提供的一個備份與恢復(fù)的工具,可以用來備份和還原數(shù)據(jù)庫文件、 歸檔日志和控制文件。它也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復(fù)。RMAN可以由命令行接口或者 OEM的 Backup Manager GUI 來控制。4.1 基本知識4.1.1 RMAN的組件、概念1  RMAN  主要包括以下組件:Target Database: (目標(biāo)數(shù)據(jù)庫)就是需要  RMAN  對其進(jìn)行備份與恢復(fù)的數(shù)據(jù)庫,RMAN  可以備份數(shù)據(jù)文件,控制文件,歸檔日志,spfile。(注意:RMAN不能用于備份聯(lián)機(jī)日

2、志、初始化參數(shù)文件和口令文件)Server Session:    (服務(wù)器會話)RMAN啟動數(shù)據(jù)庫上的 Oracle服務(wù)器進(jìn)程,將建立一個與目標(biāo)數(shù)據(jù)庫的會話。由目標(biāo)數(shù)據(jù)庫上的服務(wù)器進(jìn)程進(jìn)行備份、還原、恢復(fù)的實際操作。服務(wù)器進(jìn)程RMAN  的服務(wù)進(jìn)程是一個后臺進(jìn)程,用于與 RMAN工具與數(shù)據(jù)庫之間的通信,也用于 RMAN  工具與磁盤/磁帶等  I/O  設(shè)置之間的通信,服務(wù)進(jìn)程負(fù)責(zé)備份與恢復(fù)的所有工作, 在如下情況將產(chǎn)生一個服務(wù)進(jìn)程:     當(dāng)連接到目標(biāo)數(shù)據(jù)庫  

3、;   分配一個新的通道Channel:    (通道)一個通道是 RMAN和目標(biāo)數(shù)據(jù)庫之間的一個連接,"allocate channel"命令在目標(biāo)數(shù)據(jù)庫啟動一個服務(wù)器進(jìn)程,同時必須定義服務(wù)器進(jìn)程執(zhí)行備份或者恢復(fù)操作使用的 I/O類型。通道控制命令可以用來:?      控制 RMAN使用的 O/S資源,影響并行度?      指定 I/O帶寬的限制值(設(shè)置 limit read rate 參數(shù))?  &

4、#160;   定義備份片大小的限制(設(shè)置 limit kbytes)?      指定當(dāng)前打開文件的限制值(設(shè)置 limit maxopenfiles)recovery catalog: (恢復(fù)目錄)用來保存?zhèn)浞菖c恢復(fù)信息的一個數(shù)據(jù)庫,不建議創(chuàng)建在目標(biāo)數(shù)據(jù)庫上。RMAN  利用恢 復(fù)目錄記載的信息去判斷如何執(zhí)行需要的備份恢復(fù)操作。如果不采用恢復(fù)目錄,備份信息可以存在于目標(biāo)數(shù)據(jù)庫的 control file 中。如果存放在目標(biāo)數(shù)據(jù)庫的  control  file  中,控件文件會不斷

5、增長,不能保存  RMAN  的Script。CONTROL_FILE_RECORD_KEEP_TIME  (default=7):控件文件中  RMAN  信息保存最短時間。使用恢復(fù)目錄的優(yōu)勢:  可以存儲腳本,記載較長時間的備份恢復(fù)操作。RMAN Repository:    (RMAN  恢復(fù)目錄數(shù)據(jù)庫)存放 recovery catalog(恢復(fù)目錄)的數(shù)據(jù)庫。建議為恢復(fù)目錄數(shù)據(jù)庫創(chuàng)建一個單獨(dú)的數(shù)據(jù)庫。MML: (媒體管理庫)Media Management Layer (MML)是第三

6、方工具或軟件,用于管理對磁帶的讀寫與文件的 跟蹤管理。如果你想直接通過  RMAN  備份到磁帶上,就必須配置媒體管理層,媒體管理層 的工具如備份軟件可以調(diào)用 RMAN來進(jìn)行備份與恢復(fù)。2概念述語Backup Sets (備份集合)備份集合的特性:包括一個或多個數(shù)據(jù)文件或歸檔日志,以 oracle專有的格式保存,有 一個完全的所有的備份片集合構(gòu)成,構(gòu)成一個完全備份或增量備份。Backup Pieces (備份片)一個備份集由若干個備份片組成。每個備份片是一個單獨(dú)的輸出文件。一個備份片的大 小是有限制的;如果沒有大小的限制,  備份集就只由一個備份片構(gòu)成。備份片的大

7、小不能 大于使用的文件系統(tǒng)所支持的文件長度的最大值。Image Copies 鏡像備份鏡像備份是獨(dú)立文件(數(shù)據(jù)文件、歸檔日志、控制文件)的備份。它很類似操作系統(tǒng)級 的文件備份。它不是備份集或備份片,也沒有被壓縮。Full backup Sets 全備份集合全備份是一個或多個數(shù)據(jù)文件中使用過的數(shù)據(jù)塊的的備份。沒有使用過的數(shù)據(jù)塊是不被備份的,也就是說,oracle  進(jìn)行備份集合的壓縮。Incremental backup sets 增量備份集合增量備份是指備份一個或多個數(shù)據(jù)文件的自從上一次同一級別的或更低級別的備份以來被修改過的數(shù)據(jù)塊。  與完全備份相同,增量備份也進(jìn)行壓縮。

8、File multiplexing多個數(shù)據(jù)文件可以在一個備份集中。Recovery catalog resyncing  恢復(fù)目錄同步使用恢復(fù)管理器執(zhí)行 backup、copy、restore 或者 switch 命令時,恢復(fù)目錄自動進(jìn)行更 新,但是有關(guān)日志與歸檔日志信息沒有自動記入恢復(fù)目錄。需要進(jìn)行目錄同步。使用 resync catalog命令進(jìn)行同步。RMAN> resync catalog;Incarnation  對應(yīng)物在不完全恢復(fù)完成之后,通常需要使用  resetlogs  選項來打開數(shù)據(jù)庫。resetlogs  表示一個

9、數(shù)據(jù)庫邏輯生存期的結(jié)束和另一個數(shù)據(jù)庫邏輯生存期的開始。數(shù)據(jù)庫的邏輯生存期也被稱為 一個對應(yīng)物(incarnation)。每次使用  resetlogs  選項來打開數(shù)據(jù)庫后都會創(chuàng)建一個新的數(shù)據(jù)庫 對應(yīng)物。4.1.2 RMAN的使用:命令行接口與腳本數(shù)據(jù)庫狀態(tài):RMAN恢復(fù)目錄數(shù)據(jù)庫:  必須OPEN目標(biāo)數(shù)據(jù)庫:  根據(jù)不同情況,必須MOUNT或OPEN1.  使用不帶恢復(fù)目錄的 RMAN設(shè)置目標(biāo)數(shù)據(jù)庫的  ORACLE_SID  ,執(zhí)行:$ rman nocatalogRMAN> connect targetRMAN&

10、gt; connect target user/pwd>db2.  使用帶恢復(fù)目錄的RMAN$ rman catalogrman/rmanRMAN> connecttarget    /連接本地數(shù)據(jù)庫作為目標(biāo)數(shù)據(jù)庫RMAN> connecttarget user/pwd>db /連接遠(yuǎn)程數(shù)據(jù)庫或$ rman catalogrman/rman targetuser/pwd>db3.  命令行接口1、單個執(zhí)行RMAN> backup database;2、運(yùn)行一個命令塊RMAN> RUN 2> cop

11、y datafile 10 to3> '/oracle/prod/backup/prod_10.dbf'4> 3、運(yùn)行存儲在恢復(fù)目錄中的腳本:RMAN> RUN    EXECUTE SCRIPT backup_whole_db ;4、運(yùn)行外部腳本:$ rman catalog rman/rman target / backup_db.rman$ rman cmdfile=backup.rman msglog=backup.logRMAN> backup_db.rmanRMAN> RUN  

12、0; backup_db.rman 如果在 cron  中執(zhí)行,注意在腳本中設(shè)置正確的環(huán)境變量,例:#set envexport ORACLE_HOME=/opt/oracle/product/9.2export ORACLE_SID=testexport NLS_LANG="AMERICAN_AMERICA.zhs16gbk"export PATH=$PATH:$ORACLE_HOME/bin rman cmdfile=backup_db.rman4.  使用腳本創(chuàng)建或者取代腳本:RMAN> create script alloc_disk 2&

13、gt; # Allocates one disk3> allocate channel dev1 type disk;4> setlimit channel dev1 kbytes 2097150 maxopenfiles 32 readrate 200;5> RMAN> replace script rel_disk 2> # releases disk3> release channel dev1;5> 刪除腳本:RMAN> DELETE SCRIPT Level0Backup;查看腳本:RMAN> PRINT SCRIPT Level

14、0Backup;運(yùn)行腳本:RMAN> RUN EXECUTE SCRIPT backup_whole_db ;5.  運(yùn)行OS命令RMAN支持通過執(zhí)行 host命令暫時退出 RMAN的命令提示符而進(jìn)入到操作系統(tǒng)的命令環(huán)境。6.  執(zhí)行SQL語句在  RMAN  的命令提示符后輸入  SQL  命令,然后在一對單引號(雙引號亦可)中輸入要執(zhí)行的  SQL  語句,例如:RMAN> SQL 'ALTER SYSTEM CHECKPOINT'對于 SELECT語句,無法得到結(jié)果??梢韵葓?zhí)行 h

15、ost再用 SQLPLUSRMAN 的配置 4.2 RMAN 的配置 4.2.1  建立Recovery Catalog恢復(fù)目錄(1)  在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄所用表空間:SQL> create tablespace rman_ts datafile '/xxx/rman_ts.dbf' size 20M;(2)  在目錄數(shù)據(jù)庫中創(chuàng)建RMAN  用戶并授權(quán):SQL>  create  user  rman  identified  by  rman

16、60; default  tablespace  rman_ts  temporary tablespace temp quota unlimited on rman_ts;SQL> grant connect, resource, recovery_catalog_ownerto rman;(3)  在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄$ rman catalog rman/rmanRMAN> create catalog tablespace rman_ts;(4)  登記目標(biāo)數(shù)據(jù)庫:一個恢復(fù)目錄可以注冊多個目標(biāo)數(shù)據(jù)庫,注冊目標(biāo)數(shù)據(jù)庫的命

17、令為:$ RMAN catalog rman/rman target user/pwd rcdb; RMAN> register database;4.2.2  查看RMAN的默認(rèn)設(shè)置SHOW命令必須連接目標(biāo)數(shù)據(jù)庫RMAN> show allRMAN> show channel;                        &#

18、160;     /  通道分配 RMAN> show device type;    / IO 設(shè)備類型RMAN> show retention policy;               /  保存策略RMAN> show datafile backup copies;     /  多個備份的拷

19、貝數(shù)目 RMAN> show maxsetsize; /  備份集大小的最大值 RMAN> show exclude;    /  不必備份的表空間 RMAN> show backup  optimization;      /  備份的優(yōu)化4.2.3  配置RMAN的默認(rèn)設(shè)置1.  配置備份集文件的格式  (format)RMAN> configure channel device type disk

20、 format'/u05/oracle/rmanback/%U'備份文件可以自定義各種各樣的格式,如下%c  備份片的拷貝數(shù)%d  數(shù)據(jù)庫名稱%D  位于該月中的第幾天  (DD)%M  位于該年中的第幾月  (MM)%F  一個基于  DBID  唯一的名稱,這個格式的形式為  c-IIIIIIIIII-YYYYMMDD-QQ,其中 IIIIIIIIII  為該數(shù)據(jù)庫的 DBID,YYYYMMDD  為日期,QQ  是一個  1-256&

21、#160; 的序列%n  數(shù)據(jù)庫名稱,向右填補(bǔ)到最大八個字符%u  一個八個字符的名稱代表備份集與創(chuàng)建時間%p  該備份集中的備份片號,從 1  開始到創(chuàng)建的文件數(shù)%U  一個唯一的文件名,代表%u_%p_%c%s  備份集的號%t  備份集時間戳%T  年月日格式(YYYYMMDD)2.  配置默認(rèn) IO設(shè)備類型         ( device type )IO  設(shè)備類型可以是磁盤或者磁帶,在默認(rèn)的情況下是磁盤

22、,可以通過如下的命令 進(jìn)行重新配置。RMAN> configure default device t ype to disk; RMAN> configure default device t ype to sbt;注意,如果換了一種 IO  設(shè)備,相應(yīng)的配置也需要做修改,如RMAN> configure device type sbt parallelism 2;3.  配置自動分配的通道    ( Chanel )RMAN> configure channel device type disk format'

23、/U01/ORACLE/BACKUP/%U在運(yùn)行塊中,手工指定通道分配,這樣的話,將取代默認(rèn)的通道分配。RMAN> Run allocate channel cq type disk format='/u01/backup/%u.bak'通道的一些特性:讀的速率限制Allocate channel rate = integer 最大備份片大小限制  Allocate channel maxpiecesize = integer 最大并發(fā)打開文件數(shù)(默認(rèn) 16)  Allocate channel maxopenfile = integer4. 

24、; 配置默認(rèn)的保存策略  ( Retention Policy)保存策略是管理備份與副本有效期或者是否有效的一種方法?;謴?fù)數(shù)據(jù)庫的時候Oracle  不 考 慮 失效 的 備 份。我 們可 以 定 義 兩 種 保存 策 略: 恢復(fù)窗口備份保存策略(recovery window  backup  retention policy  )和冗余備份保存策略(redundancy backup retention policy  )備份策略保持分為兩個保持策略: 一個是時間策略,決定至少有一個備份能恢復(fù)到指定的日期 一個冗余策略,規(guī)定至少有

25、幾個冗余的備份。 恢復(fù)窗口備份保存策略,這種保存策略類型的使用基于數(shù)據(jù)庫可能恢復(fù)到的最早的日期。  例如,假設(shè)今天是星期一,此前存在 3 個備份。第一個備份在昨天生成的,第二個備份是上星期四生 成的,而最后一個備份是  10  天前備份的。假如恢復(fù)窗口是  7  天,那么昨天和上星期 四的備份是有效備份,而  10  天前的備份會成為廢棄備份。下面的命令將恢復(fù)窗口配置為 7 天:RMAN> configure retention policy to recovery window of 7 days

26、;冗余備份保存策略使用這種保存策略,RMAN會從最新備份開是保留N個數(shù)據(jù)備份,其余的廢棄。 例如,如果有四個備份,而冗余數(shù)是 3,那么最早的那個備份將被廢棄。下面的命令將 備份策略設(shè)置為  3:RMAN> configure retention policy to redundancy3;設(shè)置 NONE可以把使備份保持策略失效,Clear  將恢復(fù)默認(rèn)的保持策略RMAN> configure retention policy to none;例:保證至少有一個備份能恢復(fù)到Sysdate-5的時間點(diǎn)上,之前的備份將標(biāo)記為ObsoleteRMAN>

27、configure retention policy to recovery window of 5 days;至少需要有三個冗余的備份存在,如果多余三個備份以上的備份將標(biāo)記為冗余RMAN> configure retention policy to redundancy 5;5.  配置多個備份的拷貝數(shù)目( backup copies )如果覺得單個備份集不放心,可以設(shè)置多個備份集的拷貝,如: RMAN> configure datafile backup copies for device type disk to 2; RMAN> configure arch

28、ivelog backup copies for device type disk to 2;如果指定了多個拷貝,可以在通道配置或者備份配置中指定多個拷貝地點(diǎn):RMAN> configure channel device type disk format'/u01/backup/%U', '/u02/backup/%U'RMAN> backup datafile n format '/u01/backup/%U', '/u02/backup/%U'6.  設(shè)置并行備份( ARALLELISM )RMAN支持并

29、行備份與恢復(fù),也可以在配置中指定默認(rèn)的并行程度。如:RMAN> configure device type disk parallelism 4;指定在以后的備份與恢復(fù)中,將采用并行度為 4,同時開啟 4個通道進(jìn)行備份與恢 復(fù),當(dāng)然也可以在 RUN的運(yùn)行塊中手工分配多個通道來決定備份與恢復(fù)的并行程度。 并行的數(shù)目決定了開啟通道的個數(shù)。如果指定了通道配置,將采用指定的通道,如果沒有指定通道,將采用默認(rèn)通道配置。還可以在 BACKUP命令中使用指定 FILESPERSET 或者指定(datafile  1,4,5  channel c1 tag=DF1)(datafile

30、 2,3,6 channel c2 tag=DF2)7.  設(shè)置控制文件自動備份  (autobackup on)通過如下的命令,可以設(shè)置控制文件的自動備份RMAN> configure controlfile autobackup on;對于沒有恢復(fù)目錄的備份策略來說,這個特性是特別有效的,控制文件的自動備份發(fā)生在任何 backup  或者 copy  命令之后,或者任何數(shù)據(jù)庫的結(jié)構(gòu)改變之后可以用如下的配置指定控制文件的備份路徑與格式RMAN> configure controlfile autobackup format for type

31、 disk to '%f'在備份期間,將產(chǎn)生一個控制文件的快照,用于控制文件的讀一致性,如下配置:RMAN> configure snapshot controlfile name to'/u01/app/oracle/product/9.0.2/dbs/snapcf_U02.f'8.  設(shè)置備份優(yōu)化選項  ( optimization )可以在配置中設(shè)置備份的優(yōu)化,如RMAN> configure backup optimization on;如果優(yōu)化設(shè)置打開,將對備份的數(shù)據(jù)文件、歸檔日志或備份集運(yùn)行一個優(yōu)化算法。4.2.4 R

32、MAN  會話的設(shè)置set  命令與  configure  命令很相似,但是  set  命令設(shè)置不是永久的。set  命令定義只應(yīng)用于當(dāng)前 RMAN會話的設(shè)置??梢杂糜?RUN代碼之外的命令有:set echo on | off             /  顯示或關(guān)閉  RMAN顯示set DBID dbidn      

33、      /  指定一個數(shù)據(jù)庫的數(shù)據(jù)庫標(biāo)識符。下面的 set 命令只能在 RUN代碼中使用:set newname:用于  TSPITR  或者數(shù)據(jù)庫復(fù)制操作,指定新的數(shù)據(jù)庫文件名,將數(shù)據(jù)庫移動到新的系統(tǒng)中并且文件名不同的時候可以用此命令。set maxcorrupt for datafile:用于定義  RMAN操作失敗之前允許的數(shù)據(jù)塊訛誤的數(shù)量set archivelog destination:可以修改存儲歸檔的重做日志  archive_log_dest_1 的目的地。set 

34、; 命令和  until  子句:可以定義數(shù)據(jù)庫時間點(diǎn)恢復(fù)操作所使用的具體的時間點(diǎn)、SCN  或者日志序列號,例:set until time "to_date('2005/08/01 13:00:00','yyyy/mm/dd hh24:mi:ss')"set backup copies:使用該命令可以定義為備份集的每個備份片創(chuàng)建的鏡像副本數(shù)。例:RMAN> RUNset maxcorrupt for datafile 3 to 10;set backup copies = 2;backup databa

35、se;Copy 鏡像拷貝與恢復(fù) 4.3 Copy 鏡像拷貝與恢復(fù) Copy鏡像拷貝命令可以創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)文件、歸檔重做日志或者控制文件的精確副本。 RMAN  副本與這些文件的區(qū)別僅在于名稱和(或)位置的區(qū)別。功能相當(dāng)于用戶管理的備 份恢復(fù)中的熱備份。備份副本的好處是恢復(fù)比較快,恢復(fù)時可以不用拷貝,指定新位置即可。Copy鏡像拷貝至少要在  mount  狀態(tài)下運(yùn)行。Copy鏡像拷貝可作為增量備份的  Level 0Oracle10g開始,允許使用單條命令"backup as copy"進(jìn)行數(shù)據(jù)庫拷貝。4.3.1 

36、 備份生成數(shù)據(jù)文件副本:RMAN> copy datafile 3 to 'd:backupdatafilecopyusers01.dbf.bak'RMAN> copy datafile 'd:oracleoradataora9iusers01.dbf' to'd:backupdatafilecopyusers01.dbf.bak'生成控制文件副本:RMAN> copy current controlfile to ;RMAN> CONFIGURE CONTROLFILE AUTOBACKUP is ON;備份 ARCHI

37、VELOG  副本:/  只能一個一個的來備份,而不能指定一個范圍RMAN> copy archivelog 'd:oracleoradataarcming_351.arc' to'd:oracleorabackuparcming_351.arc'并行設(shè)置:1. RMAN> configure device type . parallelism = 3;/only 2 channel, one for writting data to disk2.  手工分配多個通道3.  在命令中指定多個文件RMAN>

38、 copy datafile 'xx' to 'xx2', datafile 'yy' to 'yy2', .;塊檢查:CHECK LOGICAL  選項 MAXCORRUPT參數(shù) V$COPY_CORRUPTION在復(fù)制操作中,Oracle 服務(wù)器進(jìn)程對每個塊執(zhí)行校驗和計算以檢測是否有塊損壞。 RMAN在還原副本時也要核對校驗和 。該過程稱為物理損壞檢測 。可以使用 NOCHECKSUM  選項取消校驗和操作,從而加快復(fù)制進(jìn)程。如果數(shù)據(jù)庫已在維護(hù)塊校驗和,則此選項無效。缺省情況下,禁用邏輯損壞的錯誤檢查。可以

39、使用  CHECK LOGICAL  選項測試通過了物理損壞檢查的數(shù)據(jù)和索引塊,查看 它們是否存在邏輯損壞,如行片或索引條目損壞。如果檢測到任何塊存在邏輯損壞,則將該塊記錄到服務(wù)器進(jìn)程的警報日志和跟蹤文件中??梢允褂?#160; MAXCORRUPT  參數(shù)設(shè)置邏輯和物理損壞的閾值。只要在某個文件中檢 測到的邏輯和物理損壞總和低于該值,則  RMAN  命令完成,同時  Oracle 將損壞塊的 范圍植入到  V$COPY_CORRUPTION  視圖。如果超出  MAXCORRUPT,則該命令終 止,并

40、且不植入視圖。  當(dāng)并行度比較高時,占用的計算機(jī)資源較多,但備份操作完成 速度較快。缺省情況下將啟用對物理損壞的錯誤檢查。有關(guān)在備份過程中遇到的損壞數(shù) 據(jù)文件塊的信息將記錄在控制文件和警報日志中。4.3.2  恢復(fù)查看所有的 Copy鏡像拷貝:RMAN> list copy;數(shù)據(jù)文件副本還原:還原時可以 offline 數(shù)據(jù)文件所屬表空間,然后利用 OS拷貝命令恢復(fù)副本。還可以用  restore  (datafile  num)  from  datafilecopy  命令來從數(shù)據(jù)文件副本中還原數(shù) 據(jù)文件

41、,然后再用  recover  命令來恢復(fù)。例如:RMAN> sql "alter database datafile 5 offline" RMAN> restore (datafile 5) from datafilecopy;RMAN> recover datafile 5;RMAN> sql "alter database datafile 5 online"注意,上面的圓括號很重要,如果沒有,restore 命令就會執(zhí)行失敗Backup 備份與恢復(fù)  4.4 Backup 備份與恢

42、復(fù) Backup  備份命令生成 Backup sets (備份集合),以 oracle 專有的格式保存,由一個完全的所有的備份片集合構(gòu)成,構(gòu)成一個完全備份或增量備份。4.4.1 BACKUP  備份命令選項設(shè)置標(biāo)記(TAG)RMAN> backup database tag='test backup'限制備份集大小RMAN> backup database maxsetsize=100M;只備份新增部分RMAN> backup incremental level 0 database;備份控制文件  

43、0; 同時備份SPFILERMAN> backup current controlfile;RMAN> configure controlfile autobackup on;    /  默認(rèn)是 off也可以在備份數(shù)據(jù)庫或者文件的時候加上 include current controlfile 選項。例如:RMAN> backup database include current controlfile;備份時如果包含了 SYSTEM表空間,將自動備份控件文件和 SPFILE RMAN> backup file 1;使用自動備份

44、進(jìn)行恢復(fù):RMAN> restore spfile/controlfile to '/xx/xx' from autobackup;備份歸檔日志(9i)RMAN> backup archivelog all;RMAN> backup . plus archivelog; /  在備份其他時同時備份歸檔日志plus archivelog 隱含如下步驟:?      運(yùn)行一個 ALTER SYSTEM ARCHIVELOG CURRENT 命令?     

45、 運(yùn)行  BACKUP  ARCHIVELOG  ALL  命令。注意如果備份優(yōu)化被啟用,RMAN只會備份未備份過的日志?      備份 BACKUP命令中定義的文件?      運(yùn)行 ALTER SYSTEM ARCHIVE LOG CURRENT 命令?      備份所有的剩下的歸檔日志備份完后刪除歸檔日志RMAN> backup . ARCHIVELOG all delete all inp

46、ut;修改備份集的保存策略例如:將備份設(shè)置為永久有效RMAN> backup database keep forever logs|nologs;設(shè)置為有效期  180  天RMAN> backup database keep until time='sysdate+180'重寫configure exclude / noexclude通過  configure  exclude 可以配置  RMAN  不備份上次備份以來沒有發(fā)生變化的數(shù)據(jù)文件。如果要確保 RMAN備份這些數(shù)據(jù)文件,可以在 backup命令

47、中添加  noexclude  選項。 例如:RMAN> backup database noexclude;跳過脫機(jī)的、不可存取的或者只讀的數(shù)據(jù)文件RMAN> backup database skip offline skipinaccessible skipreadonly;強(qiáng)制備份只讀的數(shù)據(jù)文件RMAN> backup database force;備份指定周期內(nèi)沒有備份的數(shù)據(jù)文件RMAN> backup database not backed up;RMAN> backup database not backed up since ti

48、me='sysdate-2'在備份操作期間檢查邏輯訛誤RMAN> backup check logical database;    /在檢查邏輯錯誤的同時進(jìn)行備份RMAN> backup validate check logical database;    /只檢查建立壓縮備份集RMAN> backup as compressed backupset tablespace usersFORMAT='D:BACKUP%d_%s.dbf'4.4.2 RESTORE/RECOVER恢復(fù)命

49、令選項數(shù)據(jù)庫恢復(fù)RMAN> restore/revover database ;表空間恢復(fù)RMAN> restore/revover tablespace xx ;只讀表空間的恢復(fù)默認(rèn)情況下,即使丟失了只讀的數(shù)據(jù)文件,RMAN  也不會在執(zhí)行完全數(shù)據(jù)庫還原 操作時候還原只讀的數(shù)據(jù)文件。要在完全恢復(fù)期間還原只讀的數(shù)據(jù)文件,就必須在RESTORE 命令中使用 CHECK READONLY 參數(shù):RMAN> RESTORE DATABASE CHECK READONLY;恢復(fù)SPFILE/控制文件使用自動備份恢復(fù) SPFILE/控制文件RMAN> startup n

50、omount; RMAN> set dbid=153910023RMAN> restore controlfile from autobackupRMAN> restore spfile/controlfile to '/xx/xx' from autobackup ;或RMAN> restore controlfile from'/arch/ct_c-2347671489-20060630-00'聯(lián)機(jī)狀態(tài):目標(biāo)數(shù)據(jù)庫 MOUNT 或 OPENRMAN> restore controlfile to 'd:tempcontr

51、ol01.ctl'歸檔重做日志的還原RMAN> RESTORE ARCHIVELOG ALL;RMAN> RESTORE ARCHIVELOG FROM LOGSEQ=1 UNTIL LOGSEQ=20;RMAN> RESTORE ARCHIVELOG FROM LOGSEQ=1;也可以用  SET命令來指定歸檔日志的還原位置,例如:RMAN> runset archivelog destination to "d:temp"restore archivelog all;數(shù)據(jù)文件副本還原RMAN> sql "alte

52、r datafile 5 offline"RMAN> restore (datafile 5) from datafilecopy; RMAN> recover datafile 5;RMAN> sql "alter datafile 5 online"請注意,上面的圓括號很重要還原檢查與恢復(fù)測試與備份檢查一樣,還原操作也可以檢查是否能正常  restore  或者是否該備份集是否有效。如:RMAN> RESTORE DATABASE VALIDATE;RMAN>VALIDATEB ACKUPSET 218;RMA

53、N> RESTORE DATABASE VALIDATE CHECK LOGICAL ;從指定的  tag  恢復(fù):RMAN> RESTORE FROM tag=xxxx;不完全恢復(fù)的還原:1set until time/SCN/2RMAN> restore database until scn 1000;RMAN>restore database "to_date('2005/08/01 13:00:00','yyyy/mm/dd hh24:mi:ss')" RMAN> restore da

54、tabase until sequence 100 thread 1;塊級別的恢復(fù)塊恢復(fù) Block Media Recovery (BMR),塊是恢復(fù)的最小單元,通過塊可以減少恢復(fù) 時間,而且數(shù)據(jù)文件可以在線。恢復(fù)塊的時候,必須指定具體的塊號,如:RMAN> blockrecoverdatafile 6 block 3;具體請見  4.7.4  塊媒體恢復(fù)  Block Media Recovery (BMR)4.4.3  非歸檔模式下的  BACKUP  備份與恢復(fù)恢復(fù)目錄:    打開目標(biāo)數(shù)據(jù)

55、庫:例程啟動,數(shù)據(jù)庫加載,mount  不能 open因為目標(biāo)數(shù)據(jù)庫不在歸檔模式下,所以當(dāng)進(jìn)行備份/恢復(fù)操作的時候數(shù)據(jù)庫無法打開。目標(biāo)數(shù)據(jù)庫只能在  MOUNT 狀態(tài)不能 Open,所以屬于脫機(jī)備份。非歸檔模式不備份 redo日志,只有完全備份和 readonly/offline表空間和數(shù)據(jù)文件 備份是有意義的,所以非歸檔模式最好不用 RMAN進(jìn)行備份,備份語法與歸檔模式相 同,所以這里只做簡單介紹。4.4.3.1  全庫備份例:  使用默認(rèn)的設(shè)置脫機(jī)全備份的語句RMAN> shutdown immediate;RMAN> startup m

56、ount;RMAN> backup database;RMAN> startup;例:不使用默認(rèn)的設(shè)置執(zhí)行脫機(jī)備份操作  ,在備份命令中指定備份選項RMAN> shutdown immediate;RMAN> startup mount;RMAN> run allocate channel c1 type disk format '/xxx/ming_%U'allocate channel c2 type disk format '/xxx/ming_%U'backup full tag full_db_backup fo

57、rmat "/backups/db_t%t_s%s_p%p" (database);backup current controlfile;release channel c1 ;release channel c2 ;在這個例子中,我們分配了兩個通道,備份位置是在/xxx。默認(rèn)情況下,如果備份數(shù)據(jù)文件 1 (SYSTEM  表空間),控制文件和參數(shù)文件也會備份。 可以通過下面的命令顯示恢復(fù)目錄中記載的備份集信息:RMAN> list backupset of database;4.4.3.2  全庫備份的恢復(fù)$ rman target /RMAN&

58、gt; startup mountRMAN> restore database;RMAN> recover database;RMAN> alter database open resetlogs;4.4.3.3  表空間備份只有 readonly/offline表空間的備份才有意義。RMAN> run 2> allocate channel dev1 type disk;3> backup4> tag tbs_users_read_only5> format "/oracle/backups/tbs_users_t%t_s%

59、s"6> (tablespace users);7> 使用下列命令來顯示恢復(fù)目錄中該表的備份信息:RMAN> list backupset of tablespace users;4.4.3.4  表空間備份的恢復(fù)RMAN> RUNsql "alter tablespace xx offline immediate;"restore tablespace xx;recover tablespace xx;sql "alter tablespace xx online;"4.4.3.5  備份控制文件R

60、MAN> run 2> allocate channel dev1 type "SBT_TAPE"3> backup4> format "cf_t%t_s%s_p%p"5> tag cf_monday_night6> (current controlfile);7> release channel dev1;8> 注:數(shù)據(jù)庫完全備份將自動備份控制文件。(或者備份時加 include current controlfile)4.4.4  歸檔模式下的BACKUP備份與完全恢復(fù)要用  RMA

61、N  進(jìn)行聯(lián)機(jī)備份操作,數(shù)據(jù)庫就必須位于  ARCHIVELOG  模式。恢復(fù) 目錄必須打開,目標(biāo)數(shù)據(jù)庫例程必須啟動,數(shù)據(jù)庫加載或者打開。這部分只介紹完全恢復(fù),不完全恢復(fù)見下一節(jié)。4.4.4.1  整庫備份與恢復(fù)備份命令:只備份數(shù)據(jù)文件  (如果 configure controlfile autobackup  on;  將自動包括控件文件,SPFILE):RMAN> backup database;同時備份歸檔日志,然后將備份后的歸檔日志刪除RMAN> backup database plus archive

62、log delete input;明確指定同時備份控件文件:RMAN> runallocate channel c1 type disk;sql 'alter system archive log current'backup full database include current controlfile tag 'dbfull'format '/u06/oracle/rmanback/full_%u_%s_%p'sql 'alter system archive log current'release channel

63、c1;可以用 RMAN的 plus archvielog 選項簡化數(shù)據(jù)庫備份:RMAN> run 2> backup database3> format '/xxfull%d_%T_%s'4> plus archivelog5> format '/xx/arch_%d_%T_%s'6> delete all input;7> 完全恢復(fù):目標(biāo)數(shù)據(jù)庫必須是 mount狀態(tài)$ rman target /RMAN> startup mountRMAN> restore database;RMAN> recove

64、r database;RMAN> alter database open;4.4.4.3  表空間的備份與恢復(fù)備份命令:RMAN> backup tablespace users ;例:RMAN> RUNallocate channel c1 type disk;backup tablespace users tag 'ts_users' format '/oracle/rmanback/ts_%u_%s_%p' ;release channel c1;恢復(fù):如果我們只丟失了特定的表空間的數(shù)據(jù)文件,那么我們可以選擇只恢復(fù)這個表空間,而

65、 不是恢復(fù)整個數(shù)據(jù)庫。表空間恢復(fù)可以在不關(guān)閉數(shù)據(jù)庫的情況下進(jìn)行,只需要將需要恢復(fù)的 表空間 offline。RMAN> RUNsql "alter tablespace xx offline immediate;"restore tablespace xx;recover tablespace xx;sql "alter tablespace xx online;"恢復(fù)到一個不同的位置:RMAN> RUNsql "alter tablespace xx offline immediate;"SET NEWNAME for

66、datafile 1 to '/xx'restore tablespace xx;switch datafile 1;recover tablespace xx;sql "alter tablespace tbs1 online;"4.4.4.3  數(shù)據(jù)文件的備份與恢復(fù)備份命令:RMAN> backup datafile 3;RMAN> backup datafile 'D:ORAC LEORADATATESTTEST.DB'恢復(fù)命令:數(shù) 據(jù)文件 恢復(fù)與表 空間恢 復(fù)類 似 。假設(shè)數(shù) 據(jù)文件 號 為  5  的文件丟 失 ,文 件名 是:'E:ORACLEORADATAUSERS.DBF',  那么我們恢復(fù)的時候可以指定文件號,也可以指定文件名。RMAN> run 2> allocate channel dev

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論