备份:
// 设置文件名格式
RMAN> set controlfile autobackup format for device
type disk to 'ctl_%F';
1. RMAN> configure controlfile autobackup on; //
backup database时将自动备份
2. RMAN> backup current controlfile;
3. RMAN> backup .... include control file;
4. RMAN> backup file 1; // system datafile
自动备份
恢复 SPFILE:
SPFILE(PFILE)的丢失/损坏,对数据库不会产生致命影响,可以从其他方式恢复。
不过既然RMAN 的备份计划中包括了SPFILE 的备份博彩,那么就可以使用RMAN 来还原
SPFILE 了。
$ rman target / catalog "rman/rman@db"
RMAN> set dbid=153910023 // SET DBID
这个步骤是不能省略的,否则会报错。
RMAN> restore spfile from autobackup [MAXDAYS 100];
// 或者restore spfile;
RMAN> startup force
或者从某个备份集恢复:
RMAN> restore spfile from backupset bs_num命令。
使用 dbms_backup_restore 包恢复服务器参数文件:
在一些不常见的情况下,我们可能需要直接使用dbms_backup_restore 包来恢复
spfile。当然这个包也可以用来恢复其它数据,是常规办法都没有用的时候的一个利器。
这个包可以在数据库NOMOUNT 状态下使用。假设我们有一个自动备份文件
C-2600315304-20060829-02,我们需要从这里恢复数据,那么可以通过执行下面的脚本
来完成:
SQL>
DECLARE
DEVTYPE VARCHAR2(256);
DONE BOOLEAN;
BEGIN
DEVTYPE:=DBMS_BACKUP_RESTORE.deviceallocate(NULL);
DBMS_BACKUP_RESTORE.restoresetdatafile;
DBMS_BACKUP_RESTORE.restorespfileto('/back/SPFILE.ORA');
DBMS_BACKUP_RESTORE.restorebackuppiece(
'/back/C-2600315304-20060829-02',DONE=>done);
DBMS_BACKUP_RESTORE.devicedeallocate(NULL);
END;
转载:http://www.bcdh88.com