程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 一步一步學RMAN第三篇 RMAN備份演練初級篇

一步一步學RMAN第三篇 RMAN備份演練初級篇

編輯:關於SqlServer
 前面我們已經知道了如何進入rman,以及rman的一些基本命令,相信大家定會覺著rman操作的簡單,事實也確實如此,但萬不要因此小視rman的強大,簡單往往意味著靈活,靈活對於那些有心人則意味著主動權盡在掌握。

一、RMAN備份形式

  1、鏡像復制(Image CopIEs)

鏡像復制實際上就是數據文件、控制文件或歸檔文件的復制,與用戶通過操作系統命令建立的文件復制實質一樣,只不過RMAN是利用目標數據庫中的服務進程來完成文件復制,而用戶則是用操作系統命令。所以鏡像復制的方式體現不出RMAN的優勢,也並非我們討論的重點,大家了解一下即可(啥?想知道鏡像復制咋用?卡,問村長去~~~~~)。

  2、備份集(Backup Sets)

備份集是通過RMAN創建的邏輯備份對象。一個備份集中可以包含多個數據文件、控制文件或歸檔文件。備份集在物理上是由多個備份片段組成,每個備份片段是一個操作系統文件。

二、RMAN命令執行方式

  在進入演練之前,大家還有必要了解運行rman命令的方式,就目前已知的情況,共有4種運行方式。

  1、單個執行(沒啥說的,之前的示例都是這種方式)

RMAN>backup database;

  

  2、批處理(呵呵,跳票的補上)

RMAN>RUN{

.......................

.......................

}

  批處理方式實質是將原來單個執行的命令組合到一起,並放在run{}之間,這種方式最大的好處是所有在run中的命令被視為一個作業,如果作業中任何一條命令執行失敗,則整個命令停止執行,即失敗命令後的其它命令都不會再被執行。這種方式是最常使用的方式,特別對於後台執行。

  3、運行腳本(又能細分為幾種方式如下:)

C:\>rman TARGET / @backup_db.rman

RMAN> @backup_db.rman

RMAN> RUN { @backup_db.rman }

  運行存儲在恢復目錄中的腳本(需要首先為rman創建恢復目錄)

RMAN> RUN { EXECUTE SCRIPT backup_whole_db };

  看看,夠靈活吧。

  4、操作系統腳本(Linux,Windows環境下小有差異,但只是操作系統命令的不同)

C:\>rman cmdfile=backup_db.rman

明眼人看的出來,後兩種其實是前面兩種加上操作系統命令的綜合應用。

三、對數據庫進行全備

  1、使用backup database命令執行備份

RMAN> BACKUP DATABASE;

  執行上述命令後將對目標數據庫中的所有數據文件進行備份,由於沒有顯式指定FORMAT參數,rman會自動為每個備份片段命名,並保存在Oracle_HOME/database目錄下。

  當然,也可以通過顯式指定format參數來自定義備份片段的命令規則,比如:

RMAN> BACKUP DATABASE FORMAT 'D:\BACKUP\%U';

(關於%U的格式說明,請參考本篇外傳。Ooo,外傳好像還沒寫,沒關系沒關系,大家表著急,我保證大家在有生之年一定等的到的。)

2、通過list命令查看剛剛創建的備份信息:

RMAN> list backup of database;

正在使用目標數據庫控制文件替代恢復目錄

備份集列表

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

BS 關鍵字  類型 LV 大小       設備類型 經過時間 完成時間

------- ---- -- ---------- ----------- ------------ ----------

11      Incr 0  827M       DISK        00:01:30     26-6月 -07

BP 關鍵字: 11   狀態: AVAILABLE   標記:TAG20070629T150701

段名:D:\BACKUP\0CILGG8L_1_1

  備份集 11 中的數據文件列表

  文件 LV 類型 Ckp SCN    Ckp 時間   名稱

  ---- -- ---- ---------- ---------- ----

  1    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\SYSTEM01.DBF

  2    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\UNDOTBS01.DBF

  3    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\DRSYS01.DBF

  4    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\EXAMPLE01.DBF

  5    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\INDX01.DBF

  6    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\ODM01.DBF

  7    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\TOOLS01.DBF

  8    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\USERS01.DBF

  9    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\XDB01.DBF

  10   0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA;

四、備份表空間

只要實例啟動並處於加載狀態,不論數據庫是否打開,都可以在rman中對表空間進行備份,而且不需要像手動備份那樣先'ALTER TABLESPACE ... BEGIN BACKUP'。例如:

RMAN> backup tablespace jweb;

啟動 backup 於 26-6月 -07

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在啟動 full 數據文件備份集

通道 ORA_DISK_1: 正在指定備份集中的數據文件

輸入數據文件 fno=00010 name=F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA

通道 ORA_DISK_1: 正在啟動段 1 於 26-6月 -07

通道 ORA_DISK_1: 已完成段 1 於 26-6月 -07

段 handle=F:\ORAHOME1\DATABASE\0JIM0BBV_1_1 comment=NONE

通道 ORA_DISK_1: 備份集已完成, 經過

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved