Oracle数据库自动备份脚本分享(超实用)

(编辑:jimmy 日期: 2025/2/25 浏览:2)

前言

众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存。

Oracle数据库自动备份脚本分享(超实用)

一、备份脚本

1、初始化变量,记录开始日志

#变量 
sysname=填写自己的系统名称 
syspath=/home/oracle/databak/$sysname 
v_date=$(date '+%Y%m%d%H%M%S') 
#日志目录 
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 /home/11g/app/oracle/product/11.2.0 
export ORACLE_HOME=/home/11g/app/oracle/product/11.2.0/db_1 
export PATH=$PATH:/home/11g/app/oracle/product/11.2.0/db_1/bin 
export ORACLE_SID=SID名称 

3、导出数据

echo $syspath 
v_date=$(date '+%Y%m%d%H%M%S') 
filename=$syspath/jcd${v_date}.dmp 
#导出命令 
exp username/password file=${filename} compress=n  ${logfile} 
echo "end_time"${logfile} 
date '+%Y-%m-%d %H:%M:%S'${logfile} 

4、压缩dump包

gzip ${filename} 

5、使用scp,将压缩后的包传递到备份服务器,注意备份服务器上目录需要预先创建

scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/备份目录 

二、设定脚本执行时间

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

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

0 2 * * * sh /home/oracle/db.sh 

大家可以参照上面去写一个适合自己生产数据库的一个脚本,定期备份。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?