七. 联机RMAN 数据库备份

7.1 联机数据库备份

要使用RMAN执行联机备份操作,数据库必须置于Archivelog 模式。 如果不在归档模式,则尝试联机备份时RMAN就会生成一个错误。

Oracle 归档与非归档的切换

http://blog.csdn.net/tianlesoftware/archive/2009/10/19/4693470.aspx

连接备份示例:

RMAN> Configure default device type to disk;

RMAN> configure channel 1 device type disk format 'F:/backup/orcl_%U.bak';

RMAN> backup database plus archivelog tag='ORCL';


7.2 表空间备份

可以简单的使用具有tablespace 参数的backup 命令来执行一个表空间的备份操作:

Backup tablespace dave;

如果同时要备份归档的重做日志,可以执行:

Backup tablespace dave plus archivelog;

我们要确保备份的是当前的控制文件:

Backup tablespace users include current controlfile plus archivelog;


7.3 数据文件备份

RMAN 允许使用带有datafile 参数的backup 命令来备份数据文件,datafile 参数后面是要备份的文件名或数据文件号。

查看数据文件号:

SQL> select file_id,file_name from dba_data_files;

  FILE_ID FILE_NAME

---------- -----------------------------------------------------

        4 D:/APP/ADMINISTRATOR/ORADATA/ORCL/USERS01.DBF

        3 D:/APP/ADMINISTRATOR/ORADATA/ORCL/UNDOTBS01.DBF

        2 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSAUX01.DBF

        1 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSTEM01.DBF

        5 D:/APP/ADMINISTRATOR/ORADATA/ORCL/DAVE0.DBF

备份:

RMAN>Backup datafile 5;

RMAN>Backup datafile 'D:/APP/ADMINISTRATOR/ORADATA/ORCL/DAVE0.DBF';

RMAN>Backup datafile 'D:/APP/ADMINISTRATOR/ORADATA/ORCL/DAVE0.DBF' plus archivelog;


7.4 归档的重做日志备份

要备份所有的归档重做日志,可以用backup archivelog all. 还可以备份指定范围内的归档的重做日志,这里有多个选项,包括时间,SCN或者重做

日志序列。

Backup archivelog all;

Backup archivelog from time 'sysdate-1';

Backup archivelog from sequence 400;

一旦备份完成,就可以使用RMAN的 Delete input 选项来删除这些归档重做日志。

Backup archivelog all delete input;

Backup archivelog from sequence 400 delete input;

也可以指示RMAN 备份归档的重做日志多个副本。 在下面的示例中,我们使用具有not backed up n times 参数的backup命令来确保至少备份3次重做

日志,并且不会再次备份已经备份超过3次的归档重做日志。

Backup archivelog not backed up 3 times;

还可以使用backup 与until time 参数来确保归档重做日志在磁盘上保留一定的天数:

Backup archivelog all delete input until time 'sysdate-2';

注: not backed up 参数和 delete input 参数相互排斥,不管归档重做日志的备份次数为多少,delete input 参数都会删除这个归档的重做日志


7.5 控制文件和服务器参数文件备份

使用backup spfile 命令可以备份服务器参数文件。

Backup current controlfile;

Current controlfile 参数还提供一个for standby子句,这个子句会创建一个备用数据库要用的备份控制文件。可以使用backup 命令的

controlfilecopy 参数来创建一个含有外部创建的控制文件备份的备份集,执行alter database backup controlfile to ' filename' 命令或者RMAN

的copy 命令可以创建备用的数据库控制文件。 此外,还可以备份由alter database create standby controlfile 命令创建的备用数据库控制文件

,该功能的有点在于可以使用外部控制文件备份文件,在RMAN中注册这些文件,然后创建一个含有控制文件备份的备份集。

Alter database backup controlfile to 'd:/backup/orcl_backup.ctl';

Backup controlfilecopy 'd:/backup/orcl_backup.ctl';


7.6 备份集备份

我们可能现在磁盘上备份数据,然后在磁带上备份备份集。 在Oracle 10g中,RMAN 通过backup 命令支持这种操作。

使用backup backupset 命令可以选择备份所有备份集,也可以选择备份特定的备份集。另外,只能将备份集从磁盘备份到磁盘,或者将备份集从磁盘

备份到磁带。在备份备份集中,可以使用delete input 选项在备份操作成功后删除源备份集的文件。

Backup backupset all;

Backup backupset all format='d:/backup/orcl_%U.bak' tag='ORCL' channel 'ORA_DISK_1';

Backup backupset complete before 'sysdate-2';

Backup backupset complete before 'sysdate-2' delete input;

Backup backupset complete after 'sysdate-2' delete input;


7.7 闪回恢复区备份

RMAN 提供了对backup recovery area 命令将整个FRA备份到磁盘的功能,但并不是FRA中所有的文件都备份,备份文件包括:完整的备份集 和 增量

备份集,控制文件自动备份,归档日志 和 数据文件副本。 如果备份的FRA中包含闪回日志,当前的控制文件以及联机重做日志,则不会备份这些文

件。 注意,必须将这些文件备份到磁带上。


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html