ITPub博客

首页 > 数据库 > Oracle > RMAN的使用(四)

RMAN的使用(四)

原创 Oracle 作者:KFCLYY 时间:2019-12-25 21:18:19 0 删除 编辑

七、备份控制文件

RMAN可以单独备份控制文件,如果没有启用了快闪恢复区,则使用format参数指定控制文件的备份目录(无论是否启用快闪恢复区时,都可以用参数format参数指定控制文件的备份目录)。

RMAN> backup current controlfile format '/u01/backup_control_%u.ctl';

启用快闪恢复区时:

RMAN> backup current controlfile;

可以在快闪恢复区db_recovery_file_dest路径下的backupset目录下找到备份的控制文件。

也可以设置rman自动备份控制文件,在数据库或者表空间备份时,同时对控制文件和参数文件进行备份。

RMAN> configure controlfile autobackup on;


八、脱机备份

启动数据库到mount状态,进行整个数据库脱机备份。脱机备份在归档和非归档条件下都可以操作。

RMAN> shutdown immediate

RMAN> startup mount

RMAN> backup as compressed backupset database;

RMAN> backup as compressed backupset tablespace users;

RMAN> backup as compressed backupset datafile 4;

RMAN> sql 'alter database open';


九、联机备份

前提条件:

1.设置快闪恢复区

2.设置日志归档:

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;


1.备份整个数据库

RMAN> backup as compressed backupset database;

注意:这里备份的整个数据库时,包括数据文件、参数文件和控制文件。不包括重做日志文件和归档日志文件,所有恢复数据库时需要recovery。压缩备份的比例大概是5:1。

备份过程中,可以指定通道数,也可以指定通道备份的具体数据文件。

RMAN> run {

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

backup as backupset

(datafile 1,4 channel ch1)

(datafile 2,3 channel ch2);

}

2.备份表空间

RMAN> backup as compressed backupset tablespace users;

3.备份数据文件

RMAN> backup as compressed backupset datafile 4;

4.坏块的检测

默认情况下,RMAN在备份时会检查数据块是否发生物理损坏、不检查数据块是否发生逻辑损坏。为了加快备份速度,可以关闭数据块物理损坏检查:

RMAN> backup nochecksum tablespace users;

也可以开启数据块的逻辑损坏检查:

RMAN> backup check logical tablespace users;

RMAN在进行备份时,默认发现新的坏块,立刻停止备份。如果发现的坏块是上次已经发现的,则继续备份。可以设置参数maxcorrupt来限制坏块的数量上限,超过阈值才停止备份。

RMAN> run {

set maxcorrupt for datafile 4 to 10;

backup tablespace users;

}


十、增量备份

增量备份的两个级别:级别0和级别1。级别0的增量备份等同于全库备份,级别1 的增量备份又分两种:差异备份(上一次级别0备份或者级别1备份之后产生的变化)、累积备份(上一次级别0备份之后产生的变化)。

级别0的备份:

RMAN> backup incremental level 0 database;

级别1的差异增量备份:

RMAN> backup incremental level 1 database;

级别1的累积增量备份:

RMAN> backup incremental level 1 cumulative database;


十一、快速增量备份

增量备份需要扫描整个数据文件,即使数据文件没有任何变化。为了避免这种情况的发生,oracle提供了快速增量备份的方案。原理是将数据库中发生变化的数据库块的位置记录在一个更改跟踪文件中,下次增量备份时就可以通过该文件来备份变化的数据,减少全库扫描的时间。

1.检查是否启动块跟踪特性

SQL> col filename for a80

SQL> select * from v$block_change_tracking;

2.启动块跟踪特性

可以动态启用,如果文件丢失或者损坏,11gR2版本之后会在数据库启动时重建文件,否则需要禁用块跟踪特性才能打开数据库。

SQL> alter database enable block change tracking using file '/u01/app/chtrack.log';

3.更改块跟踪文件

更改块跟踪文件的位置或者重命名,需要数据库启动到mount状态。

SQL> shutdown immediate

SQL> startup mount

SQL> alter database rename file '/u01/app/chtrack.log' to '/u01/app/oradata/orcl/chtrack.log';

SQL> alter database open;

4.禁用块跟踪特性

SQL> alter database disable block change tracking;


十二、在映像副本上应用增量备份

RMAN> run {

backup incremental level 1 for recover of copy database;

recover copy of database;

}

第一次运行时,在执行第一条语句时,由于没有级别0的备份,因此会对整个数据库做映像副本(不是普通的副本,而是可以在其上应用增量备份的副本)。执行第二条语句时,因为没有增量备份,因为不会执行,也不会报错。

第二次运行时,由于已经有了第一次的级别0的备份,所以会生成一个级别1的增量备份,执行第二条语句时,会将第一条语句生成的增量备份应用到第一次所生成的映像副本上。如果需要恢复,先恢复映像副本,再应用最近一次增量备份以来的所有归档日志,就可以实现数据库的快速完全恢复。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917450/viewspace-2670601/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RMAN的使用(三)
下一篇: RMAN的使用(五)
请登录后发表评论 登录
全部评论
不积跬步,无以至千里

注册时间:2019-04-24

  • 博文量
    23
  • 访问量
    11870