免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
RMAN 系列(四) ---- RMAN 備份 5
RMAN 系列(四) ---- RMAN 備份 收藏
一. RMAN 備份的一些優(yōu)點
1. RMAN 會檢測和報告損壞的數(shù)據(jù)塊。
2. 不需要將表空間置入熱備份模式,RMAN 就可以連接備份數(shù)據(jù)庫。 熱備份期間會額外的生成重做日志。
3. RMAN 會自動跟蹤新的數(shù)據(jù)文件和表空間,這樣就不再需要在腳本中添加新的表空間和數(shù)據(jù)文件。
4. RMAN 只備份使用過的數(shù)據(jù)庫(直至最高使用標記(High wate mark)),這樣RMAN 備份映像通常小于聯(lián)機備份的備份腳本。
5. RMAN 提供備份映像的實際壓縮。
6. RMAN 提供自動且方便的備份,還原和恢復操作。 RMAN 跟蹤恢復數(shù)據(jù)庫所需要的所有備份,在要求還原操作時需要使用這些備份,并且只還原必要的對象。
7. RMAN 可以與第三方介質管理產(chǎn)品一起無縫的工作。
8. RMAN 支持增量備份策略。
9. 可以使用RMAN 來測試備份而不要實際還原他們。

二. RMAN 兼容性問題
在啟動備份操作之前,需要考慮一些兼容性問題。在一個企業(yè)中,可能會運行不同的Oracle 版本,因此我們在設計備份策略時必須考慮RMAN 的兼容性問題。
原因可以參考: RMAN 系列(一)---- RMAN 體系結構概述

