在Linux系统中使用Shell脚本文件自动备份Oracle数据库_liunx 备份oracle shell脚本-程序员宅基地

技术标签: oracle  shell  linux  数据库  

在Linux系统中使用Shell脚本文件自动备份Oracle数据库

  1. 创建逻辑目录
 create directory data_dir as/home/oracle/; data_dir 可自定义
select * from dba_directories; 可查询用户创建目录。
  1. 给用户授予访问逻辑目录的权限
grant read,write on directory data_dir to sa;  sa为用户名
  1. 给用户授予导入和导出的权限
grant exp_full_database,imp_full_database to sa; sa 为用户名
  1. 退出Oracle
exit
  1. 进入Oracle用户
su oracle
  1. 创建shell脚本
    在/home/oracle/目录下创建shell脚本
cd /home/oracle/ 进入目录
touch beifen.sh  创建脚本文件,名字为test 
vi beifen.sh   开始编辑sh文件
  1. 编写shell脚本
    SH文件类型必须为UNIX
#!/bin/sh 
#:本脚本自动每天凌晨3点备份数据库,备份完成后,删除30天以前的数据
#获取环境变量(.bash_profile这个文件在/home/oracle/目录下,是个隐藏文件)
source ~/.bash_profile
#获取当前时间 
BACKUPTIME=$(date +%Y%m%d)
#文件类型
dmpwj=.dmp
logwj=.log
#备份的文件名 
DMPNAME=bk-$BACKUPTIME$dmpwj
#备份的日志名 
LOGNAME=bk-$BACKUPTIME$logwj
echo $BACKUPTIME
echo $DMPNAME
echo $LOGNAME
#导出命令
expdp 用户名/密码@实例名 directory=数据库逻辑目录名称 schemas=用户名 dumpfile=$DMPNAME  logfile=$LOGNAME 
echo ‘备份完成’
echo ‘移动中’
#移动log 文件
cd  /home/oracle/
mv  $LOGNAME  /home/oracle/rizhi/
#(这里使用sudo提权是因为oracle用户对/mnt/nas/dbbak/目录没有写入权限)
echo “oracle用户密码” | sudo -S mv $DMPNAME /mnt/nas/dbbak/  
echo “移动完成”
echo “删除中”
#删除30天以前的数据库文件 (这里使用sudo提权是因为oracle用户对/mnt/nas/dbbak/目录没有写入权限)
echo “oracle用户密码” | sudo -S find /mnt/nas/dbbak/ -mtime +30 -name “*.dmp” -exec rm -rf {
    } \;
#删除30天以前的日志文件
find /home/oracle/rizhi/ -mtime +30 -name “*.log” -exec rm -rf {
    } \;
  1. 给脚本赋权
chmod 777 test.sh
  1. 给.bash_profile文件赋权
sudo chmod 777 .bash_profile

10.创建定时任务

crontab  -e  //建立定时任务
0  3  *  *  *  /home/oracle/test.sh  //编写任务内容

注意事项:

/var/spool/mail/ 目录下的oracle文件可查看计划执行详情
命令: service crond status 确认定时任务是否开启?
命令: service crond start 开启服务
命令: service crond stop 关闭服务
命令: service crond restart 重启服务
命令: service crond reload 重新载入配置
crontab -e 编辑某个用户的cron服务
crontab -l 列出某个用户cron服务的详细内容
crontab -r 删除某个用户的cron服务(慎用)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014427267/article/details/107999298

智能推荐

静态路由配置_静态路由的配置-程序员宅基地

文章浏览阅读846次。1,首先搭建好模型,我们采用三个路由器三个交换机,以及每个交换机搭配两个PC的方法。2,我们开始配置路由器,!首先我们进去全局配置模式。!进入我们的接口,然后配置接口地址ip address 172.16.1.1 255.255.255.0注意,要配置掩码。!然后打开接口:no shutdown每一个接口都是如此。3.然后我们开始配置路由上的其他配置!ip dhcp pool..._静态路由的配置

程序员加油站 -- 懂电脑更要懂人脑!继“书呆子”后又一呆子现世!_代码呆子-程序员宅基地

文章浏览阅读275次。说起程序员三个字,我觉得既骄傲又可悲。骄傲的是,我们曾经是时代骄子,是一群真正改变世界的人;可悲的是,我们很多致力于改变世界的程序员,却生活在自己的世界里,无法自拔,成为了继“书呆子”之后的“电脑呆子”。电脑本来只是一个工具,我们竟然被其所限制、甚至同化,悲夫!〄一、警惕成为“电脑呆子”▓(1)程序员眼中的自己 ☟ 程序员是怎样看待自己的呢?看看程序员们的..._代码呆子

基于水平集的图像分割方法_fcxvsd-程序员宅基地

