2010年(61)
分类: Oracle
2010-01-26 11:12:05
通常在备份控制文件时,RMAN也会自动备份服务器端的初始化参数文件,并置于控制文件相同的备份片段中,因此极少需要单独对 SPFILE 进行备份,如果确实想单独备份也非常简单,直接使用 BACKUP SPFILE 命令即可:
RMAN> BACKUP SPFILE;
Starting backup at 29-MAR-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 29-MAR-09
channel ORA_DISK_1: finished piece 1 at 29-MAR-09
piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0FKB5AKP_1_1 tag=TAG20090329T180201 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 29-MAR-09服务器端的初始化参数文件虽然也是一个二进制文件,但用文本编辑工具都可以打开并浏览主要内容(只是不能修改),就算无法浏览也没关系,初始化参数中的各项参数在启动时也会在 A lert 文件中留下痕迹,即使丢失也比较容易重建,因此该文件备份与不备份并没有那么致命,更何况备份控制文件时也会同时备份该文件,因此大家只要知道 BACKUP SPFILE 命令可以备份初始化参数文件即可,俺个人认为,实际应用到的机率极低。
备份集也能再备份?当然可以,你觉着稀奇也罢,感叹RMAN功能之强悍也罢,但是呢,正如我们前面所说的,RMAN作为一款专业的备份工具,什么需求没见过,因此提供了这种功能就肯定有相应的现实需求。
最佳应用备份集的需求是创建备份集到磁带。对于存储设备为磁带的备份方式,有时我们可能会希望备份集先在磁盘上保存几天(便于恢复),然后再从磁盘上移至磁带设备。
备份备份集使用BACKUP BACKUPSET命令,该命令并不是通过重新读取数据文件的方式新建一个备份集,而是直接复制当前的备份集,生成一个与原备份一样的新备份集。使用BACKUP BACKUPSET命令时可以选择备份所有的备份集,也可以只备份特定的备份集(注:上述两条均特指在磁盘上的备份集,用BACKUP BACKUPSET命令只能将备份集从磁盘备份到磁盘,或者从磁盘备份到磁带,不能从磁带备份到磁带或磁带备份到磁盘),在不指定输出路径的情况下,默认情况都是从磁盘创建备份到磁盘,例如:
备份所有备份集:
备份指定的备份集:
如同备份归档文件一样,BACKUP BACKUPSET命令也支持DELETE INPUT参数,DBA可以视实际的需要,在适当位置添加该参数,以释放空间。
上述示例中出现的命令格式较多,但细细看来是否能发现一些格式上的规律?比如查看备份基本都是用“LIST BACKUP OF备份项名称”命令,如果想自定义片段的话,可以在备份命令后加上FORMAT参数(后几项没有列举加 FORMAT 参数的示例,大家千万别以为是不可以哟,俺都说了RMAN是超灵活的呢,大家一定要多多尝试,反正执行的是备份操作而不是删除,又不会破坏目标数据库,还有啥可担心的呢)。
=================================================