在這裏沒有討論多麼深入的RMAN技術,也沒有告訴大家這樣去編寫備份腳本,這並不是我的初衷,我只想把我會的寫出來,和大家一起學習,一起進步,謝謝。
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;
| |