RMAN詳細教程(一):基本命令代碼

RMAN詳細教程(一):基本命令代碼 RMAN詳細教程(二):備份、檢查、維護、恢復 RMAN詳細教程(三):備份腳本的組件和註釋 RMAN詳細教程(四):備份腳本實戰操做    html

1、target——鏈接數據庫

一、本地:

[oracle@oracle ~]$ rman target /

二、遠程:

[oracle@oracle ~]$ rman target sys/oracle@orcl

    

2、show——查看配置

RMAN> show all //總配置參數,具體看configure模塊算法

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
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; # 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 SNAPSHOT CONTROLFILE NAME TO‘C:ORACLE..SNCFTEST.ORA’; #default

RMAN> show channel; // 通道分配 RMAN> show device type; // IO 設備類型 RMAN> show retention policy; // 保存策略 RMAN> show datafile backup copies; // 多個備份的拷貝數目 RMAN> show maxsetsize; // 備份集大小的最大值 RMAN> show exclude; // 沒必要備份的表空間 RMAN> show backup optimization; // 備份的優化    數據庫

3、configure——調整配置

一、configure retention policy to redundancy 1; 捨棄備份原則,共三種,分別是: (1)CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 保持全部足夠的備份,能夠將數據庫系統恢復到最近七天內的任意時刻。任何超過最近七天的數據庫備份將被標記爲obsolete。 (2)CONFIGURE RETENTION POLICY TO REDUNDANCY 5; 保持能夠恢復的最新的5份數據庫備份,任何超過最新5份的備份都將被標記爲redundancy。通常採用的方法,默認值爲1,能夠設置爲5。
(3)CONFIGURE RETENTION POLICY TO NONE;
不須要保持策略,clear將恢復回默認的保持策略。   二、CONFIGURE BACKUP OPTIMIZATION OFF; 默認爲關閉,若是打開,rman將對備份的數據文件及歸檔等文件進行一種優化的算法。   三、Configure default device type to disk; 默認值是硬盤,是指定全部I/O操做的設備類型是硬盤或者磁帶(SBT)。   四、CONFIGURE CONTROLFILE AUTOBACKUP OFF; 強制數據庫在備份文件或者執行改變數據庫結構的命令以後將控制文件自動備份,默認值爲關閉。這樣在控制文件和catalog丟失後,控制文件仍然能夠恢復。
  五、CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; 配置控制文件的備份路徑和備份格式
  六、CONFIGURE DEVICE TYPE DISK PARALLELISM 1; 配置數據庫設備類型的並行度,默認爲1。
  7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 配置每次備份的copy數量。
  八、CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 配置歸檔日誌存放的設備類型。   九、configure maxsetsize 大小; 配置備份集的最大尺寸,默認值是unlimited,單位bytes,K,M,G;   十、CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA'; 配置控制文件的快照文件的存放路徑和文件名,這個快照文件是在備份期間產生的,用於控制文件的讀一致性。
  十一、CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p'; 配置備份文件的備份路徑和備份格式。   十二、CONFIGURE CHANNEL DISK CLEAR; 用於清除上面的信道配置。   1三、CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR]; 不備份指定的表空間到備份集中,對只讀表空間是很是有用的。   1四、configure channel device type disk format 'e:\backupb%d_db_%u'; 將備份文件存儲到e:\backupb,後面的%d_db_%u是存儲格式。   1五、configure controlfile autobackup format for device type disk to 'e:\backupcontrol%F'; 指定control file存儲在另外一個路徑: e:\backupcontrol,後面的%F是存儲格式。    oracle

4、List—— 列出備份集和數據文件鏡像

一、list incarnation; 彙總查詢,多備份文件時,能夠對備份文件有個整體瞭解。   二、list backup; 列出備份詳細信息。   三、list backup summary; 簡述可用的備份(TY: B表明備份, LV: F表明全備fullbackup, A表示 Archivelog, 0,1,2 表示備份級別, S表示狀態, A表示available可用, X表示expried過時)。app

