1、切換服務(wù)器歸檔模式,如果已經(jīng)是歸檔模式可跳過(guò)此步:
%sqlplus /nolog (啟動(dòng)sqlplus)
SQL> conn / as sysdba (以DBA身份連接
數(shù)據(jù)庫(kù))
SQL> shutdown immediate; (立即關(guān)閉數(shù)據(jù)庫(kù))
SQL> startup mount (啟動(dòng)實(shí)例并加載數(shù)據(jù)庫(kù),但不打開(kāi))
SQL> alter database archivelog; (更改數(shù)據(jù)庫(kù)為歸檔模式)
SQL> alter database open; (打開(kāi)數(shù)據(jù)庫(kù))
SQL> alter system archive log start; (啟用自動(dòng)歸檔)
SQL> exit (退出)

恢復(fù)數(shù)據(jù)庫(kù)必須在mount狀態(tài)下

2、連接:
%rman
target=rman/rman@mydb(啟動(dòng)恢復(fù)管理器)

3、基本設(shè)置:
RMAN> configure default device type to disk; (設(shè)置默認(rèn)的備份設(shè)備為磁盤(pán))
RMAN> configure device type disk parallelism 2; (設(shè)置備份的并行級(jí)別,通道數(shù))
RMAN> configure channel 1 device type disk format '/backup1/backup_%U'; (設(shè)置通道1備份的文件格式,只適用于磁盤(pán)設(shè)備)
RMAN> configure channel 2 device type disk format '/backup2/backup_%U'; (設(shè)置通道2備份的文件格式,只適用于磁盤(pán)設(shè)備)
RMAN> configure controlfile autobackup on; (打開(kāi)控制文件與服務(wù)器參數(shù)文件的自動(dòng)備份)
RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (設(shè)置控制文件與服務(wù)器參數(shù)文件自動(dòng)備份的文件格式)

4、查看所有設(shè)置:
RMAN> show all;

5、查看數(shù)據(jù)庫(kù)方案報(bào)表
RMAN> report schema;

6、備份全庫(kù):
RMAN> backup database plus archivelog delete input; (備份全庫(kù)及控制文件、服務(wù)器參數(shù)文件與所有歸檔的重做日志,并刪除舊的歸檔日志)

7、備份表空間:
RMAN> backup tablespace system plus archivelog delete input; (備份指定表空間及歸檔的重做日志,并刪除舊的歸檔日志)

8、備份歸檔日志:
RMAN> backup archivelog all delete input;

9、復(fù)制數(shù)據(jù)文件:
RMAN> copy datafile 1 to '/oracle/dbs/system.copy'; (使用report schema可以查看。該命令報(bào)告數(shù)據(jù)庫(kù)所有能備份的數(shù)據(jù)文件對(duì)象。)
RMAN> copy datafile '/export/home/oracle/oradata/support2/users01.dbf' to '$ORACLE_HOME/test.copy'; (標(biāo)準(zhǔn)用法)
RMAN> list copy of datafile '/oracle/dbs/system.copy'; (查看相對(duì)應(yīng)的文件copy)
RMAN> delete copy of datafile '/oracle/dbs/system.copy'; (刪除相對(duì)應(yīng)的文件copy)

10、查看備份和文件復(fù)本:
RMAN> list backup;

11、驗(yàn)證備份:
RMAN> validate backupset 3;

12、從自動(dòng)備份中恢復(fù)服務(wù)器參數(shù)文件:
RMAN> shutdown immediate; (立即關(guān)閉數(shù)據(jù)庫(kù))
RMAN> startup nomount; (啟動(dòng)實(shí)例)
RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup; (從自動(dòng)備份中恢復(fù)服務(wù)器參數(shù)文件)

13、從自動(dòng)備份中恢復(fù)控制文件:
RMAN> shutdown immediate; (立即關(guān)閉數(shù)據(jù)庫(kù))
RMAN> startup nomount; (啟動(dòng)實(shí)例)
RMAN> restore controlfile to '/backup1/controlfile01.ctl' from autobackup; (從自動(dòng)備份中恢復(fù)控制文件)

13、恢復(fù)和復(fù)原全數(shù)據(jù)庫(kù):
RMAN> shutdown immediate; (立即關(guān)閉數(shù)據(jù)庫(kù))
RMAN> exit (退出)
%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak (將數(shù)據(jù)文件重命名)
%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak (將數(shù)據(jù)文件重命名)
%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak (將數(shù)據(jù)文件重命名)
%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak (將數(shù)據(jù)文件重命名)
%rman
target=rman/rman@mydb(啟動(dòng)恢復(fù)管理器)
RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora (指定初始化參數(shù)文件啟動(dòng)數(shù)據(jù)庫(kù))
RMAN> restore database; (還原數(shù)據(jù)庫(kù))
RMAN> recover database; (恢復(fù)數(shù)據(jù)庫(kù))
RMAN> alter database open; (打開(kāi)數(shù)據(jù)庫(kù))

14、恢復(fù)和復(fù)原表空間:
RMAN>
sql 'alter tablespace users offline immediate'; (將表空間脫機(jī))
RMAN> exit (退出恢復(fù)管理器)
%mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (將表空間重命名)
%rman
target=rman/rman@mydb(啟動(dòng)恢復(fù)管理器)
RMAN> restore tablespace users; (還原表空間)
RMAN> recover tablespace users; (恢復(fù)表空間)
RMAN> sql 'alter tablespace users online'; (將表空間聯(lián)機(jī))

15、增量備份與恢復(fù):
第一天的增量基本備份:
RMAN> backup incremental level=0 database plus archivelog delete input;
第二天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第三天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第四天的增量差異備份:
RMAN> backup incremental level=1 database plus archivelog delete input;
第五天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第六天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第七天的增量差異備份:
RMAN> backup incremental level=0 database plus archivelog delete input;
backup incremental level=1 CUMULATIVE database plus archivelog delete input;
增量恢復(fù):
RMAN> shutdown immediate;
RMAN> exit
%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak
%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak
%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak
%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak
%rman
target=rman/rman@mydb
RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open;


基于時(shí)間點(diǎn)的恢復(fù)
export ORACLE_SID=order
rman target / nocatalog
set DBID=1454675292
startup nomount;
restore controlfile from autobackup;
alter database mount;
restore database until time "TO_DATE('03/14/07 15:00:00','MM/DD/YY HH24:MI:SS')";
recover database until time "TO_DATE('03/14/07 15:00:00','MM/DD/YY HH24:MI:SS')";
alter database open resetlogs;

基于時(shí)間點(diǎn)的恢復(fù)時(shí),rman只會(huì)尋找時(shí)間點(diǎn)之前的備份集