rman备份脚本之总结分析
脚本一:
[sql]
run{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
backup database format '/opt/oracle/oradata_test/bk_db_dbf_%U.bak'
plus archivelog format '/opt/oracle/oradata_test/bk_db_log_%U.bak';
backup spfile format '/opt/oracle/oradata_test/bk_db_spfile_%U.bak';
backup current controlfile format '/opt/oracle/oradata_test/bk_db_ctl_%U.bak';
release channel ch1;
release channel ch2;}
脚本二:
[sql]
run{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
allocate channel ch3 device type disk;
allocate channel ch4 device type disk;
allocate channel ch5 device type disk;
allocate channel ch6 device type disk;
backup tag='full_db_bak' full database
include current controlfile format '/opt/oracle/ora_bak_test/bk_db_ctl_%d_%T_%s'
plus archivelog format '/opt/oracle/ora_bak_test/archivelog/bk_db_log_%d_%T_%s';
release channel ch1;
release channel ch2;
}
总结:在oracle rman备份过程中啊,如果手动指定backup controlfile如脚本1,那么这个在进行全库备份的时候,会最后把所有的元数据记录在controlfile中,当数据库崩溃的时候,我们可以还原controlfile,然后利用备份进行修复数据库。当没有使用命令指定backup controlfile的时候,如脚本2,那么数据库先执行完归档日志备份,接着备份controlfile文件,最后在完成数据文件的备份,那么这个过程元数据会无法记录在controlfile中,可以再list backup;中看到控制文件的scn并不是比任何一个备份段文件的scn都大,当数据库崩溃的时候,可以使用controlfile的备份进行控制的修复,但是无法修复数据库的数据文件了,当然了,oracle在这块做的也是留了一手,当rman需要同步控制文件中的记录或是rman需要在备份控制文件的时候都会对控制文件做一个快照,那么这个快照中就记录了备份集的元数据,从而使数据变的容易恢复了。
如下是今天做的测试:
[sql]
RMAN>
RMAN>
RMAN>
RMAN> list backup;
备份集列表
===================
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
57 3.05M DISK 00:00:45 21-3月 -13
BP 关键字: 57 状态: AVAILABLE 已压缩: NO 标记: FULL_DB_BAK
段名:/opt/oracle/ora_bak_test/archivelog/bk_db_log_ORCL_20130321_73
备份集 57 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 1 2841981 21-3月 -13 2844762 21-3月 -13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
62 Full 80.00K DISK 00:00:42 21-3月 -13
BP 关键字: 62 状态: AVAILABLE 已压缩: NO 标记: FULL_DB_BAK
段名:/opt/oracle/ora_bak_test/bk_db_ctl_ORCL_20130321_82
包含的 SPFILE: 修改时间: 21-3月 -13
SPFILE db_unique_name: ORCL
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
63 Full 9.61M DISK 00:02:45 21-3月 -13
BP 关键字: 63 状态: AVAILABLE 已压缩: NO 标记: FULL_DB_BAK
段名:/opt/oracle/ora_bak_test/bk_db_ctl_ORCL_20130321_81
包括的控制文件: Ckp SCN: 2844982 Ckp 时间: 21-3月 -13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
64 Full 20.32M DISK 00:03:00 21-3月 -13
BP 关键字: 64 状态: AVAILABLE 已压缩: NO 标记: FULL_DB_BAK
段名:/opt/oracle/ora_bak_test/bk_db_ctl_ORCL_20130321_80
备份集 64 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
5 Full 2844983 21-3月 -13 /opt/oracle/oradata/ORCL/datafile/huadan
7 Full 2844983 21-3月 -13 /opt/oracle/oradata/system_add.dbf
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
65 Full 76.78M DISK 00:03:58 21-3月 -13
BP 关键字: 65 状态: AVAILABLE 已压缩: NO 标记: FULL_DB_BAK
段名:/opt/oracle/ora_bak_test/bk_db_ctl_ORCL_20130321_79
备份集 65 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
3 Full 2844958 21-3月 -13 /opt/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_8nn6ctrr_.dbf
6 Full 2844958 21-3月 -13 /opt/oracle/oradata/sysaux_add.dbf
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
66 Full 395.54M DISK 00:04:15 21-3月 -13
BP 关键字: 66 状态: AVAILABLE 已压缩: NO 标记: FULL_DB_BAK
段名:/opt/oracle/ora_bak_test/bk_db_ctl_ORCL_20130321_78
备份集 66 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 Full 2844950 21-3月 -13 /opt/oracle/oradata