歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> Linux下Oracle9i RMAN備份及恢復步驟介紹

Linux下Oracle9i RMAN備份及恢復步驟介紹

日期:2017/3/2 10:38:12   编辑:Linux維護

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; (從自動備份中恢復控制文件)

14、恢復和復原全數據庫:

  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; (打開數據庫)

  15、恢復和復原表空間:

  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'; (將表空間聯機)

  16、增量備份與恢復:

  第一天的增量基本備份:

  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.

Copyright © Linux教程網 All Rights Reserved