下表是Oracle 兼容性的一個參照表:
RMAN 目標數(shù)據(jù)庫版本
(應用補?。?br> RMAN 客戶端版本
(應用補?。?br> RMAN 目錄數(shù)據(jù)庫版本
(應用補?。?br> RMAN 目錄模式版本
(應用補丁)
 
9.0.1
 9.0.1
 >=8.1.7
 >=RMAN 客戶端
 
9.2.0
 >=9.0.1.3 并且<= 目錄數(shù)據(jù)庫可執(zhí)行文件版本
 >=8.1.7
 >=RMAN 客戶端
 
10.1.0
 >=9.0.1.3 并且<=目錄數(shù)據(jù)庫可執(zhí)行文件版本
 >=9.0.1
 >=RMAN 客戶端
 
10.2.0
 >=9.0.1.3 并且<=目錄數(shù)據(jù)庫可執(zhí)行文件版本
 >=9.0.1
 >=RMAN 客戶端
 

表中的 目錄模式版本 可以從RCVER 表中查看:
SQL> conn rman/rman@orcl; -- 用catalog 用戶登錄
已連接。
SQL> select * from rcver;

VERSION
------------
11.02.00.01

三. 監(jiān)控RMAN 備份情況
RMAN 在備份期間產(chǎn)生輸出,如果在啟動RMAN 時啟用登錄,則取消該輸出??梢酝ㄟ^查看生成的日志文件來監(jiān)控RMAN 操作,或者通過V$RMAN_OUTPUT 視圖來查看。

SQL> conn /@orcl as sysdba;
已連接。
SQL> select output from v$rman_output order by stamp;

四. 脫機RMAN 數(shù)據(jù)庫備份

4.1 使用默認的設置執(zhí)行備份操作:
RMAN 會有一些參數(shù)有默認值,在沒有更改這些參數(shù)的情況下,我們也可以進行備份。 此時備份集將會備份到閃回區(qū)中。我們可以用catalog 模式或者是非catalog 模式來連接RMAN。 如果采用catalog 模式,只需在連接的時候加上catalog 參數(shù)即可。 不過要注意的是,一般建議在服務器本地直接連接RMAN,然后通過網(wǎng)絡連接來連接catalog目錄。
執(zhí)行脫機備份操作時,數(shù)據(jù)庫必須處于mount 狀態(tài)。 一些命令如下:

Shutdown immediate
Startup mount
Backup database
或者
Backup as compressed backupset database  -- 將數(shù)據(jù)庫作為壓縮的備份集來備份
 
C:\Users\Administrator.DavidDai>rman target '/@orcl as sysdba';
恢復管理器: Release 11.2.0.1.0 - Production on 星期一 6月 21 23:24:47 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
連接到目標數(shù)據(jù)庫: ORCL (DBID=1247395743)
RMAN>
C:\Users\Administrator.DavidDai>rman target '/@orcl as sysdba' catalog 'rman/rman@orcl';
恢復管理器: Release 11.2.0.1.0 - Production on 星期一 6月 21 23:25:24 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
連接到目標數(shù)據(jù)庫: ORCL (DBID=1247395743)
連接到恢復目錄數(shù)據(jù)庫
RMAN>
 
4.2 不使用默認參數(shù)執(zhí)行脫機備份操作
先來看一段腳本:
Shutdown immediate
Startup mount
Run
{
Allocate channel c1 device type disk format 'D:\backup\sid_%U';
Allocate channel c2 device type disk format 'E:\backup\sid_%U';
Backup as compressed backupset database;
Backup current controlfile;
}

相關說明如下:
4.2.1 將數(shù)據(jù)庫啟動到mount 模式
在前面也說了,脫機備份,數(shù)據(jù)庫必須啟動到mount 狀態(tài)。

4.2.2 運行Oracle
執(zhí)行run 代碼塊。 在完整的語句塊輸入之前,Oracle 不會運行任何語句。

4.2.3 分配通道
先看一下 備份集 和 備份片。 通常情況下,每次創(chuàng)建一個通道時,都會創(chuàng)建一個或者多個備份集。
備份集(backup set): 邏輯實體,我們會為每個定義的通道創(chuàng)建一個或多個備份集(通常為每個通道創(chuàng)建一個備份集)。
備份片(backup piece):駐留備份數(shù)據(jù)的實際物理文件。 每個備份集可以關聯(lián)一個或多個備份片。

可以使用backup 命令(或配置一個默認值)來控制整個備份集的大小,也可以使用allocate channel 命令(或在配置默認通道時配置一個默認值)來控制整個備份片的大小。
Allocate channel 命令定義給定通道(進而是一個備份集)所分配到的設備。設備可以是磁盤(type disk),也可以是磁帶驅動器(type sbt)。如果為磁帶系統(tǒng)分配通道,可能要在這條命令中加入MML 供應商所要求的特定參數(shù)設置。 比如Veritas Netbackup 為磁帶分配通道的allocate channel 命令:
Allocate channel t1 type sbt parms='ENV=(NB_ORA_CLASS=RMAN_DB01');

執(zhí)行這條命令可以為磁帶分配一個通道。 為備份分配完兩個通道后,RMAN 會在這兩個通道間自動并行處理備份流。 由于分配了兩個通道,因此會創(chuàng)建兩個備份集,并且每個備份集擁有一個備份片。 備份片的大小按字節(jié)計算,不過也可以根據(jù)需要使用K,M或者G 占位符來分來表示。 如:
Allocate channel t1 type disk maxpiecesize=100M;
在這個示例中,我們限定了通道t1 通道創(chuàng)建備份集中每個備份片的大小不能超過100M。 這樣能夠最好的保證所創(chuàng)建的單個備份片大小不會超出磁帶或者文件系統(tǒng)的處理范圍。

Allocate channel t1 type disk maxpiecesize=100M format='D:\backup\sid_%U.bak';
在這個示例中,使用了format參數(shù)來定義備份片被放入磁盤的位置以及備份片的命名約定。 這里的%U 是格式占位符,以確保備份片名稱的唯一性。
關于占位符的更多信息,參考 blog:
RMAN 系列(二) ---- RMAN 設置和配置

4.2.4 備份操作
在示例代碼中,分配通道之后,就使用backup 命令來備份數(shù)據(jù)庫。 執(zhí)行backup database 命令的結果是RMAN開始使用所創(chuàng)建的兩個通道備份數(shù)據(jù)庫。
默認情況下,如果只備份數(shù)據(jù)文件,backup 命令也會備份控制文件和服務器的參數(shù)文件(spfile)。 在這種情況下,控制文件備份的存儲位置取決于controlfile autobackup 參數(shù)的設置。 如果controlfile autobackup 參數(shù)被設置為off,控制文件和服務器參數(shù)會被包含在數(shù)據(jù)庫備份集中;如果controlfile autobackup 參數(shù)被設置為on,控制文件和服務器參數(shù)文件就會生成一個獨立的控制文件備份。 可以在backup database 命令中加入include current controlfile 子句,迫使RMAN 將控制文件放入數(shù)據(jù)庫備份集。 最好是單獨備份控制文件,以確保備份的是當前的控制文件。

五. Backup 命令選項

5.1 壓縮
默認情況下,RMAN 執(zhí)行NULL 數(shù)據(jù)塊壓縮。

5.1.1 NULL 控制壓縮
使用這種形式的壓縮時,Oracle不會備份未使用的數(shù)據(jù)塊。 執(zhí)行NULL 數(shù)據(jù)塊壓縮的情形有一下兩種情況:
(1)從未使用過的數(shù)據(jù)塊不被壓縮
(2)在給定的特定標準下,使用過一次的數(shù)據(jù)塊也不被備份。
在第一種情況下,將不會備份其中一直沒有數(shù)據(jù)的所有數(shù)據(jù)塊,在第二種情況下,如果數(shù)據(jù)庫和關聯(lián)的數(shù)據(jù)庫滿足某種標準,空塊將不被備份,即使它在某個時刻包含數(shù)據(jù)。 下面是允許RMAN 不備份這些數(shù)據(jù)塊所必須滿足的條件:
(1) 將兼容參數(shù)設置為10.2
(2) 沒有為數(shù)據(jù)庫定義任何有保證的還原點。
(3) 本地管理數(shù)據(jù)文件
(4) 備份是備份集,并且完全備份或者零級增量備份。
(5) 備份集在磁盤上創(chuàng)建。
如果滿足上述條件,Oracle 將不會備份任何未使用的塊,并且備份將因此占用磁盤或磁帶上較少的空間。

5.1.2 RMAN 備份壓縮
RMAN 可以將壓縮算法應用于備份集,從而減小RMAN 創(chuàng)建的備份集的大小。 RMAN 壓縮可以在很大程度上減小備份集的大小。 有時,壓縮可能非常有效。如在測試數(shù)據(jù)庫中,當使用壓縮備份時,備份集映像的大小可以減小70%。如果沒有配置數(shù)據(jù)庫自動壓縮備份集,可以使用 as compressed backupset 參數(shù)來創(chuàng)建壓縮備份集。 如果已經(jīng)配置了壓縮并且不希望在給定的backup 命令中使用壓縮,則只需使用backup as backupset 參數(shù)即可。

5.2 標記
可以為Oracle中的每個備份指派一個標記(tag)。標記可應用于完全備份,表空間備份,數(shù)據(jù)文件備份,增量備份甚至備份副本。 示例如下:
Backup database tag='TEST';

需要注意的是:使用了tag 參數(shù)來標記這個完全備份。每個標記都應當是唯一的,如果沒有指定一個命名約定,RMAN 就會使用默認約定為每個備份集分配一個標記。 相同的標記可以應用與多個備份,并且默認情況下只還原最新的備份。

5.3 限定備份的影響
為了幫助減少RMAN備份對其他進程的整體I/0影響,RMAN提供了backup命令的duration 參數(shù)。 Duration 參數(shù)類似與鬧鐘,如果備份運行時間超過指定的持續(xù)時間,RMAN將取消備份。 如:
Backup duration 00:30 database;

注意事項: 不可以使用backup database plus archivelog命令。 Duration 參數(shù)也可以用來抑制備份。 當定義持續(xù)時間時,可以讓RMAN 使以下因素之一最小化:
(1)備份運行時間
(2)備份使用的I/0 負載
如果嘗試最小化備份運行時間,RMAN 將預先全速備份。 這是默認設置。 使用默認的minimize time 參數(shù)的另一個特性是,RMAN 將區(qū)分備份的數(shù)據(jù)文件的優(yōu)先級。 最近備份的數(shù)據(jù)文件具有較低的優(yōu)先級,而較早備份的數(shù)據(jù)文件具有較高的優(yōu)先級。
也可以讓RMAN 嘗試將備份的I/O 操作分布到持續(xù)時間內(nèi)的各個時間點上,從而消除備份對系統(tǒng)的整體影響。
Backup duration 00:30 minimize time database;
Backup duration 00:30 minimize time database;
使用duration 參數(shù),可以指示RMAN如何處理超出backup duration時間限制的備份。 當使用partial 參數(shù)時,如果備份因為超出duration 參數(shù)的持續(xù)時間而終止,RMAN 不會將其作為失敗的備份進行處理。 因此,任何run 代碼塊中的剩余命令將繼續(xù)執(zhí)行。 因此,如果接下來還有backup 命令,例如歸檔的重做日志備份,使用這個參數(shù)就會很方便。  無論partial 參數(shù)的設置是什么,機制整個備份過程沒有完成,Oracle 也會將成功完成的備份集認為是可用的。

5.4 限定備份集大小
Backup database maxsetsize=50m tag='TEST';
在這個示例中,我們設定備份集的大小不超過50mb。 如果磁帶的大小有限制,或者磁盤只能處理一定大小的數(shù)據(jù)文件,是哦那個這個參數(shù)就非常方便。 Oracle 將備份分成多個備份集,每個備份集都不會超出所定義的maxsetsize參數(shù)值。
但是maxsetsize 參數(shù)限制了單個備份集的總大小。 因此,如果備份集中的數(shù)據(jù)文件大小超過了定義的限定范圍,備份操作就會失敗。因此使用該參數(shù)要特別小心。
有時,也可以使用allocate channel 命令的maxpiecesize 參數(shù)來完成這個操作。 也可用configure 命令創(chuàng)建備份集大小的默認限定值和備份大小的限定值。

5.5 修改備份集的保存策略
我們可以使用keep 參數(shù)來重寫默認的保存策略。

RMAN 系列(二) ---- RMAN 設置和配置

Backup database keep forever;
Backup database keep until time='sysdate+180';

在第一條語句中,會永遠保存?zhèn)浞?,第二條語句中,只保存180天。

5.6 重寫configure exclude 命令
通過執(zhí)行configure exclude 命令可以配置RMAN,排除上一次備份以來沒有發(fā)生變化的數(shù)據(jù)文件。 如果要確保RMAN 備份這些數(shù)據(jù)文件,可以在下面的backup 命令中添加noexclude 參數(shù):
Backup database noexclude keep forever tag='TEST';

5.7 使用backup 命令檢查數(shù)據(jù)庫的錯誤
RMAN 不需要執(zhí)行備份操作就可以掃描數(shù)據(jù)庫的物理錯誤和邏輯錯誤。 使用backup 命令的validate 參數(shù)可以實現(xiàn)這個功能。 如:
Backup validate database;

5.8 跳過脫機的,不可讀取的或者只讀的數(shù)據(jù)文件
有時候,數(shù)據(jù)庫中的數(shù)據(jù)文件可能處于Online 以外的狀態(tài),如果數(shù)據(jù)文件是只讀的,在備份數(shù)據(jù)庫時可能不要每次都備份這些只讀的數(shù)據(jù)文件。 如果數(shù)據(jù)文件是脫機的或者不可存取的,假如沒有執(zhí)行特別的操作來指示RMAN跳過這些缺少的數(shù)據(jù)文件,RMAN 備份操作就會失敗。 因此需要使用skip 參數(shù),使用該參數(shù)可以根據(jù)需要跳過脫機的,只讀的或者不可存取的數(shù)據(jù)文件。 如:
Backup database skip readonly;
Backup database skip offline;
Backup database skip inaccessible;
Backup database skip readonly skip offline skip inaccessible;

Inaccessible 參數(shù)可以使Oracle 跳過不能讀取的數(shù)據(jù)文件,這些文件沒有實際地存在于磁盤上(如已刪除或者轉移位置),使用offline 參數(shù)可以跳過脫機的但仍存在的數(shù)據(jù)文件。 Skip readonly參數(shù)可以使Oracle 跳過只讀的數(shù)據(jù)文件。 也可以使用configure 配置Oracle 不備份只讀的表空間。

5.9 強制備份只讀的數(shù)據(jù)文件
我們可以用configure 命令來配置Oracle 不備份沒有發(fā)生變化的表空間。 但是如果要執(zhí)行一個忽略這個配置的特定備份操作,可以用force 參數(shù)。
Backup database force;

5.10 基于上次備份時間來備份數(shù)據(jù)文件
Oracle允許用戶在備份進程中指示只備份給定時間以來沒有備份過的數(shù)據(jù)文件。 如果在數(shù)據(jù)庫中添加了新的數(shù)據(jù)文件,或者只想備份給定天數(shù)內(nèi)發(fā)生變化的數(shù)據(jù)文件,使用Oracle的這個功能就非常方便。

5.10.1 只備份添加的數(shù)據(jù)文件
假設在數(shù)據(jù)庫上添加了4個新的數(shù)據(jù)文件,我們希望不備份整個數(shù)據(jù)庫,而是備份這些新的數(shù)據(jù)文件。 我們除了只備份單個數(shù)據(jù)文件外,還有一種更簡單的方法:使用backup 的net backed up 選項. 如:
Backup database not backed up;

5.10.2 備份指定時間周期內(nèi)沒有被備份的數(shù)據(jù)文件
我們可能需要在指定的時間備份指定的數(shù)據(jù)文件。 如重新啟動一個失敗的備份操作,使用since time 選項也是非常方便的。 如果備份操作失敗,可以在排除這個故障后使用since time 選項來重新啟動這個備份操作。如:
Backup database not backed up sine time='sysdate-2';

這時,rman 會備份最近2天內(nèi)沒有備份的數(shù)據(jù)文件。 注意的是,我們可以用NLS_DATE格式來表示時間,也可以使使用SQL 日期表達式來表示時間。

5.11 在備份操作期間檢查邏輯訛誤
在默認情況下,RMAN 會檢查數(shù)據(jù)庫數(shù)據(jù)塊的邏輯訛誤。 如果發(fā)現(xiàn)了任何訛誤。備份就會失敗,這是默認情況。 如果需要更多的錯誤檢查,可以使用backup 命令的check logical 選項來配置備份操作執(zhí)行邏輯訛誤檢查。 如:
Backup check logical database;
Backup validate check logical database;
在第一條命令中,rman 會在檢查邏輯訛誤的同時物理備份數(shù)據(jù)庫。 第二條命令中,RMAN 只驗證數(shù)據(jù)庫數(shù)據(jù)塊,它只是執(zhí)行邏輯數(shù)據(jù)庫驗證操作,而不執(zhí)行實際的數(shù)據(jù)庫物理備份操作。 注意的是:如果要在給定的錯誤數(shù)內(nèi)仍然繼續(xù)執(zhí)行備份操作,就需要先設置maxcorrupt 參數(shù)值。 如下所以,需要使用run 代碼塊來設置maxcorrupt 參數(shù)值:
Run{
Set maxcorrupt for datafile 1,2,3,4,5,6,7 to 10;
Backup validate check logical database;
}

5.12 在RMAN 復制設備上生成備份副本
有時,我們可能需要創(chuàng)建備份集片的多個副本。 這可以通過配置默認的生成,也可以使用copies 參數(shù)對某個備份進行配置來創(chuàng)建備份片的多個副本(還可以使用set backup copies 參數(shù)來完成這個功能)。 下面是一個使用copies 選項生成副本的示例:
Backup database copies=2;

我們可能配置兩個不同的默認通道: 一個用于磁盤操作,一個用于磁帶操作。使用device type 參數(shù)可以定義啟動備份操作時要使用的自動通道設備。
Backup database device type disk;
Backup database device type disk;

5.13 備份控制文件
Include current controlfile 選項會創(chuàng)建當前控制文件的快照,并且會將這個快照控制文件放入使用backup 命令生成的每個備份集中。 如:
Backup database device type disk include current controlfile;

在默認情況下,如果備份數(shù)據(jù)文件,無論如何都會備份控制文件,因此,如果要執(zhí)行表空間備份操作或者數(shù)據(jù)文件備份,使用include current controlfile 參數(shù)就非常方便。 如果配置了控制文件的自動備份操作,上面的命令還會將當前的控制文件存儲在備份集中。 這樣我們就有兩個控制文件的副本。

六. Set 命令介紹
使用set 命令可以定義只應用于當前RMAN會話的設置。 Set 命令的設置不是永久的,根據(jù)實際需求,可以采用兩種方式來使用set 命令。
在run 代碼塊外,我們可是執(zhí)行下面的操作:
(1)使用set echo 命令在消息日志中顯示RMAN 命令。
(2)使用set dbid 命令指定一個數(shù)據(jù)庫的數(shù)據(jù)庫標識符(database identifier: dbid)。
某些set 命令只能在run代碼塊的限定范圍內(nèi)使用,常見的有:
(1)set newname 命令:用于執(zhí)行表空間時間點恢復(TSPITR)或者數(shù)據(jù)庫復制操作。 該命令允許指定新的數(shù)據(jù)庫數(shù)據(jù)文件名。 將數(shù)據(jù)庫移動到新的系統(tǒng)中并且文件系統(tǒng)名不同時,我們可以使用這個命令。使用set newname 命令時還需要使用switch 命令。
(2)Set maxcorrupt for datafile: 使用該命令可以定義RMAN操作失敗前鎖允許的數(shù)據(jù)塊訛誤的最大數(shù)據(jù)。
(3)Set archivelog destination: 使用該命令可以修改存儲歸檔的重做日志的archive_log_dest_1 目標。
(4)Set 命令和until 子句: 使用set命令和set 命令的until 子句可以定義數(shù)據(jù)庫時間點恢復操作鎖使用的具體時間點,SCN 或日志序列號。
(5)Set backup copies命令: 使用該命令可以定義為備份集中的每個備份片應當創(chuàng)建的副本數(shù)。
(6)Set command id: 使用該命令可以關聯(lián)給定的服務器會話和給定的通道。
(7)Set controlfile autoback format for device type: 使用該命令可以修改用于控制文件自動備份操作的默認格式。

例如: 要執(zhí)行一個為每個備份片創(chuàng)建兩個副本的被操作,并且允許數(shù)據(jù)文件的最大訛誤數(shù)為10. 腳本如下:
Run{
Set maxcorrupt for datafile 3 to 10;
Stet backup copies=2;
Backup database;
}
 
七. 聯(lián)機RMAN 數(shù)據(jù)庫備份

7.1 聯(lián)機數(shù)據(jù)庫備份
要使用RMAN執(zhí)行聯(lián)機備份操作,數(shù)據(jù)庫必須置于Archivelog 模式。 如果不在歸檔模式,則嘗試聯(lián)機備份時RMAN就會生成一個錯誤。

Oracle 歸檔與非歸檔的切換

連接備份示例:
RMAN> Configure default device type to disk;
RMAN> configure channel 1 device type disk format 'F:\backup\orcl_%U.bak';
RMAN> backup database plus archivelog tag='ORCL';

7.2 表空間備份
可以簡單的使用具有tablespace 參數(shù)的backup 命令來執(zhí)行一個表空間的備份操作:
 Backup tablespace dave;

如果同時要備份歸檔的重做日志,可以執(zhí)行:
Backup tablespace dave plus archivelog;

我們要確保備份的是當前的控制文件:
Backup tablespace users include current controlfile plus archivelog;

7.3 數(shù)據(jù)文件備份
RMAN 允許使用帶有datafile 參數(shù)的backup 命令來備份數(shù)據(jù)文件,datafile 參數(shù)后面是要備份的文件名或數(shù)據(jù)文件號。
查看數(shù)據(jù)文件號:
SQL> select file_id,file_name from dba_data_files;

   FILE_ID FILE_NAME
---------- -----------------------------------------------------

         4 D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
         3 D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
         2 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
         1 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
         5 D:\APP\ADMINISTRATOR\ORADATA\ORCL\DAVE0.DBF
備份:
RMAN>Backup datafile 5;
RMAN>Backup datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\DAVE0.DBF';
RMAN>Backup datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\DAVE0.DBF' plus archivelog;

7.4 歸檔的重做日志備份
要備份所有的歸檔重做日志,可以用 backup archivelog all. 還可以備份指定范圍內(nèi)的歸檔的重做日志,這里有多個選項,包括時間,SCN或者重做日志序列。
Backup archivelog all;
Backup archivelog from time 'sysdate-1';
Backup archivelog from sequence 400;
一旦備份完成,就可以使用RMAN的 Delete input 選項來刪除這些歸檔重做日志。
Backup archivelog all delete input;
Backup archivelog from sequence 400 delete input;

也可以指示RMAN 備份歸檔的重做日志多個副本。 在下面的示例中,我們使用具有not backed up n times 參數(shù)的backup命令來確保至少備份3次重做日志,并且不會再次備份已經(jīng)備份超過3次的歸檔重做日志。
Backup archivelog not backed up 3 times;

還可以使用backup 與until time 參數(shù)來確保歸檔重做日志在磁盤上保留一定的天數(shù):
Backup archivelog all delete input until time 'sysdate-2';

注: not backed up 參數(shù)和 delete input 參數(shù)相互排斥,不管歸檔重做日志的備份次數(shù)為多少,delete input 參數(shù)都會刪除這個歸檔的重做日志。

7.5 控制文件和服務器參數(shù)文件備份
使用backup spfile 命令可以備份服務器參數(shù)文件。
Backup current controlfile;

Current controlfile 參數(shù)還提供一個for standby子句,這個子句會創(chuàng)建一個備用數(shù)據(jù)庫要用的備份控制文件??梢允褂胋ackup 命令的controlfilecopy 參數(shù)來創(chuàng)建一個含有外部創(chuàng)建的控制文件備份的備份集,執(zhí)行alter database backup controlfile to ' filename' 命令或者RMAN 的copy 命令可以創(chuàng)建備用的數(shù)據(jù)庫控制文件。 此外,還可以備份由alter database create standby controlfile 命令創(chuàng)建的備用數(shù)據(jù)庫控制文件,該功能的有點在于可以使用外部控制文件備份文件,在RMAN中注冊這些文件,然后創(chuàng)建一個含有控制文件備份的備份集。
Alter database backup controlfile to 'd:\backup\orcl_backup.ctl';
Backup controlfilecopy 'd:\backup\orcl_backup.ctl';

7.6 備份集備份
我們可能現(xiàn)在磁盤上備份數(shù)據(jù),然后在磁帶上備份備份集。 在Oracle 10g中,RMAN 通過backup 命令支持這種操作。
使用backup backupset 命令可以選擇備份所有備份集,也可以選擇備份特定的備份集。另外,只能將備份集從磁盤備份到磁盤,或者將備份集從磁盤備份到磁帶。在備份備份集中,可以使用delete input 選項在備份操作成功后刪除源備份集的文件。
Backup backupset all;
Backup backupset all format='d:\backup\orcl_%U.bak' tag='ORCL' channel 'ORA_DISK_1';
Backup backupset complete before 'sysdate-2';
Backup backupset complete before 'sysdate-2' delete input;
Backup backupset complete after 'sysdate-2' delete input;

7.7 閃回恢復區(qū)備份
RMAN 提供了對backup recovery area 命令將整個FRA備份到磁盤的功能,但并不是FRA中所有的文件都備份,備份文件包括:完整的備份集 和 增量備份集,控制文件自動備份,歸檔日志 和 數(shù)據(jù)文件副本。 如果備份的FRA中包含閃回日志,當前的控制文件以及聯(lián)機重做日志,則不會備份這些文件。 注意,必須將這些文件備份到磁帶上。
 
八. 副本

8.1 映像副本的介紹
RMAN 可以創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)文件,歸檔重做日志或者控制文件的精確副本。 Rman 副本是這些文件的副本,區(qū)別僅僅在于名稱和位置上的變化。我們不需要考慮備份片或其他問題。 映像副本只能在磁盤上生成,且不能生成增量副本。 生成映像副本必須加載或打開數(shù)據(jù)庫。生成副本的歷史記錄保存在數(shù)據(jù)庫控制文件中。所以我們可以跟蹤副本生成的時間和駐留的位置。
類似與常規(guī)備份,可以建立整個數(shù)據(jù)庫,表空間或數(shù)據(jù)文件的映像副本。 RMAN 復制過程提供一些和普通RMAN 備份集相同的保護,例如檢查訛誤代碼塊以及邏輯訛誤。 此外,映像副本可以與普通的備份集結合起來,幫助完成數(shù)據(jù)庫恢復。

