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/[email protected]$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.‘

原文地址:https://www.cnblogs.com/zkx4213/p/10150599.html

时间: 2024-08-10 14:29:57

32. linux下oracle数据库定时备份的相关文章

windows下oracle数据库自动备份脚本

1.根据日期自动生成 Oracle 备份文件 @echo off echo 正在备份Oracle数据库,请稍等...... exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res echo 任务完成! 2.根据日期时间分秒自动生成 Oracle 备份文件 @echo off

windows下mysql数据库定时备份。

注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat 这个文件是用来定时执行指定的php文件 timerExecutePhp.bat文件内容: F:\web\php-5.6.22-Win32-VC11-x64\php.exe F:\web\htdocs\demo\timer.php 注释: 1.F:\web\php-5.6.22-Win32-VC11-x64\p

Linux下使用crontab定时备份日志

上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 备份文件加上时间戳date +%Y%m%d%H%M%S 以上是备份说明,下面分三步操作 一.shell脚本 [[email protected] lampp]# vi test.sh    #创建shell脚本 #!/bin/bash                                

Linux 下oracle数据库安装过程要点

1.资料准备:oracle安装文件.Linux RAR解压工具.XManager5.Linux系统镜像或DVD(无网络情况下需要) 2.环境准备:Linux建立oracle用户 groupadd oinstall groupadd dba useradd -g oinstall -g dba -m oracle passwd oracle Linux下新建oracle目录,保证磁盘空间足够 mkdir -p /data/oracle #oracle数据库安装目录 mkdir -p /data/o

linux下oracle数据库安装

以下主要内容来自网络---------------------------------屈勇 http://www.linuxidc.com/Linux/2015-02/113222p5.htm----另外值得参考的博文 安装环境 Linux服务器:SuSe10 sp2 64位    centos6.5 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 交换空间 一般为内存的2倍,例如:1G的内存可以设置

Linux下Oracle数据库的搭建(新手)

最近由于需要安装了几台服务器 ,由于网上找不到一些过程中遇到的问题,所以把解决方法写出来吧 ! 首先安装数据库服务器  如题装的是Oracle   系统环境是Redhat 6.5 x86 64位虚拟化服务器    首先 要确定需要安装 的版本  我们要求的是11g  最新的是12c 硬件要求 物理内存至少2G 查看命令: grep MemTotal /proc/meminfo 交换分区:至少1G,最好是物理内存的2倍 查看命令: grep SwapTotal /proc/meminfo 硬盘空闲

linux下 mysql数据库的备份和还原

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql /root/mysql.sql 2.还原 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入数据

linux下 mysql数据库的备份和还原sql

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql 4 /root/mysql.sql 2.导入 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入

LINUX下oracle数据库的启动和关闭

1. $ su - oracle 2. $ sqlplus / nolog 3. sql> conn / as sysdba 或吧2,3合为一个sqlplus / as sysdba 4. sql> startup (一般不需要加参数,只要设置好环境变量) 5. sql> quit (退出sql模式) 6. $ lsnrctl start (启动监听器)关闭oracle 1. $ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序) 2. $ sqlplus /nolog