RMAN說,我能備份(15)--RMAN中的字串定義和CONFIGURE命令

junsansi發表於2010-03-03

塗抹ORACLE試閱章節:第8章-Rman說,我能備份

===========================================================================

8.7 RMAN 基礎知識補充

  基礎畢竟是基礎,乃物之根本,重中之重,對於一個真正想要精通Oracle資料庫管理的DBA而言,無論如何都需要做到深入理解、認真銘記。

  經過一些練習之後,相信大家對RMAN已經有所瞭解,對其操作也產生了一定的興趣,我想這個時候來面對這些枯燥文字也應該稍稍能有些主觀意願吧,事不宜遲,請睡著的同學趕緊醒醒,進入補基礎時間。

  另外,對於這部分內容,我不主張死記硬背,還是要多嘗試,理解著去記憶。

8.7.1 FORMAT 字串格式化

  使用FORMAT引數時可使用的各種替換變數,如下(注意大小寫)所示:

  • %a :O racle 資料庫的activation ID即RESETLOG_ID。
  • %c :備份片段的複製數(從1開始編號,最大不超過256)。
  • %d :O racle 資料庫名稱。
  • %D :當前時間中的日,格式為DD。
  • %e :歸檔序號。
  • %f :絕對檔案編號。
  • %F :基於“DBID+時間”確定的唯一名稱,格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 為該資料庫的DBID,YYYYMMDD為日期,QQ是一個1~256的序列。
  • %h :歸檔日誌執行緒號。
  • %I :O racle 資料庫的DBID。
  • %M :當前時間中的月,格式為MM。
  • %N :表空間名稱。
  • %n :資料庫名稱,並且會在右側用x字元進行填充,使其保持長度為8。比如資料庫名JSSBOOK,則生成的名稱則是JSSBOOKx。
  • %p :備份集中備份片段的編號,從1開始。
  • %s :備份集號。
  • %t :備份集時間戳。
  • %T :當前時間的年月日格式(YYYYMMDD)。
  • %u :是一個由備份集編號和建立時間壓縮後組成的8字元名稱。利用%u可以為每個備份集生成一個唯一的名稱。
  • %U :預設是%u_%p_%c的簡寫形式,利用它可以為每一個備份片段(即磁碟檔案)生成一個唯一名稱,這是最常用的命名方式,執行不同備份操作時,生成的規則也不同,如下所示:
    • 生成備份片段時,%U=%u_%p_%c;
    • 生成資料檔案映象複製時,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u;
    • 生成歸檔檔案映象複製時,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u;
    • 生成控制檔案映象複製時,%U=cf-D_%d-id-%I_%u。
  • %Y :當前時間中的年,格式為YYYY。

  注:如果在BACKUP命令中沒有指定FORMAT選項,則RMAN預設使用%U為備份片段命名。

8.7.2   通過CONFIGURE命令建立預定義配置

  RMAN 中具有一系列的預設配置,這些配置決定了備份和恢復時的一些預設選項(此節內容枯燥,眼神不好的同學請自覺跳過),比如:

  • 自動分配通道的配置
  • 備份保留時間的配置
  • 備份集和備份片段大小的配置
  • 啟用或禁用備份優化功能
  • 映象複製的備份數量
  • 控制檔案快照名稱
  • 啟用或禁止控制檔案自動備份
  • 是否將某個表空間排除在備份之外

  通過CONFIGURE命令修改配置,具體用法非常簡單,首先,我們先來檢視一下當前配置,用SHOW ALL命令:

    RMAN> SHOW ALL;

    RMAN configuration parameters are:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

    CONFIGURE BACKUP OPTIMIZATION OFF; # default

    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO  ' %F ' ; # default

    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE MAXSETSIZE TO UNLIMITED; # default

    CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

    CONFIGURE ENCRYPTION ALGORITHM  ' AES128 ' ; # default

    CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO  ' F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\ SNCFJSSBOOK.ORA ' ; # default

    RMAN>

  SHOW 命令在介紹RMAN命令時單介紹過,同時我們也已經知道後加#default表示該條配置仍然是初始的預設配置,如果我們想把某條更改過的配置再置為初始值應該怎麼辦呢?很簡單,用命令: CONFIGURE ... CLEAR ; 即可,例如:

    RMAN>  CONFIGURE RETENTION POLICY CLEAR;

    old RMAN configuration parameters:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

    RMAN configuration parameters are successfully reset to default value

  上述的各項配置,有些我們在前面章節中已經有所體現,下面我們再逐條過一遍:

