oracle 自动备份dmp文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 自动备份dmp文件相关的知识,希望对你有一定的参考价值。

oracle数据库自动备份实现效果

  1. 使用oracle exp命令导出dmp格式文件;
  2. 使用7z命令行自动压缩dmp文件,减少存储空间;
  3. 使用Windows定时任务自动备份,并且定时删除N天之前的备份;

 备份bat命令

@echo off
rem **********************配置开始**********************
rem 连接oracle ip 端口 数据库名
set sid=127.0.0.1:1521/ORCL
rem 连接oracle的用户名
set username=ORCL
rem 连接oracle的密码
set password=123
rem 备份文件的文件夹 例如(D:\bak)
set bak_path=D:\bak
rem 7za.exe压缩文件路径
set rar_path=D:\bak\7za.exe
rem **********************配置结束**********************
set connect=%username%/%password%@%sid%
echo 删除7天前的备分文件和日志7z文件
forfiles /p %bak_path% /m *.dmp /d -7 /c "cmd /c del @path" 
forfiles /p %bak_path% /m *.log /d -7 /c "cmd /c del @path"
forfiles /p %bak_path% /m *.7z /d -7 /c "cmd /c del @path"

echo 开始备份
rem  如果备份文件夹不存在则创建
if not exist "%bak_path%"          mkdir "%bak_path%"
set filename=oraclebak%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set filepath=%bak_path%\%filename%
rem 执行 exp 导出命令
exp %connect% file=%filepath%.dmp owner=%username% log=%filepath%.log INDEXES=y grants=y constraints=y compress=y


rem 如果存在7za.exe 则执行压缩,不存在直接退出
if exist %rar_path% (

%rar_path% a %filepath%.7z %filepath%.dmp %filepath%.log
rem 压缩后删除dmp文件
if errorlevel 0 (
del  %filepath%.dmp
del  %filepath%.log
)
) else (echo 压缩文件不存在,dmp不压缩 
exit)

exit 

将上方文本保存成bat文件,新建windows计划任务定时执行bat命令,实现定时备份。

 

以上是关于oracle 自动备份dmp文件的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库有dmp备份文件,怎么把备份的dmp文件恢复?

Oracle 导入DMP文件

ORACLE 的dmp文件

Oracle如何备份还原DMP数据库(导入导出DMP)

ORACLE 的“dmp”是啥文件?

ORACLE自动备份-压缩格式,定期删除.bat