一:RMAN是Oracle提供的一個Database Backup和恢複工具。
特點:
1)備份和恢複資料庫、資料表空間、控制檔案、資料檔案和歸檔檔案
2)校正備份資料集
3)通過備份檢查損壞塊
4)增量備份
5)指令碼能力
6)備份和恢複獲得更好的效能
7)結合OS一起實現自動備份
8)支援OPS
----------------------------------------------------------------------------
二:RMAN的一些術語
Target Database 被管理目的資料庫
Recover Catalog 儲存備份資訊的資料庫使用者
Channel 在備份和恢複時使用的通道,檔案或磁帶
Backup set 一次的備份操作輸出的一個或多個檔案
Backup piece 備份組中的一個物理檔案稱為piece
Image copies 資料庫檔案的一個拷貝
------------------------------------------------------------------------------
3:使用rman的準備
1:將要備份的資料庫設成歸檔模式。(具體方法精華區裡有詳細介紹)
2:用dbca建立rman資料庫(可以在本機也可以在其他機器)
3:windows在註冊表,unix在.profile裡修改參數:
NLS_DATE_LANGUAGE=AMERICAN
NLS_DATE_FORMAT=MON DD YYYY HH24:MI:SS
4:建立使用者rman
create tablespace rman_ts datafile 'c:/oracle/oradata/rmants.dbf'
size 20m
default storage(
initial 100k
next 100k
pctincrease 0
)
create user rman identified by rman
default tablespace rman_ts
Temporary tablespace temp
quota unlimited on rman_ts
grant recovery_catalog_owner to rman;
grant connect,resource to rman;
------------------------------------------------------------------------------
4:開始使用
1)C:/>rman
RMAN>connect catalog rman/rman@rman
RMAN>create catalog tablespace rman_ts
RMAN>connect target system/manager
RMAN>register database;
RMAN>resync catalog;
2):--全部備份:
RMAN>Run {
2> Allocate channel c1 type disk;
3> Backup full filesperset 3
4> (database format 'e:/bk/full_%p%d.%s');}
3):--備份資料表空間USERS 注意資料表空間名大寫。
RMAN>run{
2> allocate channel c1 type disk;
3> backup tablespace "USERS" filesperset 1
4> format 'e:/bk/users_%t%s.%p';
5> }
其它備份方式看我具體步驟,作了這麼多眼花了。
-----------------------------------------------------------------------------
以下是我操作時從螢幕拷貝下來的內容
C:/>rman
RMAN>connect catalog rman/rman@rman
RMAN-06008:串連到恢複目錄資料庫
RMAN-06428:未安裝恢複目錄
RMAN>create catalog tablespace rman_ts
RMAN-06431:恢複目錄已建立
RMAN>connect target system/manager
RMAN-06005:串連到目標資料庫:TULIP (DBID=3789239814)
RMAN>register database;
RMAN-03022:正在編譯命令:register
RMAN-03023:正在執行命令:register
RMAN-08006:註冊在恢複目錄中的資料庫
RMAN-03023:正在執行命令:full resync
RMAN-08002:正在啟動全部恢複目錄的 resync
RMAN-08004:完成全部 resync
RMAN>resync catalog;
RMAN-03022:正在編譯命令:resync
RMAN-03023:正在執行命令:resync
RMAN-08002:正在啟動全部恢複目錄的 resync
RMAN-08004:完成全部 resync
--------------------------------------------------------------------
--全部備份:
RMAN>Run {
2> Allocate channel c1 type disk;
3> Backup full filesperset 3
4> (database format 'e:/bk/full_%p%d.%s');}
RMAN-03022:正在編譯命令:allocate
RMAN-03023:正在執行命令:allocate
RMAN-08030:分配的通道:c1
RMAN-08500:通道 c1:sid=16 devtype=DISK
RMAN-03022:正在編譯命令:backup
RMAN-03023:正在執行命令:backup
RMAN-08008:通道 c1:正在啟動 full 資料檔案備份組
RMAN-08502:set_count=2 set_stamp=505150811 creation_time=9月 19 2003 15:40:11
RMAN-08010:通道 c1:正在指定備份組中的資料檔案
RMAN-08522:輸入資料檔案 fno=00003 name=C:/ORACLE/ORADATA/TULIP/USERS01.DBF
RMAN-08522:輸入資料檔案 fno=00007 name=C:/ORACLE/ORADATA/TULIP/DR01.DBF
RMAN-08522:輸入資料檔案 fno=00004 name=C:/ORACLE/ORADATA/TULIP/TEMP01.DBF
RMAN-08013:通道 c1:已建立 1 段
RMAN-08503:段 handle=E:/BK/FULL_1TULIP.2 comment=NONE
RMAN-08525:備份組完成,經過時間:00:00:26
RMAN-08008:通道 c1:正在啟動 full 資料檔案備份組
RMAN-08502:set_count=3 set_stamp=505150837 creation_time=9月 19 2003 15:40:37
RMAN-08010:通道 c1:正在指定備份組中的資料檔案
RMAN-08522:輸入資料檔案 fno=00001 name=C:/ORACLE/ORADATA/TULIP/SYSTEM01.DBF
RMAN-08011:備份組中包括當前控制檔案
RMAN-08522:輸入資料檔案 fno=00006 name=C:/ORACLE/ORADATA/TULIP/INDX01.DBF
RMAN-08013:通道 c1:已建立 1 段
RMAN-08503:段 handle=E:/BK/FULL_1TULIP.3 comment=NONE
RMAN-08525:備份組完成,經過時間:00:00:45
RMAN-08008:通道 c1:正在啟動 full 資料檔案備份組
RMAN-08502:set_count=4 set_stamp=505150882 creation_time=9月 19 2003 15:41:22
RMAN-08010:通道 c1:正在指定備份組中的資料檔案
RMAN-08522:輸入資料檔案 fno=00002 name=C:/ORACLE/ORADATA/TULIP/RBS01.DBF
RMAN-08522:輸入資料檔案 fno=00005 name=C:/ORACLE/ORADATA/TULIP/TOOLS01.DBF
RMAN-08013:通道 c1:已建立 1 段
RMAN-08503:段 handle=E:/BK/FULL_1TULIP.4 comment=NONE
RMAN-08525:備份組完成,經過時間:00:00:46
RMAN-03023:正在執行命令:partial resync
RMAN-08003:啟動部分恢複目錄的 resync
RMAN-08005:完成部分 resync
RMAN-08031:釋放的通道:c1
-----------------------------------------------------------------------------
--備份資料表空間USERS 注意資料表空間名大寫。
RMAN>run{
2> allocate channel c1 type disk;
3> backup tablespace "USERS" filesperset 1
4> format 'e:/bk/users_%t%s.%p';
5> }
RMAN-08031:釋放的通道:c1
RMAN-03022:正在編譯命令:allocate
RMAN-03023:正在執行命令:allocate
RMAN-08030:分配的通道:c1
RMAN-08500:通道 c1:sid=16 devtype=DISK
RMAN-03022:正在編譯命令:backup
RMAN-03023:正在執行命令:backup
RMAN-08008:通道 c1:正在啟動 full 資料檔案備份組
RMAN-08502:set_count=6 set_stamp=505151314 creation_time=9月 19 2003 15:48:34
RMAN-08010:通道 c1:正在指定備份組中的資料檔案
RMAN-08522:輸入資料檔案 fno=00003 name=C:/ORACLE/ORADATA/TULIP/USERS01.DBF
RMAN-08013:通道 c1:已建立 1 段
RMAN-08503:段 handle=E:/BK/USERS_5051513146.1 comment=NONE
RMAN-08525:備份組完成,經過時間:00:00:07
RMAN-03023:正在執行命令:partial resync
RMAN-08003:啟動部分恢複目錄的 resync
RMAN-08005:完成部分 resync
RMAN-08031:釋放的通道:c1
-------------------------------------------------------------------
--備份資料檔案
RMAN>run{
2> allocate channel c1 type disk;
3> backup datafile 'c:/oracle/oradata/tulip/users01.dbf'
4> format 'e:/bk/users%t%s.%p';
5> }
RMAN-03022:正在編譯命令:allocate
RMAN-03023:正在執行命令:allocate
RMAN-08030:分配的通道:c1
RMAN-08500:通道 c1:sid=16 devtype=DISK
RMAN-03022:正在編譯命令:backup
RMAN-03023:正在執行命令:backup
RMAN-08008:通道 c1:正在啟動 full 資料檔案備份組
RMAN-08502:set_count=7 set_stamp=505151699 creation_time=9月 19 2003 15:54:59
RMAN-08010:通道 c1:正在指定備份組中的資料檔案
RMAN-08522:輸入資料檔案 fno=00003 name=C:/ORACLE/ORADATA/TULIP/USERS01.DBF
RMAN-08013:通道 c1:已建立 1 段
RMAN-08503:段 handle=E:/BK/USERS5051516997.1 comment=NONE
RMAN-08525:備份組完成,經過時間:00:00:07
RMAN-03023:正在執行命令:partial resync
RMAN-08003:啟動部分恢複目錄的 resync
RMAN-08005:完成部分 resync
RMAN-08031:釋放的通道:c1
本文轉自: http://oracle.chinaitlab.com/backup/26206.html