在Linux下定时备份ORACLE

本文介绍了如何在Oracle环境中使用SQL*Plus和expdp工具进行定期备份,创建了一个自动备份脚本,并通过crontab设置每天凌晨3点执行。脚本包括备份操作、压缩文件以及监控日志和管理crond服务。
摘要由CSDN通过智能技术生成

su – oracle

sqlplus /nolog

conn / as sysdba

CREATE OR REPLACE DIRECTORY BACKUP AS '/home/oracle/backup';

grant read,write on directory BACKUP to tams;

创建sh文件

#!/bin/sh

. ~/.bash_profile

#生效实例tams

export ORACLE_SID=TAMS

#执行备份库语句

expdp \" / as sysdba \" dumpfile=tams_$(date +%Y%m%d).dmp directory=BACKUP schemas=\(TAMS\) logfile=tams_$(date +%Y%m%d).log cluster=no

#进入备份目录

cd /home/oracle/backup/

#压缩备份文件

gzip tams_$(date +%Y%m%d).dmp tams_$(date +%Y%m%d).log

#删除N天以前的文件

find /home/oracle/backup/ -mtime +7 -name "tams_*" -exec rm -rf {} \;

创建定时任务

00 21 * * * sh /home/oracle/backup/autoBackupOracle.sh > /home/oracle/backup/autoBackupOracle.log 2>&1

备注

--压缩

zip -r autoBackupOracle.sh.zip autoBackupOracle.sh

--解压

unzip autoBackupOracle.sh.zip

--压缩

gzip -l tams_20200904.log tams_20200904.dmp

--解压

gzip -d tams_202009042.dmp.gz

二、设定脚本执行时间

我们设定规则为每天凌晨3点执行一次,采用crontab来进行处理

执行crontab -e,设定如下规则

00 03 * * * sh /backup/autoBackupOracle.sh > /backup/autoBackupOracle.log 2>&1

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值