在linux操作系统环境下,通过脚本全量备份oracle数据库。
脚本名称:oraclebackup.sh
脚本内容:
#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=ORCL
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
#设置备份时间,用来生成备份文件名
export BAKUPTIME=date +%Y%m%d%H%M%S
#设置七天前的日期,用来定位要删除的备份文件
export DELETEDATE=date -d "-7 days" +%Y%m%d
#设置备份目录,用来存储备份文件
export BACKUP_DIR=/home/oracle/backup
mkdir -p $BACKUP_DIR
cd $BACKUP_DIR
#执行oracle导出命令
exp username/password@192.168.1.9:1521/orcl owner=username direct=y recordlength=65535 statistics=none file=$BACKUP_DIR/dbname_$BAKUPTIME.dmp log=$BACKUP_DIR/dbname_$BAKUPTIME.log
echo "Starting tar..."
echo "Tar file path $BACKUP_DIR/tar$BAKUPTIME.tar.gz"
#压缩oracle备份文件和日志,压缩完成后删除备份文件和日志,只保留压缩包
tar -zcvf $BACKUP_DIR/tar$BAKUPTIME.tar.gz dbname_* --remove-files
echo "Delete the file bakup before 7 days..."
#删除距离当前日期七天前的oracle备份文件
rm -rf $BACKUP_DIR/tar$DELETEDATE*.tar.gz
echo "Bakup completed."
如果需要定时自动执行此脚本,可以设置linux的crontab任务来配置。如:设置此备份在每天23:00自动执行:
crontab -e
0 23 * * * /home/oracle/oraclebackup.sh
linux下oralce自动备份、压缩、删除历史备份
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 背景: 阅读新闻 12C CDB模式下RMAN备份与恢复 [日期:2016-11-29] 来源:Linux社区 作...