8.2 數(shù)據(jù)庫,表空間和數(shù)據(jù)文件的映像副本
Backup 命令支持數(shù)據(jù)庫映像副本的創(chuàng)建。 RMAN可以通過backup as copy命令生成映像副本。
RMAN>backup as copy database;

表空間的映像副本創(chuàng)建:
RMAN>backup as copy tablespace Users;

數(shù)據(jù)文件的映像副本:
Backup as copy datafile 1;
Backup as copy datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\DAVE0.DBF';

8.3 控制文件副本
備份控制文件:
Backup current controlfile;

創(chuàng)建控制文件的副本:
Backup as copy current controlfile;
創(chuàng)建用于備份數(shù)據(jù)庫的控制文件:
Backup as copy standby controlfile;

在創(chuàng)建時還可以指定別名:
Backup as copy standby controlfile format  'D:\backup\controlfilecopy.ctl';

8.4 Archivelog 映像副本
生成歸檔的重做日志副本是非常有用的。 使用Oracle 的Logminer 產(chǎn)品挖掘(Mine)歸檔的重做日志副本顯然比必須先從備份集中析取這個歸檔的重做日志更為簡單。使用copy 命令的archivelog 參數(shù)可以創(chuàng)建歸檔的重做日志副本。 遺憾的是,使用copy archivelog時必須列出每個歸檔的重做日志名,而不能指定要復制的歸檔的重做日志的時間范圍。
Backup as copy archivelog all;

