1. 程式人生 > >17.08.15

17.08.15

空間 連接 狀態 catalog expire ase ups trac 需要

RMAN備份

不歸檔 歸檔

online offline online offline

完全 部分 完全 部分 完全 部分 完全 部分

shutdown nomount mount open

備份數據文件:

1.全數據庫備份,部分備份

2. 聯機備份(熱備份)<數據庫開啟,一致性有差別>,脫機備份(冷備份)<關閉數據庫之後備份,一致性高>

SQL> select file_id, file_name from dba_data_files;

RMAN> backup datafile 4;

RMAN> backup datafile 4, 5;

RMAN> backup datafile ‘/u01/app/oracle/oradata/orcl/users01.dbf‘; 備份數據文件

RMAN> backup tablespace users; 備份表空間(表空間中的文件)

RMAN> backup tablespace users, example;

RMAN> backup database; 備份數據庫

RMAN> list backup; 查看備份

desc v$backup_set,瀏覽器查看備份

增量備份:

RMAN> backup incremental level 0 tablespace users;

RMAN> list backup of tablespace users;

SQL> create table t1(x int) tablespace users;

SQL> insert into t1 values (1);

SQL> commit;

RMAN> backup incremental level 1 tablespace users;

RMAN> list backup of tablespace users;

SQL> create table t2(x int) tablespace users;

SQL> insert into t2 values (1);

SQL> commit;

RMAN> backup incremental level 1 cumulative tablespace users;

RMAN> list backup of tablespace users;

開啟塊跟蹤:

SQL> alter database enable block change tracking using file ‘/home/oracle/blk_trk.chg‘;

需要重新連接會話

SQL> select * from v$block_change_tracking;

SQL> select DATAFILE_BLOCKS, BLOCKS_READ, BLOCKS, USED_CHANGE_TRACKING from v$backup_datafile where INCREMENTAL_LEVEL>0;

SQL> create table t3(x int) tablespace users;

SQL> insert into t3 values (1);

SQL> commit;

RMAN> backup incremental level 1 tablespace users;

SQL> select DATAFILE_BLOCKS, BLOCKS_READ, BLOCKS, USED_CHANGE_TRACKING from v$backup_datafile where INCREMENTAL_LEVEL>0;

SQL> alter database disable block change tracking; 關閉

增量更新:

SQL> create table t1(x int) tablespace users;

SQL> insert into t1 values (1);

SQL> commit;

RMAN> backup incremental level 1 for recover of copy with tag ‘update_copy‘ tablespace users; 第一次創建的是0級備份

RMAN> list copy; 記錄timescn

SQL> insert into t1 values (2);

SQL> commit;

RMAN> backup incremental level 1 for recover of copy with tag ‘update_copy‘ tablespace users; 2次創建的是1級備份

RMAN> list backup; backupset格式

RMAN> recover copy of tablespace users with tag ‘update_copy‘;

RMAN> list copy; timescn更新

腳本形式:

RMAN> run {

backup incremental level 1 for recover of copy with tag ‘update_copy‘ tablespace users;

recover copy of tablespace users with tag ‘update_copy‘;

}

備份歸檔日誌:

RMAN> list archivelog all;

RMAN> backup archivelog all delete all input; 備份歸檔全部刪除所有輸入

RMAN> list archivelog all;

RMAN> list backup;

備份的維護:

查看:

RMAN> list backup;

RMAN> list copy;

RMAN> list backup of tablespace users;

RMAN> list backup of datafile 4;

RMAN> list archivelog all;

檢查備份:

RMAN> delete backup; 刪除備份

RMAN> delete copy;

RMAN> list backup; list copy;

RMAN> report need backup; 根據策略檢查

RMAN> backup tablespace users;

RMAN> report need backup;

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

RMAN> report need backup;

RMAN> CONFIGURE RETENTION POLICY clear;

RMAN> report obsolete; 報告所有廢棄的備份

刪除備份:

RMAN> delete backupset of tablespace users;

RMAN> delete backupset 1234;

RMAN> backup tablespace users;

RMAN> backup tablespace users;

RMAN> show all;

RMAN> delete obsolete; 刪除超過冗余度的備份

crosscheck:

RMAN> delete backup;

RMAN> backup tablespace users;

RMAN> list backup of tablespace users;

$ mv /u01/app/oracle/fast_recovery_area/ORCL/backupset/… 改名

RMAN> restore datafile 4; 報錯

RMAN> crosscheck backup;

RMAN> list backup of tablespace users; 報廢狀態

RMAN> list expired backup;

$ mv /u01/app/oracle/fast_recovery_area/ORCL/backupset/… 恢復原名

RMAN> crosscheck backup;

RMAN> list backup of tablespace users; 可用狀態

RMAN> delete expired backup;

catalog:

$ cp /u01/app/oracle/fast_recovery_area/ORCL/backupset/… 復制

RMAN> delete backup;

RMAN> list backup; backupset消失

$ mv /u01/app/oracle/fast_recovery_area/ORCL/backupset/… 恢復原名

RMAN> catalog recovery area noprompt;

RMAN> list backup; backupset恢復

17.08.15