重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
10年积累的网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有岳普湖免费网站建设让你可以放心的选择与我们合作。
rman 的增量备份
差异增量(Differential)
备份低级别或者相同级别备份以来变化的所有数据块,顾名思议,也就是要备前期备份以来的差异数据块
累积增量(Cumulative)
是备份n-1级别(上级)或更低级别以来变化的所有数据块
使用增量备份时,如何缩短RMAN 备份时间
Block ChangeTracking
Block ChangeTracking是Oracle 10g里推出的特性。 Block change tracking会记录data file里每个block的update信息,这些tracking信息保存在tracking文件里。当启动block change tracking后,RMAN使用trackingfile里的信息,只读取改变的block信息,而不用在对整个data file进行扫描,从而提高了RMAN备份的性能。
block change tracking file是bitmap file。
默认是禁用Block change tracking的,如果使用增量备份,那么建议开启block change tracking。启用BCT后,不需要其他的维护操作。
第一个0级的增量备份扫描整个datafile。随后的增量备份使用block change tracking file的信息,只扫描自上次备份以来被标记为change的block。
block change tracking文件是针对整个数据库,默认情况下,change tracking file会作为Oracle managed file,在DB_CREATE_FILE_DEST指定的目录下创建。可以放到放到其他的目录。 Oracle不建议使用rawdevice来存放change tracking file.如果是RAC环境,change tracking file必须放在共享设备上。
RMAN不支持对change tracking file的备份与恢复。当数据检测到change tracking file无效时,就会reset changetracking file。如果我们还原了数据库,那么数据库也会reset block change tracking,并从新进行tracking。
block change tracking file的大小和数据库的大小及 enabled threads of redo的数量有关系,tracking file的大小会根据数据库大小的变化和变化。和更新频率没有关系。典型的,单实例下大约DB的1/30000的block会把track。如果是RAC环境,在乘以threads。
以下因素会导致file超过估计值:
(1)为了避免tracking file占用太多的空间,初始值是10M,然后每次增加10M,如果数据库接近300G,那么trackingfile不能小于10M,如果接近600G,不能小于20M。
(2)每个datafile,在tracking file里最少需要分配320k的空间,所以如果有大量的小data file, change tracking file也会相对较大。
启用Block Change Tracking
数据库在open或者 mounted状态都可以启用block change tracking.
1.检查DB_CREATE_FILE_DEST参数配置,
DB_CREATE_FILE_DEST参数用来指定默认的Oracle Managed datafiles的位置。
在没有指定DB_CREATE_ONLINE_LOG_DEST_n参数的情况下,这个参数也可以用来作为
Oracle-managed control files和online redo logs的默认位置。
SYS@hyyk> show parameter db_create_file_dest
如果使用文件系统目录作为默认的位置,那么这个目录必须是已经存在的,Oracle不会创建这个目录。并且Oracle对这个目录有足有的操作的权限。使用OMF管理时,在这个目录下生成文件每个名称都是唯一的,这个文件也称为Oracle-Manager file。
2.设置DB_CREATE_FILE_DEST
SYS@hyyk> alter system set db_create_file_dest = '/u01/app/oracle/oradata/hyyk/' scope=both sid='*';
3.验证该参数
SYS@hyyk> show parameter db_create_file_dest
4.启用Block change tracking
SYS@hyyk> alter database enable block change tracking;
5.可以使用v$block_change_tracking视图查看tracking启动情况。
col status format a8
col filename format a60
SYS@hyyk> select status, filename from v$block_change_tracking;
禁用Block Change Tracking
SQL> alter database disable block change tracking;
更改change tracking
可以使用alter database rename语句来修改change tracking file文件的位置,该命令会更新控制文件里的信息,命令必须在mount下执行,如果DB不能shutdown,那么可以先disable,然后指定新的位置在启动,但是这样会丢失以前在tracking file里的数据。
1.查看当前文件的位置
SQL> select status, filename from v$block_change_tracking;
2.如果可能,关闭数据库
SQL> shutdown immediate
如果可以关闭数据库,跳过如下的sql继续操作
如果不能关闭,就执行如下的SQL并忽略第3步以后的步骤。
SQL> alter database disable block changetracking;
SQL> alter database enable block change tracking using file 'new_location';
注意:这里是禁用bct,在启动时更改bct位置,这种情况,会丢失所有的bct文件的内容。在下次执行0级增量备份时会扫描整个数据文件。
3.在操作系统级别移动change tracking file文件到新的位置。这个是在关闭数据库的前提下进行。
mv /u01/app/oracle/oradata/hyyk/block_change_tracking.f /u01/ block_change_tracking.f
4.启动数据库到mount状态,移动change tracking文件位置。
SQL> startup mount
SQL> alter database rename file '/u01/app/oracle/oradata/hyyk/block_change_tracking.f' to '/u01/ block_change_tracking.f';.
5.打开数据库,验证
SQL> alter database open;
SQL> select status, filename from v$block_change_tracking;