九. 增量備份
通過增量備份,RMAN 允許用戶只備份上次增量備份以來被修改過的數(shù)據(jù)塊。 增量備份具有以下有點:
(1)更少的使用磁盤或磁帶
(2)降低網(wǎng)絡寬帶要求
(3)節(jié)約備份時間
可以在聯(lián)機或脫機模式,Archivelog 模式或者noarchivelog 模式中執(zhí)行增量備份。 一旦選擇了增量備份策略,就會在效益方面的問題。 如果顯著減少了整個備份操作的時間,在恢復操作方面就會投入更多的時間。 這是因為如果使用增量備份策略,Oracle 就需要使用更多的備份集來恢復數(shù)據(jù)庫,恢復所需要的時間就會顯著增加。

9.1 塊更改跟蹤文件
默認情況下,當執(zhí)行增量備份時,發(fā)生任何更改的所有數(shù)據(jù)文件都將備份。 這可能使增量備份花費更長的時間,并且會增加增量備份的大小。 10g中RMAN 提供了只備份更改過的數(shù)據(jù)塊的功能。 這就可以加快增量數(shù)據(jù)庫備份的速度并減少其大小。 執(zhí)行alter database enable block change tracking 命令可以啟用塊更改跟蹤。
如果使用Oracle管理文件(OMF),Oracle 將會創(chuàng)建塊更改跟蹤文件。 如果沒有使用OMF,則必須定義塊更改跟蹤文件的位置和名稱。 如:
Alter database enable block change tracking using file 'F:\backup\block.fil';
如果跟蹤文件已經(jīng)存在,可以使用reuse參數(shù):
Alter database enable block change tracking using file 'F:\backup\block.fil' reuse;

