Jan 15, 2024 No Comments Oracle RMAN全量+增量备份脚本--生产环境可用 ``` su - oracle mkdir /backup/rmanbak ``` **1\. 全量备份** 如果要用RMAN做迁移,要打开块跟踪,可以提升增量备份的速度。打开和关闭块跟踪的方法见第五部分。 根据cpu核数,设置备份通道数。 ``` vi /backup/rmanbak/RMAN_L0_instance_bak.sh #! /bin/bash export NLS_LANG='american_america.AL32UTF8' source /home/oracle/.bash_profile current_day=`date +%Y%m%d` if [ ! -d /backup/rmanbak/$current_day ] then mkdir -p /backup/rmanbak/$current_day rman target / </dev/null #echo "the directory $Rdir/$subdir has been removed." fi chmod 775 /backup/rmanbak/RMAN_L0_instance_bak.sh chmod 775 /backup/rmanbak/RMAN_L1_instance_bak.sh chmod 775 /backup/rmanbak/del_rman_instance_bak.sh ``` **4\. 设置自动备份任务** ``` crontab -e 10 0 * * 1 /backup/rmanbak/del_rman_instance_bak.sh >> /backup/rmanbak/del_rman_backup.log 2>&1 30 0 * * 0 /backup/rmanbak/RMAN_L0_instance_bak.sh >> /backup/rmanbak/rman_backup_L0.log 2>&1 30 0 * * 1,2,3,4,5,6 /backup/rmanbak/RMAN_L1_instance_bak.sh >> /backup/rmanbak/rman_backup_L1.log 2>&1 ``` **5\. 相关ORACLE知识** > Block Change Tracking(块跟踪)主要用于RMAN备份的增量备份,将自从上一次备份以来数据块的变化记录到**block change tracking文件中**,相关后台进程CTWR(Change Tracking Writer), > > 主要目的是改善增量备份性能,RMAN可以不再扫描整个文件以查找变更数据。第一个0级的增量备份扫描整个datafile。 随后的增量备份使用block changetracking file的信息,只扫描自上次备份以 > > 来被标记为change 的block,RMAN 不会对该文件进行备份。。从10g开始提供此功能。 > > **trace 记录保留** > > Oracle 会自动管理change tracking file的大小,只保留最近最近8次blockchange 的信息。 超过8次, 那么最前面的block bitmap 信息会被current change 覆盖。要考虑change tracking file > > 的8次限制与备份策略的关系。 如果我们在0级备份之后又进行了7次不同的增量备份,那么这时block change tracking 就包含了8个bitmaps信息。 如果我们在进行1级的增量备份,那么此时的增量 > > 就不是最优的, 还会扫描整个data file。 因为我们之前0级的bitmap信息被我们当前的bitmap 信息覆盖掉了,这样就没有了参考的依据。所以,两次全量备份的时间间隔要控制在8天以内(包含)。 > > **trace 文件存放** > > oracle 不建议使用RAWdevice来存放block tracking. 如果是RAC一定要放到共享存储上。 > > **trace 文件重置** > > + change tracking file 变为无效。 > + RMAN 进行恢复时。 > > **文件大小** > > + 与数据库中的数据文件总大小相关,与数据量无关。每次递增10M,初始化文件时,300G 数据文件会配置10M ,600G 数据文件会配置20m .1T 及以上数据文件以32M 为标准。 > + 每个datafile,在tracking file里最少需要分配320k的空间,所以如果有大量的小data file, change tracking file 也会相对较大。 **打开和关闭块跟踪** ``` RAC: #查看是否开启了块跟踪 select * from v$block_change_tracking; #打开块跟踪 alter database enable block change tracking using file '+DATA'; #关闭块跟踪 alter database disable block change tracking; 非RAC: #打开块跟踪 alter database enable block change tracking using file '/backup/block.trc'; #关闭块跟踪 alter database disable block change tracking; ``` **【如果提高RMAN备份速度】** ``` 1. 开启多通道 通道数据与cpu核数有关系 2. 设置块跟踪 用于提升增量备份的速度(因为备份时只检查修改过的块) 3. 设置压缩级别为medium 综合看,medium的备份和恢复速度比较好。 CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; ``` 最后更新于 2024-01-15 15:22:21 并被添加「」标签,已有 980 位童鞋阅读过。 本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