32. linux下oracle数据库定时备份
这里以oradatabak.sh(里面的内容要根据实际修改)脚本放在/u01/11g/datapump下为例:
#1.添加脚本执行权限
chmod +x /u01/11g/datapump/oradatabak.sh
#2.在oracle用户下添加定时任务,每天晚上23点,以oracle用户执行oradatabak.sh备份文件
su - oracle
crontab -e
00 23 * * * /u01/11g/datapump/oradatabak.sh

#3.重启crond
service crond restart
#4.oradatabak.sh脚本内容如下:
#!/bin/bash
#:本脚本自动备份1天的数据库,每次备份完成后,删除1天之前的数据。
#加载oracle的相关参数
#如果oracle参数不明确,请使用命令查看
# su - oracle
# echo $ORACLE_HOME
export ORACLE_BASE=/u01/11g
export ORACLE_HOME=/u01/11g/product/11.2.0
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#ORACLE_HOME
ORACLE_HOME=/u01/11g/product/11.2.0
#获取当前时间,格式:20150210
DATE=$(date +%Y%m%d)
#删除1天前的文件
days=1
#执行备份的用户
bakuser=TEST
#执行备份的用户密码
bakuserpass=TEST
#服务器IP
IP=192.168.0.1
#dumpfilename
dumpfilename=$bakuser"_"$DATE
#设置备份目录
export backup_dir=/u01/11g/datapump
#开始备份,此处采用expdp数据方式导出
echo "start oracle backup ..."
#echo $ORACLE_HOME/bin/expdp $bakuser/$bakuserpass schemas=$bakuser dumpfile=$dumpfilename.dmp directory=DPDATA logfile=$dumpfilename.log
$ORACLE_HOME/bin/expdp $bakuser/$bakuserpass@$IP/orcl schemas=$bakuser dumpfile=$dumpfilename.dmp directory=DPDATA logfile=$dumpfilename.log
echo 'Oracle backup successfully.'
#开始压缩
cd $backup_dir
echo "开始压缩..."
tar zcvf $dumpfilename.tar.gz $dumpfilename.dmp
echo "压缩完毕"
#删除.dmp文件
rm -rf $dumpfilename.dmp
#删除1天前的备份文件
echo 'remove files one day ago...'
find $backup_dir -type f -name "*.tar.gz" -mtime +$days -exec rm -f {} \;
find $backup_dir -type f -name "*.log" -mtime +$days -exec rm -f {} \;
echo 'remove successsfully.'
32. linux下oracle数据库定时备份的更多相关文章
- windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)
第一种方式:全备份,并直接覆盖原来的备份文件,固定命名. 脚本: @echo off exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e: ...
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- Windows下Oracle数据库自动备份批处理脚本
expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...
- linux下oracle数据库字符集修改
linux下oracle数据库字符集修改 0.RHEL6.7.oracle11gr2 1.登录oracle.在安装oracle的用户下进入数据库. $ sqlplus / as sysdba 2.查询 ...
- linux下oracle数据库的启动
linux下oracle数据库的启动 一.切换oracle用户 命令:su - oracle 二.运行sqlplus命令,进入sqlplus环境 命令:sqlplus /nolog (nolog参数表 ...
- MySQL定时备份之使用Linux下的crontab定时备份实例
这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下 复制代码代码如下: ##################################### ...
- Linux下使用crontab定时备份日志
上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...
- windows下mysql数据库定时备份。
注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat ...
- Linux下Oracle数据库的安装
记录详细过程以备使用 一.准备安装 为了确保Oracle数据库11g能够成功安装,您需要做好准备工作,例如检查网络配置.更改Linux内核参数.创建用户Oracle.创建安装目录.设置用户Oracle ...
随机推荐
- JavaScript 之 DOM
1. DOM DOM:Document Object Model 文档对象模型,定义访问和操作结构化文档(HTML)的方式. 在 HTML DOM (Document Object Model) 中 ...
- Spring 源码学习(4)—— bean的加载part 1
前面随笔中,结束了对配置文件的解析工作,以及将配置文件转换成对应的BeanDefinition存储在容器中.接下来就该进行bean的加载了. public Object getBean(String ...
- C# 网络通信功能 同步数据交互开发
前言 本文将使用一个Nuget公开的组件技术来实现一对多的数据通信功能,提供了一些简单的API,来方便的向服务器进行数据请求. 在visual studio 中的Nuget管理器中可以下载安装,也可以 ...
- 无法新建EXCLE
Regedit 进入注册表,找到HKEY_CLASSES_ROOT>.xls和.xlsx的ShellNew的值设置为:C:\Windows\ShellNew\EXCEL12.XLSX
- 当git上文件名大小写重命名的修改时(git大小写敏感/默认不敏感),如何重命名并提交
git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...
- flask中自定义过滤器
第一种方法: 1,第一步:自定义过滤器函数 # 自定义一个函数,将list里面的数据进行排序 def list_sort(list) return list.sort() 2.第二步:注册过滤器 第一 ...
- SQL-记录删除篇-007
删除记录: delete * from table_name 解释:删除表中的所有数据 delete * from table_name where id<10 解释:删除表中id小于10的数据 ...
- zookeeper启动时报Cannot open channel to X at election address Error contacting service. It is probably not running.
配置storm集群的时候出现如下异常: 2016-06-26 14:10:17,484 [myid:1] - WARN [SyncThread:1:FileTxnLog@334] - fsync-in ...
- zabbix_agent添加到系统服务启动(八)
Centos6.5上安装了zabbix_agent后,需要把zabbix_agent添加到系统服务启动,要不然每次要一长串路径再启动,挺麻烦的. 步骤: 1)拷贝zabbix解压包里的zabbix_a ...
- JavaSE面试题
JavaSE面试题 欢迎到我的Git仓库去提交您觉得优秀的内容! 1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.当一个static方法被调用时,可能还没有创建任何实例 ...