使用alter database block change tracking 命令可以禁用塊更改跟蹤。 塊更改跟蹤文件的大小通常預先分片且與數(shù)據(jù)庫大小和重做日志線程的數(shù)量有關。 塊更改跟蹤文件的大小一般是數(shù)據(jù)庫大小的1/30000。 塊更改跟蹤文件可能會以10MB為增量增長。 塊更改跟蹤文件的最小尺寸是每個數(shù)據(jù)文件320k,如果有許多數(shù)據(jù)文件,則塊更改跟蹤文件就會較大。 Oracle 會在塊更改跟蹤文件中存儲足夠的信息,從而允許最多8天的增量備份。 顯而易見,如果增量備份超過8天,則將不使用塊跟蹤更改跟蹤文件,并且無法利用塊跟蹤文件的有點。
可以通過檢查v$block_change_tracking 視圖來確定是否啟用了塊更改跟蹤。 Status 指示了是否啟用了塊更改跟蹤,filename 包含塊更改跟蹤文件的文件名??梢酝ㄟ^alter database rename file 命令來轉移塊更改跟蹤文件。
SQL> select status,filename from v$block_change_tracking;
STATUS     FILENAME
---------- ------------------------------------------------------
ENABLED    F:\BACKUP\BLOCK.FIL

9.2 基本備份
執(zhí)行增量備份操作時,首先需要的是增量基本備份(incremental base backup),以后所有的增量備份都基于這個基本備份。 每次執(zhí)行數(shù)據(jù)庫備份操作時,都可以通過backup 命令的incremental 參數(shù)來為備份指定一個增量級別標識符。 基本備份的增量級別為0,并且必須有基本備份才能夠執(zhí)行其他類型的增量備份操作。 如果沒有生成基本備份就嘗試執(zhí)行增量備份操作,RMAN會自動執(zhí)行基本備份操作。 示例:
Backup incremental level=0 database;

