Linux 系统下Oracle数据库自动备份

数据库 同时被 2 个专栏收录
14 篇文章 0 订阅
15 篇文章 0 订阅

转载: https://blog.csdn.net/weixin_40412301/article/details/81025675

1、新建Oracle数据库备份目录
mkdir -p /backup/oracledata  
2、新建Oracle数据库备份脚本
vi /backup/oracledata/ordatabak.sh 
3、脚本内容:
#!/bin/sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm   
export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
orowner=DB
days=10
bakdata=$orowner"_"$(date +%Y%m%d).dmp
baklog=$orowner"_"$(date +%Y%m%d).log
ordatabak=$orowner"_"$(date +%Y%m%d).tar.gz
bakdir=/backup/oracledata
cd $bakdir
#exp 用户名/密码@orcl grants=y file=$bakdir/$bakdata log=$bakdir/$baklog
tar -zcvf $ordatabak  $bakdata $baklog
#find $bakdir  -type f -name "*.log" -exec rm {} \;
#find $bakdir  -type f -name "*.dmp" -exec rm {} \;

#find $bakdir  -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;

注:1、用户名/密码 写自己用的即可;

2、另外删除10天前的备份tar.gz文件和所有的log、dmp文件被我注释掉了根据需要可以用;

4、 添加脚本执行权限

 

chmod +x /backup/oracledata/ordatabak.sh 

5、在Oracle用户下添加定时任务
su - oracle 
crontab -e 
30 2 * * * oracle  /backup/oracledata/ordatabak.sh

#每天凌晨2点30分,以oracle用户执行ordatabak.sh备份文件

6、重启crond
service crond restart 

7、完事

步骤要点:

1、编辑脚本文件时,不能再Windows下编辑后复制上去,这样文件格式不对;

2、用户的执行权限要检查是否有;

2、设置定时任务时,Oracle的环境变量不能错,否则不能执行;

3、添加定时任务时,如果是在用户下添加定时任务时,不需要加用户名比如:

 

  • 4
    点赞
  • 0
    评论
  • 7
    收藏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值