ORACLE服务器定时备份怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE服务器定时备份怎么做相关的知识,希望对你有一定的参考价值。

在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示每天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来!
参考技术A 可以写一个脚本啊,里面包含exp的命令就好了 参考技术B oracle有job啊,将备份脚本写在job里面,定时执行。

windows下使用bat批处理文件定时自动备份oracle数据库并上传ftp服务器

使用bat批处理文件备份oracle(前提是配置好oracle数据库客户端)
在D盘目录下创建个dbbackup目录建个dbbak.bat

@echo off   

echo ================================================   

echo  Windows环境下Oracle数据库的自动备份脚本  

echo  1. 使用当前日期命名备份文件。  

echo  2. 自动删除15天前的备份。  

echo ================================================  

::以“YYYYMMDD”格式取出当前时间。  

set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%

::创建备份目录。  

if not exist "D:dbbackupdata"    mkdir D:dbbackupdata  

if not exist "D:dbbackuplog"     mkdir D:dbbackuplog  

set DATADIR=D:dbbackupdata

set LOGDIR=D:dbbackuplog

exp userid=‘ntes/[email protected]‘  file=%DATADIR%
jtes_%BACKUPDATE%.dmp log=%LOGDIR%
jtesog_%BACKUPDATE%.log  

::删除15天前的备份。  

forfiles /p "%DATADIR%" /s /m *.* /d -15 /c "cmd /c del @path"  

forfiles /p "%LOGDIR%" /s /m *.* /d -15 /c "cmd /c del @path" 

::上传文件到FTP服务器
echo open IP地址>ftpupload.txt
echo user 用户名 密码>>ftpupload.txt
echo binary>>ftpupload.txt     //设定以二进制方式传送文件
echo hash>>ftpupload.txt       //切换已传输的每个数据块的数字签名 (#) 打印
echo put  %DATADIR%
jtes_%BACKUPDATE%.dmp>>ftpupload.txt      //上传文件
echo bye>>ftpupload.txt
ftp -n -s:ftpupload.txt
del ftpupload.txt /q     .//删除生成的ftpupload.txt文件,这个文件都是上面的信息可以不用保留
exit

注:dbbak.bat备份脚本放在了D:dbbackup,如果ftpupload.txt文件不做删除的话会在dbbak.bat脚本的(D:dbbackup)同级目录生成的。

以上是关于ORACLE服务器定时备份怎么做的主要内容,如果未能解决你的问题,请参考以下文章

备机怎样定时备份主机的Oracle数据库

oracle备份以及定时上传备份服务器

linux下怎么定时备份oracle数据库

Linux下Oracle定时自动备份方案

oracle定时备份,用expdp的跨服务器备份

设置oracle11g定时自动备份,为啥没有备份?请大神们帮我看看为啥!