#!/bin/bash
# 备份日期和路径设置
export backup_date=`date +%Y%m%d`
export full_backup_path=/home/oracle/backup/rman/full
export inc_backup_path=/home/oracle/backup/rman/incremental
# 获取今天是星期几(0-6, 0表示周日)
day_of_week=$(date +%w)
# 确保全量备份路径存在
mkdir -p $full_backup_path
# 设置oracle用户为目录拥有者
sudo chown -R oracle:oinstall /home/oracle/backup/rman
# 给予oracle用户写权限
sudo chmod -R 750 /home/oracle/backup/rman
# 函数用于切换到 Oracle 用户并执行 RMAN 命令
function execute_rman {
su - oracle -c "$1"
}
# 根据星期几决定备份类型
if [ "$day_of_week" -eq 0 ]; then
# 星期天,进行全量备份
echo "Starting full backup..."
execute_rman "
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_SID=orcl11g;
rman target / nocatalog << EOF
delete noprompt backup;
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup (database format '$full_backup_pat
Oracle一键备份脚本(包含全量备份+增量备份)
最新推荐文章于 2025-07-03 14:45:00 发布

939

被折叠的 条评论
为什么被折叠?



