oracle全量、增量备份
采用0221222增量备份策略,7天一个轮回
也就是周日0级备份,周1 2 4 5 6 采用2级增量备份,周3采用1级增量备份
打开控制文件自动备份
CONFIGURE CONTROLFILE AUTOBACKUP ON;
配置控制文件备份路径
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/file/backup/rman/controlfile_%F';
将过期天数设为7天
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
---全备
vim rman_bak_level0.sh
#! /bin/bash
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=neal --数据库ORACLE_SID
export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' --字符集
rman target / <<EOF run{ allocate channel d1 type disk; --分配通道d1,类型备份到磁盘
allocate channel d2 type disk; --分配通道d2,类型备份到磁盘
backup incremental level 0 database format '/file/backup/rman/level0_%d_%s_%p_%u.bkp'; --备份级别、输出格式、路径
sql 'alter system archive log current'; --对当前redo日志进行归档
backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp'; --备份归档日志并删除
crosscheck backup; --检查备份
delete noprompt obsolete; --静默删除过期备份
release channel d1; --释放通道d1
release channel d2; --释放通道d2 }
EOF
---0级备份脚本
vim rman_bak_level0.sh
#! /bin/bash
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=neal
export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'
rman target / <<EOF
run{ allocate channel d1 type disk;
allocate channel d2 type disk;
backup incremental level 0 database format '/file/backup/rman/level0_%d_%s_%p_%u.bkp';
sql 'alter system archive log current'; backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp';
crosscheck backup;
delete noprompt obsolete;
release channel d1;
release channel d2; }
EOF
--1级备份脚本
vim rman_bak_level1.sh
#! /bin/bash
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=neal
export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'
rman target / <<EOF
run{ allocate channel d1 type disk;
allocate channel d2 type disk;
backup incremental level 1 database format '/file/backup/rman/level1_%d_%s_%p_%u.bkp';
sql 'alter system archive log current'; backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp';
crosscheck backup;
delete noprompt obsolete;
release channel d1;
release channel d2; }
EOF
--2级备份脚本
vim rman_bak_level2.sh
#! /bin/bash export ORACLE_SID=neal
export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'
/u01/oracle/product/11.2.0/db_1/bin/rman target / <<EOF
run{ allocate channel d1 type disk;
allocate channel d2 type disk; backup incremental level 2 database format '/file/backup/rman/level2_%d_%s_%p_%u.bkp';
sql 'alter system archive log current';
backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp';
crosscheck backup;
delete noprompt obsolete;
release channel d1;
release channel d2; }
EOF
--加入到crontab中
crontab -e
#周日0级备份 00 23 * * 0 /server/scripts/rman_bak_level0.sh
#周一、二、四、五、六2级增量备份 00 23 * * 1,2,4,5,6 /server/scripts/rman_bak_level2.sh
#周三1级增量备份 00 23 * * 3 /server/scripts/rman_bak_level1.sh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了