備份列表
===============
關鍵字     TY LV S 設備類型 完成時間   段數 副本數 壓縮標記
------- -- -- - ----------- ---------- ------- ------- ---------- ---
11      B  F  A DISK        02-7月 -13 1       1       NO         TAG20130702T162726
12      B  F  A DISK        14-2月 -14 1       1       NO         TAG20140214T140119
13      B  F  A DISK        14-2月 -14 1       1       NO         TAG20140214T140119
14      B  F  A DISK        21-2月 -14 1       1       NO         TAG20140221T125325
15      B  F  A DISK        21-2月 -14 1       1       NO         TAG20140221T125325
16      B  A  A DISK        24-2月 -14 1       1       NO         TAG20140224T125128

  四、list backup by file; 按照文件類型列出如下四種類型列表: 數據文件備份列表、已存檔的日誌備份列表、控制文件備份列表、SPFILE 備份的列表。   五、list backup of database summary;   六、list backup of tablespace users;   七、list backup of archivelog all; 查看已經備份的 archive log 狀況。   八、list archivelog all; 查看目前全部的archivelog文件 (可能包含已經備份的, 除非你在備份時有參數 delete input file 刪除了)。   九、list backup of spfile;   十、list backup of controlfile;   十一、list backup verbose;   十二、list backup of datafile 1 [n | <dir>];   1三、list backup of archivelog from sequence 1000 until sequence 1020;   1四、list backupset tag=TAG20140317T155753;   1五、list expried backup; 列出過去的備份文件。    優化

5、Report——顯示存儲倉庫(Repository)中詳細的分析信息

一、report schema; 報告目標數據庫的物理結構。   二、report need backup; 報告須要備份的數據文件(根據條件不一樣)。   三、report need backup days 3; 最近三天沒有備份的數據文件(若是出問題的話,這些數據文件將須要最近3天的歸檔日誌才能恢復)。   四、report need backup redundancy 3; 報告出冗餘次數小於3的數據文件。   五、report need backup recovery window of 3 days; 報告出恢復須要3天歸檔日誌的數據文件。   六、report obsolete; 報告已經丟棄的備份(前提是設置了備份策略)。   七、report unrecoverable; 報告當前數據庫中不可恢復的數據文件(即沒有這個數據文件的備份、或者該數據文件的備份已通過期)。   八、report schema at time ‘sysdate – 7’;   九、report need backup days 2 tablespace system;    spa

6、Delete——刪除相關的備份集或鏡像副本的物理文件, 同時將刪除標記 delete 更新到控制文件。

delete backupset;
delete backupset n;
delete obsolete;   -- 刪除荒廢
delete noprompt obsolete;  -- 不提示, 刪除荒廢
delete noprompt expired backup;  -- 不提示, 刪除不在磁盤上的備份集(能夠先用crosscheck同步確認一下)
delete obsolete redundancy 2;
delete noprompt copy
delete noprompt backupset tag TAG20140317T14432;
delete obsolete recovery window of 7 days;
delete expired backupset;
delete expired copy;
delete expired archivelog all;

   

7、Crosscheck——設置狀態爲AVAILABLE(可用)或者EXPIRED(不可用)

執行crosscheck時,RMAN檢查目錄中列出的每一個備份集或副本而且判斷他們是否存在與備份介質上。 若是備份集或副本不存在與備份介質上,它就會被標記爲expired, 而且不能用於任何還原操做; 若是備份集或副本存在與備份介質上,它就會維持available狀態。 若是之前被標記爲expired 的備份集或副本再次存在於備份介質上,crosscheck 命令就會將它標記回available。   一、RMAN 備份檢驗的幾種狀態: expired: 對象不存在於磁盤或磁帶。 available: 對象處於可用狀態。 unavailabe: 對象處於不可用狀態。   二、expired 與 obsolette 的區別: (1)對於EXPIRED狀態,與crosscheck命令是密切相關的,RMAN經過crosscheck命令檢查備份是否存在於備份介質上, 若是不存在,則狀態由AVAILABLE改成EXPIRED。 (2)對於obsolete狀態,是針對MAN備份保留策略來講的,超過了這個保留策略的備份,會被標記爲obsolete,但其狀態依舊爲AVAILABLE,咱們可使用report obsolete來查看已廢棄的備份。  線程

