RMAN 常用命令 1 [final]
一,準備工作(如果需使用恢復目錄) :
1). 建立catalog資料庫(假設名稱為rman)
2). 建立用於恢復目錄的表空間
SQL> create tablespace rcat_tbs datafile
'D:\oracle\product\10.2.0\oradata\rman\rman_tbs01.dbf' size 200M;
3). 建立使用者
SQL> create user rman_cat identified by oracle default tablespace
rcat_tbs temporary tablespace temp ;
SQL> alter user rman_cat quota unlimited on rcat_tbs;
SQL> grant recovery_catalog_owner to rman_cat ;
SQL> grant connect , resource to rman_cat ;
4). 建立恢復目錄 (建立恢復目錄都做了什麼 ??? )
C:\>rman catalog
恢復管理器: Release 10.2.0.1.0 - Production on 星期一 5月 23 09:15:42 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到恢復目錄資料庫
RMAN> create catalog tablespace rcat_tbs ;
恢復目錄已建立
5). 透過RMAN連線到目標庫和恢復目錄後,將目標庫註冊到恢復目錄中。
C:\>rman target catalog
恢復管理器: Release 10.2.0.1.0 - Production on 星期一 5月 23 09:19:38 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: TEST01 (DBID=3556425887)
連線到恢復目錄資料庫
RMAN> register database;
註冊在恢復目錄中的資料庫
正在啟動全部恢復目錄的 resync
完成全部 resync
6). RMAN備份(測試)
RMAN> backup device type disk format 'D:\rmanbak\%U' database plus archivelog;
二,常用命令 :
1. 備份log以append方式儲存在log檔案中.
C:\>set ORACLE_SID=test01
C:\>rman target / log=c:\rman.log append
RMAN> backup device type disk format 'D:\rmanbak\%U' database ;
其中log=c:\rman.log,表示RMAN所有的輸出都不會顯示在螢幕上,而是
全都輸出到rman.log 中, append表示追加.
2. 檢視RMAN配置
RMAN> show all;
使用目標資料庫控制檔案替代恢復目錄
RMAN 配置引數為:
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 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 'D:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\SNCFTEST01.ORA'; # default
RMAN> show device type;
RMAN 配置引數為:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
RMAN>
3. 使用Configure修改選項值
configure命令選項值修改很簡單,可以先透過show all 顯示,然後修改。
RMAN > show all ;
....
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
....
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON ;
新的 RMAN 配置引數:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功儲存新的 RMAN 配置引數
正在啟動全部恢復目錄的 resync
完成全部 resync
登入目標庫,修改的部分可以透過 select * from v$rman_configuration; 查詢到。
再次show all 檢視CONTROLFILE AUTOBACKUP後面的 # default 會消失。說明以前
更改過,修改回OFF之後同樣後面的 # default 也是消失的 。
4. PARALLELISM, BACKUP SET,BACKUP PIECES, FILESPERSET, MAXSETSIZE,MAXPIECESIZE
A. 如果設定了PARALLELISM=3,在RUN中沒有單獨透過ALLOCATE CHANNEL指定通道,
它會預設使用PARALLELISM 設定的通道數目。
RMAN > configure device type disk parallelism 3 ;
B. 如果在run命令塊中指定了allocate channel,那麼設定的parallelism配置的
並行通道不起作用,以 allocate channel 為準。
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
}
C. 備份片(BACKUP PIECE)是物理概念,即作業系統中的檔案。每個backup set預設包
含一個backup piece,但是piece的數量還受到maxpiecesize影響,但超過maxpiecesize
時就會產生多個 piece。設定最大備份片大小:
RMAN > configure channel device type disk maxpiecesize 10240 M ;
D. 備份集(BACKUP SET)是邏輯概念,一次備份的backup set的數量可以由FILESPERSET
引數設定,所以如果備份的檔案數超過此引數就會產生多個backup set,
E. FILESPERSET : 表示每個備份集(backup set)包含多少個資料檔案(dbf檔案)
或歸檔日誌檔案 (注意不是備份片檔案), 如果備份的檔案數超過此引數就會產生
多個備份集 .
G. MAXSETSIZE
一個資料庫的備份是由多個backup set組成的,一個backup set 可能是由多個backup
piece組成的。
maxsetsize的設定更多側重的是最佳化,它定義了一個backupset的大小,從而rman就會自動
的控制這個backup set包含多少個datafile或archive log等檔案。其作用是與filesperset
差不多的。
maxpiecesize側定的是限制, 因為實際生成的檔案是piece,如果你的檔案系統不支援
大檔案,最大的檔案則為2GB,當然要做maxpiecesize的設定,否則會報錯。
H . 資料塊大小不同的檔案不能在同一備份集中。
select * from v$datafile;
select * from v$controlfile;
select * from v$archived_log;
資料檔案和控制檔案的block_size = db_block_size = 16K, 歸檔日誌的block_size = 512,
資料檔案,控制檔案能儲存在同樣的備份集上,但是不能與歸檔日誌儲存在同樣的備份集上。
如果啟動了控制檔案自動備份,那麼控制檔案所在的備份檔案會單獨生成一個備份集,不會
與資料檔案備份集合並在一起
I. 檔案數,通道數,備份集的關係
例子 :
(1). filesperset設定為6,資料檔案數目為30,通道資料為4,透過30/4可以得
出每個備份集可含有8個檔案,取6和8中較小的值6,那麼30/6=5個備份集,那
麼4個通道肯定都有事情可做了。
(2). 如果不指定filesperset,假設資料檔案數目為30,通道資料為4,透過30/4
可以得出每個備份集可含有8個檔案,比較8和預設值64,我們取其中較小的8,
那麼也可以保證4個通道都有事情可做 。 備註: 每個備份集中包含的最大的
檔案數目(dbf數量)為64 。
5. 使用RMAN進行備份
備份整個庫:
RMAN > backup database;
RMAN > backup as backupset database format '/u01/cfbak/full_bak_%U';
(1). 表示對整個庫進行備份,RMAN自動建立通道。
(2). 如果資料庫為非歸檔模式,需要資料庫為mount模式進行RMAN備份。
(3). 若是歸檔模式,資料庫可以open,也可以mount,但不能關閉(可在關閉狀態恢復資料庫)。
(4). 不指定備份路徑的情況下, 備份會放在ORACLE_HOME下的類似
\FLASH_RECOVERY_AREA\TEST01\BACKUPSET\2011_08_11 目錄下,控制檔案及spfile自動
備份的部分會在 FLASH_RECOVERY_AREA\TEST01\AUTOBACKUP\2011_08_11 下。
只備份一個表空間:
RMAN > BACKUP TABLESPACE SYSTEM;
RMAN > backup as backupset tablespace users format '/data/backup/tbs_users_%U' ;
只備份資料檔案
RMAN > backup as backupset datafile 4 format '/data/backup/df_#4_%U' ;
在備份資料檔案時,為了加快速度,可以手動指定為某些檔案設定多個通道,也可以透過
parallelism引數自動建立多個通道,需要注意的是,透過parallelism自動建立的多個通
道可能用不上。
例子:
RMAN > run{
allocate channel c1 device type disk format 'D:\%U';
allocate channel c2 device type disk format 'D:\%U';
backup as backupset datafile 1,2,3,4 ;
sql 'alter system archive log current' ;
}
RMAN > run{
allocate channel c1 device type disk format '/data/backup/%U';
allocate channel c2 device type disk format '/data/backup/%U';
backup as backupset
(datafile 1,4 channel c1)
(datafile 2,3 channel c2);
sql 'alter system archive log current' ;
}
也可以不指定通道的格式,將備份集放在同一個目錄下(注意其中的分號):
RMAN > run{
allocate channel c1 device type disk ;
allocate channel c2 device type disk ;
backup as backupset format '/data/backup/%U'
(datafile 1,4 channel c1)
(datafile 2,3 channel c2);
sql 'alter system archive log current' ;
}
不具體指定哪些通道負責哪些檔案,RMAN自動決定:
RMAN > run{
allocate channel c1 device type disk ;
allocate channel c2 device type disk ;
backup as backupset format '/data/backup/%U'
(database) ;
sql 'alter system archive log current' ;
}
這樣RMAN會按照備份集大小尺寸相差不多的原則,自動組合資料檔案,最終生成
的兩個備份集的大小尺寸差不多。
我們也可以配置parallelism來配置多個通道:
RMAN > configure device type disk parallelism 3 backup type to backupset ;
以上設定,在每次備份時都會預設自動生成3個通道,執行決定每個通道負責備份
哪些資料檔案,最後得到的3個備份集的尺寸大小會差不多。
RMAN > backup as backupset database format '/data/backup/full_bak_%U' ;
備份集的壓縮:
Oracle10g開始,RMAN備份提供對備份集檔案的壓縮,當然只對備份集有效,對映象
副本無效,命令如下, 一般是大概5:1的壓縮 :
RMAN > backup as compressed backupset database ;
壓縮比比較理想。不過壓縮備份集雖能夠節省一些儲存空間,但會降低備份和恢復時
的速度,如何取捨就取決於實際需求了。
RMAN配置中如何去掉SBT_TAPE
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' clear;
6. RMAN備份型別二 - 鏡象副本(Image Copy)
映象副本(Image copy): 與手工OS Copy備份資料檔案類似,是一個資料檔案生成
一個映象副本檔案(資料庫資料檔案、歸檔重做日誌或者控制檔案的精確副本),不
同的是這個過程由RMAN完成,RMAN複製的時候也是一個資料塊一個資料塊(Oacle block)
的複製,同時預設檢測資料塊是否出現物理損壞(預設不會進行邏輯損壞檢查,需要手
工啟動),且不需要將表空間置為begin backup狀態,和備份集型別不同在於生成的
映象副本中包含使用過的資料塊,也包含從來沒有用過的資料塊 。
一個image copy是對資料庫檔案的二進位制複製,與os的複製命令相同。不同的是rman
的image copy會將備份資訊記錄在rman的備份資訊庫,這些image copy可以被rman用
來恢復檔案,而os的copy命令產生的備份檔案則需要手動的加入到rman的備份資訊庫
才能被rman使用。
Image copy只能建立在disk上,使用as copy選項的backup命令將會建立image copy的備份。
Copy映象複製至少要在mount 狀態下執行(需要讀取控制檔案中的檔案號 等)。
Copy映象複製可作為增量備份的 Level0
Oracle10g開始,允許使用單條命令"backupascopy"進行資料庫複製。
備份集/熱備份和映象副本的區別 ----
A. 鏡象副本複製檔案過程透過RMAN進行,備份資訊會記錄在RMAN資訊庫中。
B. 與熱備份相似,備份所有的資料塊,且備份檔案以datafile存在。
C. 鏡象備份只能備份在disk上,不能在磁帶上。
D. 與備份集相似,備份過程中可以進行物理損壞的檢測。
E. 可以使用作業系統工具或 RMAN 建立映象副本,也能夠使用作業系統工具
或RMAN 直接利用映象副本恢復資料庫,而無須任何額外處理。
F. 映象副本可以進行增量備份動作。
G. 生成映象副本的好處在於恢復時速度相對備份集來說要更快 ,恢復時可以
不用複製,指定新位置即可。
H. OS的copy命令產生的備份檔案需要手動的加入到rman的備份資訊庫才能被rman使用。
I. 備份集可以包含多個資料檔案,備份中可以壓縮及增量備份,但必須使用RMAN恢復。
J. 備份集的格式為RMAN自有格式 。
K. RMAN壓縮只對備份集有效,對鏡象副本無效。
鏡象副本的原理 ---
鏡象副本和備份集的原理一樣,進行Oracle block塊的複製,只是整個檔案的塊都需要
掃描到,所有的塊都會被複制到副本中,處理正在被更新的block與RMAN備份集一樣(協
調DBWn將髒塊處理到disk之後再進行)。
操作鏡象副本備份 ---
使用RMAN生成映象副本檔案,可以使用以下命令:
RMAN > backup as copy
datafile '/u01/app/oradata/ora10g/users01.dbf'
format '/u01/backup/users01.dbf' ;
或者使用copy命令:
RMAN > run {
allocate channel c1 device type disk ;
copy datafile 'D:\oracle\product\10.2.0\oradata\test01\USERS01.dbf'
to 'D:\USERS01.bak' ;
}
使用以上命令的時候,可以使用如下命令批次處理資料檔案:
SELECT 'datafile '||''''||name||''''||'
to '||''''||'/backup'||name||''''||',' FROM v$datafile;
7. Backup命令的選項
A. 若需要提高備份速度,可以適時取消RMAN中的物理檢測(一般不建議) :
RMAN > backup nochecksum database ;
B. 預設情況下,RMAN不會檢查資料塊是否發生邏輯損壞,可以啟動邏輯壞塊檢查:
RMAN > backup check logical database;
C. RMAN備份時,只要發現了新的壞塊,就會立刻停止備份,如果發現的是上次備份時
已經發現的壞塊,則RMAN會繼續備份。 我們可以設定maxcorrupt引數來通知RMAN,
發現壞塊個數超過指定的數量時才停止備份:
RMAN > run{
set maxcorrupt for datafile 5,7,8,9 to 10 ;
backup database ;
}
表示當在5,7,8,9號檔案中的壞塊超過10個時就停止備份,其他檔案碰到新壞塊就
停止備份。
E. 我們也可以使用validate 來檢驗壞塊, 它不會生成物理的備份檔案 。
RMAN > backup validate database ;
F. 跳過離線或不可訪問或只讀的檔案,也可以同時都包含。
RMAN > backup database skip offline ;
RMAN > backup database skip inaccessible;
RMAN > backup database skip readonly;
RMAN > backup database skip inaccessible skip readonly;
G. 只備份上次備份以來新加入的檔案
RMAN > backup database not backed up;
H. 對那些在指定的時間範圍內,沒有被備份過的資料檔案進行備份,如下:
RMAN > backup database not backed up since time='sysdate-2' ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-705805/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN 常用命令 3 [final]
- RMAN 常用命令 2 [final]
- RMAN常用設定[final]
- RMAN常用命令
- RMAN 常用命令
- 【RMAN】Oracle rman 常用命令參考Oracle
- Oracle rman 常用命令Oracle
- RMAN常用命令11
- RMAN說,我能備份(7)--RMAN常用命令
- 10g/11g/12c RMAN學習(final) - 不同版本下的RMAN壓縮演算法 1演算法
- RMAN說,我能備份(8)--RMAN常用命令續
- RMAN常用命令——不斷整理中
- final design of OA project part 1Project
- Final Cut Pro中文新手教程 (1) 基礎認識Final Cut Pro
- rman的常用命令和asm檢視的命令ASM
- Hbase shell 常用命令1
- 常用命令rsyncscp-1
- RMAN 異機遷移實戰操作-附加常用命令
- JBoss Wildfly (1) —— 7.2.0.Final編譯編譯
- RMAN 總結篇 1 - (轉)
- Oracle AWR 介紹及報告分析(1) finalOracle
- 10g/11g/12c RMAN學習(final) - show all 4
- RMAN備份型別 - 備份集(backupset)和映象副本(Image copy) [final]型別
- 10g/11g/12c RMAN學習(final) - 不同版本下的RMAN壓縮演算法 2演算法
- 【RMAN】RMAN備份恢復1 RMAN冷備指令碼與crontab計劃任務指令碼
- NBU常用命令1——介質管理
- final
- java中final類 跟final方法Java
- [Oracle] rman備份的指令碼(1)Oracle指令碼
- oracle11gr1 RMAN bakcup and restoreOracleREST
- linux下常用命令總結_1Linux
- 1.淺談final,finally,finalize的區別。
- JAVA finalJava
- rman的一點簡單總結 1
- oracle實驗記錄Rman duplicate database(1)OracleDatabase
- 總結:ORACLE RAC 常用命令之CRS(1)Oracle
- Java中static、final、static final的區別Java
- Java中final與static final的區別Java