1. 从数据库的状态来看,可以分为两种:数据库mount备份/数据库open备份。
2. 是否做归档重做日志文件:
noarchivelog模式/
archivelog模式
noarchivelog模式只做冷备
archivelog模式可以做冷备,也可以做热备
3. maxpiecesize和filesperset参数设置
4. 备份datafiles: report schema; backup datafile 4 format '/u01/backup/md_%U';
备份tablespace: select TS#, name from v$tablespace; 查看表空间,RMAN环境下不能执行select;backup tablespace system,users format '/u01/backup/md_%U';
备份control file: (1)configure controlfile autobackup on自动备份;(2)backup current controlfile;(3) backup datafile 4 include current controlfile;
备份spfile:(1) controlfile autoback=on时自动备份 (2)backup copies 2 device type disk spfile format '';
备份archived redo log files: backup archivelog all format '/u01/backup/archived_%U' delete all input; 可以设置时间
备份数据文件的同时备份归档日志: backup database plus archivelog format '/u01/backup/db_%U';
5. 设置channel个数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
6. 一份归档脚本
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup
incremental level = 0
format '/u01/backup/df_%d_%s_%o.bak'
(datafile 1,4,5 channel c1 tag=DF1)
(datafile 2,3,9 channel c2 tag=DF2)
(datafile 6,7,8 channel c3 tag=DF3);
alter system archive log current; //做完长时间的备份后手动归档
}
7. 复制备份,放在两个文件里面:backup
copies 2 datafile 5 format '/b1','/b2';
8. 增量备份
差异增量备份(备份同级或上级的变换)/
累积增量备份(备份上级的变化)
run {
allocate channel t1 type disk;
backup
incremental level 0
format '/u01/backup/L0_%U'
database plus archivelog;
sql 'alter system archive log current';
} //0级备份,默认差异增量备份
run {
allocate channel t1 type disk;
backup
incremental level 0 cumulative
format '/u01/backup/L0_%U'
database;
sql 'alter system archive log current';
}
//0级备份,默认差异增量备份
9. 开启记录数据块中发生的变化,用来提高备份的速度,但会影响数据块的性能。
SQL>alter database enable block change tracking using file '/u01/track.bin';
关闭这个功能: SQL>alter database disable block change tracking;
在物理备库上可以开启这个功能。
10. NOARCHIVELOG模式下备份:1>.干净关闭数据库. 2>.开启到mount 3>.backup 3>.开启到open状态
11. 为备份打标签:
backup incremental level 2 datafile 4 format '/u01/backup/asdad' tag='orcl';
按照标签进行检索: list backup tag='orcl';
12.一些动态视图
v$archived_log, v$backup_corruption, v$copy_corruption,...
13. 在run中加入command信息,使能够从v$session中查询到
run {
allocate channel d1 type disk;
set command id to 'orcl';
copy datafile 1 to '/u01/backup/sys01.dbf';
}
这里指定的set command id to 'orcl' 就可以在v$session的client_info字段中显示出来。
14. 监控copy进程
select sid, spid, client_info
from v$process p, v$session s
where p.addr = s.paddr
and client_info like '%id=rman%';