Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Oracle自动备份脚本(Linux)

Oracle自动备份脚本(Linux)

作者头像
小小工匠
发布于 2021-08-16 03:05:00
发布于 2021-08-16 03:05:00
1.7K00
代码可运行
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构
运行总次数:0
代码可运行

脚本编写

之前我在Linux Crontab有提到第一个脚本

http://blog.csdn.net/yangshangwei/article/details/52452599#t30

第一个脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash

#oracle变量设置
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=/oracle/product/102
export ORACLE_SID=sidname
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8



#以上代码为Oracle数据库运行账号oracle的系统环境变量设置,必须添加,否则crontab任务计划不能执行。
date=date +%Y_%m_%d   #获取系统当前日期时间
days=5  #设置删除5天之前的备份文件

orsid=ip:port/sidname #Oracle数据库服务器IP、端口、SID

orowner=master_ccpx2  #备份此用户下面的数据

bakuser=master_ccpx2   #用此用户来执行备份,必须要有备份操作的权限
bakpass=passwd  #执行备注的用户密码
bakdir=/aaa/bbb/oracle_data  #备份文件路径,需要提前创建好
bakdata=$orowner"_"$date.dmp #备份数据库名称
baklog=$orowner"_"$date.log #备份执行时候生成的日志文件名称
ordatabak=$orowner"_"$date.tar.gz #最后保存的Oracle数据库备份文件

cd $bakdir #进入备份目录
mkdir -p $orowner #按需要备份的Oracle用户创建目录

cd $orowner #进入目录

#导出数据库 这里使用了exp 可以根据需要使用expdp
exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #执行备份

tar -zcvf $ordatabak $bakdata  $baklog  #压缩备份文件和日志文件
find $bakdir/$orowner  -type f -name "*.log" -exec rm {} \; #删除备份文件
find $bakdir/$orowner  -type f -name "*.dmp" -exec rm {} \; #删除日志文件
find $bakdir/$orowner  -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;  #删除5天前的备份

第二个脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#路径名,指定备份的路径
FILEPATH = /oracle/orabak