RMAN>crosscheck backup; --校驗備份片(???)
RMAN> crosscheck backupset; --校驗備份集
RMAN> crosscheck copy; --校驗鏡像副本
RMAN> crosscheck backup of controlfile; --校驗備份的控制文件
RMAN> crosscheck backup of archivelog all; --校驗全部備份的歸檔日誌
RMAN> crosscheck backup of datafile 1,2; --校驗datafile 1,2
RMAN> crosscheck backup of tablespace sysaux,system; --校驗表空間sysaux,system
RMAN> crosscheck backup completed between '13-OCT-10' and '23-OCT-10'; --校驗時間段,時間段格式由NLS_DATE_FORMAT設置
RMAN> crosscheck backupset 1067,1068; --校驗指定的備份集

   

8、backup經常使用命令

一、將備份集放到快速恢復區中: 1)歸檔模式下:日誌

backup database plus archivelog;

2)非歸檔模式下:code

shutdown immediate;   # 關閉一致性後,打開到mount狀態
backup database

  二、指定備份片斷的存放路徑和命名規則:

backup format '/u01/app/oracle/oradata/enmo1/AL_%d/%t/%s/%p' archivelog like '%arc_dest%';

  三、備份成鏡像文件:

backup as copy

  四、設置備份標記(每一個標記必須惟一,相同的標記能夠用於多個備份只還原最新的備份)。

backup database tag='full_bak1';

  五、設置備份集大小(必須大於數據庫總數據文件的大小,不然會報錯)。

backup database maxsetsize=100m tag='datafile1';

  六、設置備份片大小(磁帶或文件系統限制)

run {
    allocate channel c1 type disk maxpicecsize 100m format '/data/backup/full_0_%U_%T';        
    backup database tag='full_0';        
    release channel c1;        
}

PS: 能夠在allocate子句中設定每一個備份片的大小,以達到磁帶或系統限制。
也能夠在configure中設置備份片大小。

Configure channel device type disk maxpiecesize 100 m        
Configure channel device type disk clear;

  七、備份集的保存策略

backup database keep forever;  --永久保留備份文件, 這種須要有恢復目錄的支持
backup database keep until time='sysdate+30'; --保存備份30天

  八、重寫configure exclude命令

backup databas noexclude keep forever tag='test backup';

  九、檢查數據庫錯誤

backup validate database;

使用RMAN來掃描數據庫的物理/邏輯錯誤,並不執行實際備份。   十、跳過脫機,不可存取或只讀文件

backup database skip readonly;
backup database skip offline;
backup database skip inaccessible;
backup database ship readonly skip offline ship inaccessible;

  十一、強制備份

backup database force;

  十二、基於上次備份時間備份數據文件 (1)只備份添加的新數據文件:

backup database not backed up;

(2)備份"在限定時間週期內"沒有被備份的數據文件:

backup database not backed up since time='sysdate-2';

  1三、備份操做期間檢查邏輯錯誤

backup check logical database;
backup validate check logical database;

  1四、生成備份副本

backup database copies=2;

  1五、備份控制文件

backup database device type disk includ current controlfile;

   

9、Format參數

%a:Oracle數據庫的activation ID即RESETLOG_ID。 %c:備份片斷的複製數(從1開始編號,最大不超過256)。 %d:Oracle數據庫名稱。 %D:當前時間中的日,格式爲DD。 %e:歸檔序號。 %f:絕對文件編號。 %F:基於"DBID+時間"肯定的惟一名稱,格式的形式爲c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 爲該數據庫的DBID,YYYYMMDD爲日期,QQ是一個1~256的序列。 %h:歸檔日誌線程號。 %I:Oracle數據庫的DBID。 %M:當前時間中的月,格式爲MM。 %N:表空間名稱。 %n:數據庫名稱,而且會在右側用x字符進行填充,使其保持長度爲8。 %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。 PS: 若是在BACKUP命令中沒有指定FORMAT選項,則RMAN默認使用%U爲備份片斷命名。

原文出處:https://www.cnblogs.com/WoLykos/p/11585744.html

相關文章
相關標籤/搜索