rman的學習

regonly1發表於2009-08-06
rman一直是我在Oracle裡面最不懂的一塊。
一說起rman我就如一個三歲小孩看高等代數一樣,太深奧了,聽了雲裡霧裡。
所以今天開始著重學習一下rman。
首先做一個全庫備份:
[oracle@localhost ~]$ rman
Recovery Manager: Release 10.2.0.1.0 - Production on 星期四 8月 6 21:58:35 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
RMAN> connect target;
connected to target database: ORCL (DBID=1213195129)
RMAN> backup database;
Starting backup at 06-8月 -09
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=143 devtype=DISK
............
很成功。不過備份檔案被放到哪裡去了呢?由於我預計全備份會佔用很大的空間(包括資料檔案等)。
所以我ctrl+c掉了。結果本來應該可以在$ORACLE_HOME/db_1/dbs下面的備份檔案沒有找到。
為什麼?難道找錯路徑了?
於是找google,檢視如何設定rman備份的預設路徑,不過配置命令在我看來有點長了:
RMAN> configure channel device type disk format '/data/backup/%d_db_%u';
old RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/data/arch/%d_db_%u';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/data/backup/%d_db_%u';
new RMAN configuration parameters are successfully stored
 
於是再進行全庫備份,此時可以發現/data分割槽的空間在不斷增長了:
[oracle@localhost ~]$ while true; do df -ah /data/ | grep /data; sleep 1; done
/dev/sdd              7.9G  505M  7.0G   7% /data
/dev/sdd              7.9G  507M  7.0G   7% /data
/dev/sdd              7.9G  509M  7.0G   7% /data
/dev/sdd              7.9G  511M  7.0G   7% /data
/dev/sdd              7.9G  513M  7.0G   7% /data
/dev/sdd              7.9G  515M  7.0G   7% /data
/dev/sdd              7.9G  516M  7.0G   7% /data
/dev/sdd              7.9G  518M  7.0G   7% /data
/dev/sdd              7.9G  520M  7.0G   7% /data
從這裡也可以看出每秒的磁碟寫在2M左右。

而且透過觀察磁碟讀寫情況,也可以看出,此時這兩個分割槽的讀寫很厲害:
[oracle@localhost backup]$ iostat -xtc 1 /dev/sd[cd]
Linux 2.6.18-8.el5 (localhost.localdomain)      08/06/2009      _i686_  (1 CPU)
 
08/06/2009 10:35:49 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00   10.10   89.90    0.00    0.00
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sdc               0.00     4.04    0.00    0.00     0.00     0.00     0.00     2.19    0.00   0.00 101.31
sdd               0.00  4961.62    0.00  121.21     0.00 38270.71   315.73   145.10 1194.12   8.36 101.31
08/06/2009 10:35:50 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.98    0.00    9.80   89.22    0.00    0.00
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sdc               0.00     0.00    0.00    0.00     0.00     0.00     0.00     2.95    0.00   0.00  98.33
sdd               0.00  1862.75    0.00  116.67     0.00 36705.88   314.62   123.91 1211.56   8.43  98.33
08/06/2009 10:35:51 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    8.08   91.92    0.00    0.00
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sdc               0.00     3.03    1.01    3.03   258.59    80.81    84.00     2.68 2134.25 247.25  99.90
sdd               0.00    23.23    0.00   82.83     0.00 25842.42   312.00    27.88 1175.39  12.02  99.60
其中sdc是資料所在分割槽,sdd是備份所在分割槽。
 
由於可以預計的備份空間會在7G左右,所以沒有繼續備份下去。也做ctrl+c取消掉了。
這時,之前為什麼找不到備份檔案的原因找到了:如果中途取消備份,rman會將之前
的檔案刪除掉。保證不會留有垃圾檔案。這個與我平時見到的一些操作不同,如果中
途被取消,檔案會仍舊放在那邊。
 
是否還有其他的顯式指定備份路徑呢?
繼續google,果然找到一個:
RMAN> backup database format '/data/backup/%U.RMN';
然後也按照這個路徑進行備份了。
需要注意的是,以上備份都是在archivelog模式下做的。如果在noarchivelog模式下,
則會報:非歸檔模式下不能備份的錯誤。
 
好了,以上是一個簡單的全庫備份及備份檔案路徑設定操作。
 
--------------------------------------------華麗的分割線----------------------------------------------
 
然後開始學習rman的第一步:
檢視配置引數:
RMAN> show all;
RMAN configuration parameters are:
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 CHANNEL DEVICE TYPE DISK FORMAT   '/data/backup/%d_db_%u';
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 '/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f'; # default

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

相關文章