一:RMAN是Oracle提供的一個(gè)數據庫備份和恢復工具。
特點(diǎn):
1)備份和恢復數據庫、表空間、控制文件、數據文件和歸檔文件
2)校驗備份數據集
3)通過(guò)備份檢查損壞塊
4)增量備份
5)腳本能力
6)備份和恢復獲得更好的性能
7)結合OS一起實(shí)現自動(dòng)備份
8)支持OPS
----------------------------------------------------------------------------
二:RMAN的一些術(shù)語(yǔ) Target Database 被管理目的數據庫
Recover Catalog
存儲備份信息的數據庫用戶(hù)
Channel 在備份和恢復時(shí)使用的通道,文件或磁帶
Backup set 一次的備份操作輸出的一個(gè)或多個(gè)文件
Backup piece 備份集中的一個(gè)物理文件稱(chēng)為piece
Image copies 數據庫文件的一個(gè)拷貝
------------------------------------------------------------------------------
3:使用rman的準備
1:將要備份的數據庫設成歸檔模式。(具體方法精華區里有詳細介紹)
2:用dbca創(chuàng )建rman數據庫(可以在本機也可以在其他機器)
3:windows在注冊表,unix在.profile里修改參數:
NLS_DATE_LANGUAGE=AMERICAN
NLS_DATE_FORMAT=MON DD YYYY HH24:MI:SS
4:創(chuàng )建用戶(hù)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:開(kāi)始使用
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 注意表空間名大寫(xiě)。
RMAN>run{
2> allocate channel c1 type disk;
3> backup tablespace "USERS" filesperset 1
4> format 'e:\bk\users_%t%s.%p';
5> }
其它備份方式看我具體步驟,作了這么多眼花了。
-----------------------------------------------------------------------------
以下是我操作時(shí)從屏幕拷貝下來(lái)的內容
C:\>rman
RMAN>connect catalog rman/rman@rman
RMAN-06008:連接到恢復目錄數據庫
RMAN-06428:未安裝恢復目錄
RMAN>create catalog tablespace rman_ts
RMAN-06431:恢復目錄已創(chuàng )建
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:正在啟動(dòng)全部恢復目錄的 resync
RMAN-08004:完成全部 resync
RMAN>resync catalog;
RMAN-03022:正在編譯命令:resync
RMAN-03023:正在執行命令:resync
RMAN-08002:正在啟動(dòng)全部恢復目錄的 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:正在啟動(dòng) 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:已創(chuàng )建 1 段
RMAN-08503:段 handle=E:\BK\FULL_1TULIP.2 comment=NONE
RMAN-08525:備份集完成,經(jīng)過(guò)時(shí)間:00:00:26
RMAN-08008:通道 c1:正在啟動(dòng) 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:已創(chuàng )建 1 段
RMAN-08503:段 handle=E:\BK\FULL_1TULIP.3 comment=NONE
RMAN-08525:備份集完成,經(jīng)過(guò)時(shí)間:00:00:45
RMAN-08008:通道 c1:正在啟動(dòng) 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:已創(chuàng )建 1 段
RMAN-08503:段 handle=E:\BK\FULL_1TULIP.4 comment=NONE
RMAN-08525:備份集完成,經(jīng)過(guò)時(shí)間:00:00:46
RMAN-03023:正在執行命令:partial resync
RMAN-08003:?jiǎn)?dòng)部分恢復目錄的 resync
RMAN-08005:完成部分 resync
RMAN-08031:釋放的通道:c1
-----------------------------------------------------------------------------
--備份表空間USERS 注意表空間名大寫(xiě)。
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:正在啟動(dòng) 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:已創(chuàng )建 1 段
RMAN-08503:段 handle=E:\BK\USERS_5051513146.1 comment=NONE
RMAN-08525:備份集完成,經(jīng)過(guò)時(shí)間:00:00:07
RMAN-03023:正在執行命令:partial resync
RMAN-08003:?jiǎn)?dòng)部分恢復目錄的 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:正在啟動(dòng) 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:已創(chuàng )建 1 段
RMAN-08503:段 handle=E:\BK\USERS5051516997.1 comment=NONE
RMAN-08525:備份集完成,經(jīng)過(guò)時(shí)間:00:00:07
RMAN-03023:正在執行命令:partial resync
RMAN-08003:?jiǎn)?dòng)部分恢復目錄的 resync
RMAN-08005:完成部分 resync
RMAN-08031:釋放的通道:c1