1 .CONFIGURE RETENTION POLICY配置備份保留策略

  前面章節中我們詳細講過關於備份保留策略,也知道了它有以下兩種保留策略:

(1)基於時間的保留策略:

    RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;

(2)基於冗餘數量的保留策略:

    RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY n;

  上述n均為整型數字,大於等於1。

  取消備份保留策略,可用如下命令:

    RMAN> CONFIGURE RETENTION POLICY TO NONE;
2 .CONFIGURE BACKUP OPTIMIZATION配置備份優化

  備份優化包括OFF和ON兩個狀態:

  開啟備份優化:

    RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

  關閉備份優化:

    RMAN> CONFIGURE BACKUP OPTIMIZATION OFF;
3 .CONFIGURE DEFAULT DEVICE TYPE 配置I/O裝置型別

  RMAN 支援的I/O裝置型別有兩種:磁碟(DISK)和磁帶(SBT),預設情況下為磁碟。

  使用磁碟裝置:

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;

  使用磁帶裝置:

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT;

    提示:

    配置為磁帶時也可以將關鍵字寫為SBT_TAPE。由於訪問磁帶設定多數情況下還需要附帶相關引數,上述僅為示例,磁帶裝置的實際配置請根據實際情況,按照裝置廠商的要求進行設定。

  在這裡需要注意的一點是:如果I/O裝置發生變化,相關配置項也需要修改。例如:配置磁碟設定的預設並行度為2:

    RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
4 .CONFIGURE CONTROLFILE AUTOBACKUP配置控制檔案自動備份

  選擇是否自動備份控制檔案,包含兩個狀態:OFF和ON。

  開啟自動備份:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON

  禁止自動備份:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF

  同時可以通過如下配置指定自動備份的格式和路徑:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO  ' F:\ORACLE\ BACKUP\%F ' ;

  在備份期間,將產生一個控制檔案的快照,用於控制檔案的讀一致性,這個快照可以通過如下配置:

    RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO  ' F:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ SNCFJSSBOOK.ORA ' ;
5 .CONFIGURE DEVICE TYPE 設定並行備份

  RMAN 支援並行備份與恢復,也可以在配置中指定預設的並行程度。例如:

    RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

  指定在以後的備份與恢復操作中並行度為2,即同時開啟2個通道進行備份與恢復。

  並行的數目決定了開啟通道的個數,當然也可以在RUN中手動指定通道來決定備份與恢復的並行程度。如果指定了通道配置,將採用指定的通道,如果沒有指定通道,將採用預設通道配置。有點兒繞是吧,我來給你白話一把。

  預設情況下,自動分配通道的並行度為1,如果你通過設定PARALLELISM設定了並行通道為2,那麼在 RUN 塊中,如果你沒有單獨通過ALLOCATE CHANNEL命令指定通道,它會預設使用2條並行通道,如果你在 RUN 命令塊中指定了數個ALLOCATE CHANNEL,那麼RMAN在執行備份命令時會以你設定的 CHANNEL 為準,而不管CONFIGURE中配置了多少個並行通道。

  需要注意的一點是,在BACKUP命令中有一個FILESPERSET引數,該引數是指RMAN建立的每個備份片段中所能包含的檔案的最大數,該引數預設值為64,如果在執行BACKUP命令時沒有指定該引數值,那麼RMAN會僅使用第一個通道來執行備份,其他通道將處於空閒狀態。關於通道數與FILESPERSET值之間也有一個大小關係,邏輯稍顯複雜,這些就不多廢話了,總之一條,FILESPERSET值不要小於你設定的通道數。

