oracle数据备份

//切换用户

su oracle

//查看oracle_home

 echo $ORACLE_HOME

ORACLE_HOME =/opt/oracle/product/19c/dbhome_1
//查看Oracle_base

 echo $ORACLE_BASE

//切换用户 su root – 查看了oracle的环境变量后要切换回来 ,oracle用户的权限一般不够 (也可以通过赋予oracle用户权限解决)
//进入脚本存放目录

cd /u01

//完成脚本文件

vi bak.sh

#1、初始化变量,记录开始⽇志
#变量
sysname=mipdw #(这个地方随便命名 是存放备份文件的文件夹)
syspath=/u01/oracle_log/databak/$sysname #(也是随便命名 是存放备份文件的文件夹 ps 这些文件夹都要提前创建好)
v_date=$(date '+%Y%m%d%H%M%S')
days=10  #设置删除10天前的数据
#⽇志⽬录
logfile=${syspath}/backup.${v_date}.log
#打印开始时间
echo backup_time>>${logfile}
date '+%Y-%m-%d %H:%M:%S' >> ${logfile}
echo "backup jcd">>${logfile}
echo "start_time">>${logfile}
date '+%Y-%m-%d %H:%M:%S' >> ${logfile}
#2、进⼊oracle⽬录,设置oracle的参数
#进⼊oracle⽬录,设置oracle变量
cd /opt/oracle/product/19c/dbhome_1  #(这里是通过echo $ORACLE_HOME查看的路径)
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 #(这里是通过echo $ORACLE_HOME查看的路径)
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin #(这里是通过echo $ORACLE_HOME查看的路径+/bin)
export ORACLE_SID=mipdw #数据库连接实例名称
#3、导出数据
echo $syspath
v_date=$(date '+%Y%m%d%H%M%S')
filename=$syspath/jcd${v_date}.dmp
#导出命令
exp c##mip/1 file=${filename} INDEXES=n STATISTICS=none  compress=n >> ${logfile}  #(这里是数据库username/pwd)
echo "end_time">>${logfile}
date '+%Y-%m-%d %H:%M:%S'>>${logfile}
#4、压缩dump包
gzip ${filename}

find $bakdir -type f -name "*.dmp.gz" -mtime +$days -exec rm -rf {} \; #删除10天前备份文件
#5、使⽤scp,将压缩后的包传递到备份服务器,注意备份服务器上⽬录需要预先创建
#scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/备份⽬录
echo “删除备份数据结束…”
echo “备份执行完毕…”

//保存 :wq
//添加定时任务

crontab -e

每天的23:59执行一次

59 23 * * * /u01/bak.sh

//重启定时任务

service crond restart

//查看定时任务执行情况

cd /var/spool/mail

less oracle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值