9.3 差異備份與增量備份

9.3.1 差異備份
差異備份是RMAN生成的增量備份的默認類型,對于差異備份來說,RMAN會備份自上次同級或者低級差異增量備份以來所發(fā)生變化的數(shù)據(jù)塊。
Backup incremental level=1 database;

9.3.2 累積備份
累積備份可以使備份集備份前面所有級別的備份以及此次要備份的所有發(fā)生變化的數(shù)據(jù)塊。 累積備份是一個可選的備份方法,并要求在backup 命令中使用cumulative 關鍵字。
Backup incremental level =2 cumulative database;

9.3.3 增量備份選項
Oracle 不僅允許執(zhí)行數(shù)據(jù)庫的增量備份,還允許執(zhí)行表空間,數(shù)據(jù)文件以及數(shù)據(jù)庫文件副本的增量備份操作。 控制文件,歸檔重做日志以及備份集都不能生成增量備份。 此外,還可以在執(zhí)行增量備份操作時同時備份歸檔的重做日志。
Backup incremental level=0 tablespace users;
Backup incremental level=1 tablespace users;
Backup incremental level=0 datafile 4;
Backup incremental level=1 datafile 4;
Backup incremental level=1 database plus archivelog;

9.3.4 增量備份更新備份
RMAN 提供了增量備份更新備份。 這種備份避免了采用數(shù)據(jù)文件的完整映像副本進行備份的開銷,并且具有與映像副本相同的恢復特性。 從某種意義上來說,這種備份類似與使用映像副本的增量備份。
Run{
Recover copy of database with tag 'Orcl';
Backup incremental level 1 for recover of copy with tag 'Orcl' database;
}