6 .CONFIGURE DATAFILE/ARCHIVELOG BACKUP COPIES設定備份檔案冗餘度

  前面也講過,應該也還有印象吧,不記的了就趕緊回去翻翻。

7 .CONFIGURE MAXSETSIZE 配置備份集的最大尺寸

  該配置限制通道上備份集的最大尺寸,單位支援 B ytes 、KB、MB、GB,預設值是unlimited,關於這一點,在我花了整整500秒時間思考之後 …… 我睡著了!

  不過當我感受到你澎湃的心靈產生的悸動,並注意到你已經產生了想找出版社退貨的想法之後,我馬上就醒了過來,其實8.5.5.3小節介紹了相關的內容,相信正常情況下應該也不會有什麼人改它吧,OK,本條跳過,繼續,下一個。

8 .CONFIGURE ENCRYPTION 配置備份加密

  10g 版本中新增的配置選項。資料庫端配置好了Oracle Encryption Wallet後,即可通過CONFIGURE命令設定加密備份策略,加密策略既可以是針對整個資料庫,也可以是表空間,或者歸檔檔案。要開啟備份加密,只需設定ENCRYPTION為ON即可:

    RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;

  如果要禁止的話將ON改為OFF:

    RMAN> CONFIGURE ENCRYPTION FOR DATABASE OFF;

  表空間級的設定同理,這裡就不演示了。

9 .CONFIGURE ENCRYPTION ALGORITHM 配置預設的加密演算法

  檢視V$RMAN_ENCRYPTION_ALGORITHMS中可以獲取RMAN中支援的加密演算法,檢視中列出的加密演算法可以在執行備份操作時指定,或者是通過CONFIGURE進行配置:

    RMAN> CONFIGURE ENCRYPTION ALGORITHM  ' AES256 ' ;

  如果沒有指定加密演算法,預設情況下會選擇AES128。

10 .CONFIGURE ARCHIVELOG DELETION POLICY配置歸檔檔案刪除策略

  也是從10g版本開始提供的配置選項,用來指定歸檔檔案的刪除策略。

  在預設情況下歸檔檔案備份完之後就可以被刪除,不過對於配置了Data Guard環境的資料庫系統,Primary資料庫端的歸檔檔案就不能說刪就刪,因為歸檔檔案不僅它自己要用,與其在相同Data Guard環境的Standby資料庫也要用,從嚴謹的角度來考慮,DBA必須要保證歸檔檔案在Standby端成功接收並且應用之前,Primary端始終能儲存該檔案。

    提示:

    關於Data Guard環境的配置請參考本書第10章內容。

  在10g之前的版本,這一問題困擾了很多DBA,無奈之下不少人只能通過作業系統指令碼的方式,在刪除歸檔檔案之前,首先對Standby端資料庫的歸檔檔案應用狀態作判斷,直到確認一切OK才敢在Primary端執行正常刪除。

  10g 之後的版本,Oracle在RMAN中內建增加了一項歸檔檔案的刪除策略,終於,DBA可以僅通過一項配置就解決該問題了。該策略對應兩個值:

  • APPLIED ON STANDBY :設定為該值時,當通過附加的 DELETE INPUT 子句刪除Standby資料庫仍需要的日誌時,會提示RMAN-08137錯誤。不過使用者仍然可以手動地通過 DELETE ARCHIVELOG 方式刪除。
  • NONE :設定為該值時,則不啟用歸檔檔案的刪除策略。預設情況下就是NONE。

  例如,啟用APPLIED ON STANDBY:

    RMAN>  CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

    new RMAN configuration parameters:

    CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

    new RMAN configuration parameters are successfully stored  

=================================================

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-628518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章