文章浏览阅读1.2w次,点赞10次,收藏60次。一、引言借鉴一些流体中的重要思想, 1988年,Osher和Sethian首次提出了水平集算法[1],这是一种有效解决曲线演化问题的数值方法,并且计算稳定,适宜任意维数空间。随后,Osher等人对水平集算法做出扩展和总结[2,3], Giga也做了相关的理论扩展[4]。近年来这种算法已被广泛地应用在图像处理领域[5]中 ,尤其在图像分割中已取得了很大的进展。事实上,用水平集来解决图像分割问题的_fcxvsd

php var_export 对循环引用的问题(Uncaught ErrorException: var_export does not handle circular references)-程序员宅基地

文章浏览阅读4.9k次。因为有些数据不知道具体类型,在使用var_export($data, true) 的时候,遇到:Uncaught ErrorException: var_export does not handle circular references。改用: print_r($data, true) 即可解决这个问题。..._var_export does not handle circular references

matlab 生成文件夹,matlab实现遍历文件夹并自动创建对应的新文件夹方法-程序员宅基地

文章浏览阅读789次。能自动将文件夹中所有文件自动的识别并创建对应的文件夹,文件夹名要和文件中某个字段相同。用system()函数。如下tmp1=['mkdir ' dir_final];system(tmp1); %文件夹创建完成我试了下,用下面的函数系统就自动关机了,哈哈fun='shutdown -s';system(fun);你运行了?哈哈,别急赶紧在运行里输入shutdown -a 就取消自动关机了,不过..._natlab nkdir生成文件夹

Android - ImageButton单击切换按钮图片效果的实现_安卓imagebutton加入java-程序员宅基地

文章浏览阅读3.6k次。在android中有一个ImageButton的View,跟Button按钮的区别是可以在Imagebutton上加载一个图片。从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们就可以使用它做一个我们想要的图片按钮了,但是我们在实际使用的过程当中,就会发现该按钮的使用并没有想像中的那么简单,需要再增加一些代码或再配置XML才能实现图片按钮按下的效果,个人感觉有点麻烦,不_安卓imagebutton加入java

随便推点

总结2021年最全180道Android岗面试题,使用指南-程序员宅基地

文章浏览阅读96次。什么是中年危机根据权威数据显示,国内IT程序员鼎盛时期是在25-27岁左右,30岁对于程序员而言完全是一个38线,接着就是转业转岗的事情,这一点在业界也算是一个共识了。大学毕业步入IT行业普遍年龄也是在22岁左右,然而22-30岁之间也就是8年左右的时间,那么27岁也就是职业生涯“中年”的开始,那么作为程序员的你有准备好如何度过“中年危机”吗?当程序猿到了28岁左右的“中年危机”就不一样了,这个年纪也是程序猿们工作积累的高峰期,有的程序猿已经换了好几份工作,也有的程序猿们一直在一家企业做了好几个大型项

Parallel/Orthogonal Aizu - CGL_2_A_parallel/orthogonal 博客-程序员宅基地

文章浏览阅读163次。Parallel/Orthogonal Aizu - CGL_2_A题意:判断直线平行,垂直,或者其他注意:这里重合也算平行AC代码:#include <bits/stdc++.h>using namespace std;int q;struct point { int x, y;};struct line { int x, y;};int X(line A, line B) { return A.x * B.y - A.y * B.x;}in_parallel/orthogonal 博客

Cassandra配置多节点集群_cassandra_seeds-程序员宅基地

文章浏览阅读1.5k次。上一篇文章 Cassandra入门指南 中,我们已经配置好了一个单节点集群,接下来,我们要往这个集群中多加几个节点,看看多个节点是如何同时工作的。Cassandra节点之间交换信息是通过一种叫做Gossip(暂时不知道该翻译为哪个专有名词合适,暂且意会吧)的机制。但是要想让一个消息传递到一个新加入的节点,至少还需要知道另外一个节点,这个节点叫做种子(Seed)。通常我们会选择一小部分相对稳定的节点..._cassandra_seeds

python 如何调用子程序并自动传参数 os.system os.popen subprocess_python如何调用子程序-程序员宅基地

文章浏览阅读4.5k次,点赞4次,收藏14次。背景最近工作中有遇到这样一种情况,需要执行一个 exe 文件更改某些设置来触发Service 工作,而执行这个 exe 程序需要一个屏幕输入参数,这个输入参数也是需要python 脚本生成的。如果每次都是 cmd 执行这个 exe 程序,把..._python如何调用子程序

React 中 CSS in JS 的最佳实践_react使用scss-程序员宅基地

文章浏览阅读854次,点赞26次,收藏11次。本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车!!全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**_react使用scss

小程序跳转外链_外链跳转小程序-程序员宅基地

文章浏览阅读2.2k次。小程序跳转外链_外链跳转小程序