示例中的recover of  copy  database 命令并沒有真正的恢復數(shù)據(jù)庫,但它使RMAN將任何增量備份應用于與列出標記(Orcl)關聯(lián)的數(shù)據(jù)文件副本。 第一次運行該命令時,它將沒有任何效果,因為它沒有任何可用的增量備份或數(shù)據(jù)文件副本。 這并不是很嚴重的問題,并且RMAN 將只顯示一條警告消息。 第二次運行該命令時也沒有任何效果,因為沒有任何增量備份可用。
執(zhí)行recover 命令后,就會產(chǎn)生一個增量備份,這個備份第一次運行時,它會創(chuàng)建一個基本備份(如果沒有的話)。這實際上增量為1的備份。 第二次執(zhí)行這個run代碼塊時,將通過backup 命令執(zhí)行第一個增量備份。
一旦該命令運行了2次,第三次執(zhí)行和后面的執(zhí)行就能夠將前面的增量備份應用與數(shù)據(jù)文件副本。 注意,recover 和backup命令中將標記賦予相同的名稱非常重要。
 
 
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/tianlesoftware/archive/2010/06/23/5687938.aspx
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
RMAN 復制目標數(shù)據(jù)庫的理論知識
三思涂抹oracle(筆記)
RMAN 初學者指南
OracleRMAN的備份與恢復命令詳解(一)
Oracle RMAN快速入門指南
rman備份方式半功略 -備份恢復-Oracle頻道-中國IT實驗室
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服