1、切換伺服器歸檔模式,如果已經是歸檔模式可跳過此步:
%sqlplus /nolog (啟動sqlplus)
SQL> conn / as sysdba (以DBA身份連線資料庫)
SQL> shutdown immediate; (立即關閉資料庫)
SQL> startup mount (啟動例項並載入資料庫,但不開啟)
SQL> alter database archivelog; (更改資料庫為歸檔模式)
SQL> alter database open; (開啟資料庫)
SQL> alter system archive log start; (啟用自動歸檔)
SQL> exit (退出)
2、連線:
%rman target=rman/rman@mydb (啟動恢復管理器)
3、基本設定:
RMAN> configure default device type to disk; (設定預設的備份裝置為磁碟)
RMAN> configure device type disk parallelism 2; (設定備份的並行級別,通道數)
RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (設定備份的檔案格式,只適用於磁碟裝置)
RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (設定備份的檔案格式,只適用於磁碟裝置)
RMAN> configure controlfile autobackup on; (開啟控制檔案與伺服器引數檔案的自動備份)
RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (設定控制檔案與伺服器引數檔案自動備份的檔案格式)
4、檢視所有設定:
RMAN> show all
5、檢視資料庫方案報表:
RMAN> report schema;
6、備份全庫:
RMAN> backup database plus archivelog delete input; (備份全庫及控制檔案、伺服器引數檔案與所有歸檔的重做日誌,並刪除舊的歸檔日誌)
7、備份表空間:
RMAN> backup tablespace system plus archivelog delete input; (備份指定表空間及歸檔的重做日誌,並刪除舊的歸檔日誌)
8、備份歸檔日誌:
RMAN> backup archivelog all delete input;
9、複製資料檔案:
RMAN> copy datafile 1 to '/oracle/dbs/system.copy';
10、檢視備份和檔案複本:
RMAN> list backup;
11、驗證備份:
RMAN> validate backupset 3;
12、從自動備份中恢復伺服器引數檔案:
RMAN> shutdown immediate; (立即關閉資料庫)
RMAN> startup nomount; (啟動例項)
RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup; (從自動備份中恢復伺服器引數檔案)
13、從自動備份中恢復控制檔案:
RMAN> shutdown immediate; (立即關閉資料庫)
RMAN> startup nomount; (啟動例項)
RMAN> restore controlfile to '/backup1' from autobackup; (從自動備份中恢復控制檔案)
13、恢復和復原全資料庫:
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; (開啟資料庫)
14、恢復和復原表空間:
RMAN> sql 'alter tablespace users offline immediate'; (將表空間離線)
RMAN> exit (退出恢復管理器)
%mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (將表空間重新命名)
%rman target=rman/rman@mydb (啟動恢復管理器)
RMAN> restore tablespace users; (還原表空間)
RMAN> recover tablespace users; (恢復表空間)
RMAN> sql 'alter tablespace users online'; (將表空間聯機)
15、增量備份與恢復:
第一天的增量基本備份:
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;
增量恢復:
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。