oracle数据库shell备份脚本-阿里云开发者社区

开发者社区> 技术小胖子> 正文

oracle数据库shell备份脚本

简介:
+关注继续查看

1、root用户下创建备份路径:

mkdir /opt/backup
chown oralce:oinstall /opt/backup

2、oracle用户创建备份脚本路径:

mkdir /opt/app/oracle/bin
cd /opt/app/oracle/bin

3、创建备份脚本
3.1 第一种方式

vi backup.sh
#!/bin/sh
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:.
export ORACLE_SID=zd
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#export NLS_LANG=american_america.UTF8

CURDATE=$(date '+%Y%m%d%H%M%S')

backup_directory=/opt/backup/
data_file_prefix=zd
BACKUP_FILE=$backup_directory/zd$CURDATE.dmp

delete_prev_month_data_file()
{
    premonth=$(date -d"5 days ago" '+%Y%m%d')
    rm -rf $backup_directory/$data_file_prefix$premonth* || true
}

#exp zd/za2009-pwd@ORCL FILE=$BACKUP_FILE tablespaces='zd'
exp zdwebsite/just@zdwz FILE=$BACKUP_FILE owner='zdweb'
delete_prev_month_data_file
exit 0

3.2 第二种方式

vi backup_rfile.sh
#!/bin/sh
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:.
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

CURDATE=$(date '+%Y%m%d%H%M%S')

backup_directory=/opt/backup/rfile
data_file_prefix=rfile
BACKUP_FILE=$backup_directory/rfile$CURDATE.dmp

delete_prev_month_data_file()
{
    premonth=$(date -d"5 days ago" '+%Y%m%d')
    rm -rf $backup_directory/$data_file_prefix$premonth* || true
}

cd $backup_directory  #记得要切换目录,因用下以变量方式备份执行的脚本在脚本所在目录下生成备份文件
rfile=`exp rfile/133 FILE=rfile$CURDATE.dmp owner='rfile'`
$rfile
delete_prev_month_data_file
exit 0

4、定时任务

crontab -e
0 5 * * * /opt/app/oracle/bin/backup.sh
0 1 * * * /opt/backup/bin/backup_rfile.sh

5、crontab说明:
第一个*表示分钟 每小时的第几分钟执行 0-59

第二个*表示小时 每天的第几个小时执行 0-23

第三个*表示日期 每月的第几天执行 1-31

第四个*表示月历 每年的第几个月执行 1-12

第五个*表示星期 每周的第几天执行 0-6


      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/2068171,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ECS的使用感受
在学校结合所学的知识,运用在阿里云上,学思悟践,使我进步了很多!
9 0
RecSys提前看 | 深度学习在推荐系统中的最新应用
作为推荐系统的顶会,RecSys 一如既往受到了业界的广泛关注。与其他机器学习会议相比,RecSys 一向重视解决实际的问题,即结合在实际应用场景中推荐系统性能提升、效果提高等问题提出设计策略和算法解决方案等。随着深度学习研究的进一步深入,深度学习在推荐系统中的应用依然是研究热点之一,本次会议中图神经网络(Graph Neural Network,GNN)、经典深度学习模型都有所应用及改进。
5 0
作为程序员的他,大学四年一直自学,全靠这些实用工具和学习网站!
作为程序员的他,大学四年一直自学,全靠这些实用工具和学习网站!
4 0
牛逼,这2招,彻底让你和 null say 拜拜
牛逼,这2招,彻底让你和 null say 拜拜
6 0
RedisTemplate中的execute方法如何使用
execute提供了基础的操作Redis方法的实现,为其他特定数据类型操作方法提供了基础方法的实现。今天我们是要来学习一下RedisTemplate中的execute方法具体使用方法,并且提供出相应的代码实现。
5 0
mysql操作过程中的一些注意点
mysql操作过程中的一些注意点
5 0
【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作(3)
【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作
5 0
细说一下RedisTemplate的使用方法(一)
我们在上篇文章中学习到了SpringBoot项目如何集成Redis相关组件功能,而SpringBoot集成Redis组件内部涉及的对象就是RedisTemplate。 接下来我们就一起来看一下RedisTemplate提供了哪些操作Redis数据库的方法,再者就是看一下这些方法是如何使用的。
5 0
干货,一文彻底搞懂 Java 的 Optional(1)
干货,一文彻底搞懂 Java 的 Optional
5 0
springboot项目集成redis
Redis是一款NoSql数据库,经常用于缓存数据,我们也经常要在不同系统框架中去集成Redis数据库的访问。我们要学习SpringBoot项目中是如何集成Redis的,文章最后附上平时使用的工具类。
4 0
13262
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载