#根据指定日期格式,定义备份数据库文件名
FILENAME = `date + %Y%m%d_%H%M

#切换至指定路径,并创建文件夹
cd $FILEPATH 
mkdir $FILENAME 
chmod 775 $FILENAME

#oracle变量设置
export USER=oracle;
export ORACLE_SID=orcl;
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1;
export PATH=$ORACLE_HOME/bin:$PATH;

#导出数据库 这里使用了exp 可以根据需要使用expdp
exp scott/tiger@orcl file="$FILENAME ".dmp log="$FILENAME".log owner=scott rows=y

#打包+加压
cd ..
tar -cf $FILENAME.tar $FILENAME
rm -rf $FILENAME
gzip $FILENAME.tar
exit
EOF

使用crontab自动调用备份脚本

linux使用crontab -e命令增加定时任务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
10 12 * * * sh  /oracle/orabak/orabak.sh
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/10/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
oracle自动备份
通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
栋先生
2018/09/29
2K0
Oracle全库备份脚本
#!/bin/bash # author:院长 # export PATH export TMP=/tmp #tmp的路径、临时路径 export TMPDIR=$TMP # export ORACLE_BASE=/u01/app/oracle #oracle软件的基准路径在哪 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_home1 # export ORACLE_SID=bpas2 #把数据库产品的id加进来,每次登陆时就不用设置变量了 export
院长技术
2021/02/19
7090
ORACLE备份恢复
备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本
全栈程序员站长
2022/09/13
2.7K0
ORACLE备份恢复
Linux中的计划任务—Crontab调度重复执行的任务
本博文的主要目的是让笔者和读者可以了解并掌握以下内容: 1、Crontab的基本概念 2、Crontab的基本组成 3、操作Crond服务 4、配置系统和用户计划任务 5、监控计划任务日志
小小工匠
2021/08/16
1.1K0
Linux下如何设置每天自动备份Oracle数据库
export PATH export ORACLE_BASE=/home/nnc_db/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl
星哥玩云
2022/08/18
5.2K0
Linux下如何设置每天自动备份Oracle数据库
Linux/Unix shell 自动 FTP 备份档案
       使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现自动FTP备份档案。
Leshami
2018/08/14
1K0
Linux/Unix shell 自动导入Oracle数据库
      使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现自动导入Oracle数据库。
Leshami
2018/08/14
1.4K0
Oracle常用运维命令整理
建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆)
小明互联网技术分享社区
2021/05/14
1.5K0
RMAN备份策略与异机恢复一例
实验环境: A机器(生产用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.11 B机器(备机用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.61
Alfred Zhao
2019/05/24
7340
Linux/Unix shell 自动导出Oracle数据库
       使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现数据库自动导出。
Leshami
2018/08/14
1.2K0
python oracle数据库备份脚本
学习python,将shell备份脚本改成了python脚本练手.python oracle备份脚本一例如下。
py3study
2020/01/07
1.3K0
Oracle表级备份
计划任务:为避免数据库压力,设定在每天凌晨1点执行脚本进行备份。一个root用户、一个oracle用户。
院长技术
2020/08/14
1K0
Oracle ADG环境下的RMAN备份策略
作为IT运维人员,尤其是数据库岗位,数据的备份重于一切。 现在很多用户会有一个普遍误区,认为现在类似ADG这类灾备已经很完善,且实时性也更佳,往往就忽略了传统的备份效用。 但实际上,我们千万不能因为有了容灾建设就盲目忽略备份的作用,二者其实有着本质区别。很多场景,灾备都是无法替代传统备份的,二者是缺一不可的关系。
Alfred Zhao
2023/03/06
7460
Oracle数据库备份还原标准化实施部署指南
本手册描述Oracle数据库的备份还原机制,帮助应用Oracle数据库,为了保证数据库的安全,避免外界因素造成数据库中数据丢失,有效的备份可以更好的重建数据库,在修改删除表或者表空间以前或者以后执行适当的备份是相当必要的,备份时建议使用直接登录服务器或者利用ssh工具登录服务器利用相关的系统命令进行操作,避免使用PLSQL工具进行操作,影响备份的结果,本文档适合有一定Oracle经验人员进行阅读,以OracleLinux 6.5为环境基础,oracle 版本为11.2.0.4,其他的版本请自行测试,避免出现其他的问题。
SQL数据库开发
2024/04/24
2900
Oracle数据库备份还原标准化实施部署指南
Linux中设置定期备份oracle数据库
昨天装好了oracle,今天尝试一下自动备份,我这两天装linux和oracle的目的就是这个。
明年我18
2019/09/18
2K0
oracle导出某个schema数据并导入到另一个schema
公司之前部门拆分,但一些服务并没有拆分清楚。其中一个老服务,两个部门都在用,现在为了避免互相影响,决定克隆该服务。克隆就要克隆全套,当然也包括数据库,我们这个老服务,用的oracle,所以,就涉及到从旧的oracle中导出数据,然后再导入到另一套新的oracle实例中。
低级知识传播者
2023/09/12
9160
oracle导出某个schema数据并导入到另一个schema
Oracle 常用目录结构(10g)
大多数情况下,了解Oracle常用目录结构,将大大提高数据库管理与维护的工作效率,本文介绍了Oracle 10g 的常用目录。
Leshami
2018/08/07
1.3K0
Oracle 常用目录结构(10g)
linux 下RMAN备份shell脚本
       RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉。对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选。本文提供了一个简单易用的基于linux shell下的RMAN备份脚本供参考。大家可根据自己的需要进行适当调整。
Leshami
2018/08/14
2K0
Oracle RMAN 备份一例
备份策略:周日0级备份,周一~周六1级备份,每6小时备份归档日志,每天清理历史文件夹.
Alfred Zhao
2019/05/24
7460
SVN完全备份svnadmin hotcopy
   利用svnadmin hotcopy可以实现完全备份,但不能进行增量备份。svnadmin hotcopy是将整个库都“热”拷贝一份出来,包括库的钩子脚本、配置文件等;任何时候运行这个脚本都得到一个版本库的安全拷贝,不管是否有其他进程正在使用版本库。
星哥玩云
2022/07/03
1.5K0
SVN完全备份svnadmin hotcopy
相关推荐
oracle自动备份
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档