Windows下自动备份Oracle数据库
先说说为啥要搞这么个玩意
那是上线前几天【这不是讲故事】,测试环境用的数据库崩了【为啥崩了不知道】。之前造的一堆测试数据全都没得了【】。然后急急忙忙的恢复环境重新造测试数据吧啦吧啦。累的半死不活的干了一堆重复的事。
然后就是吃一堑长一智的老话。为了以后不干这种傻X事。决定要经常备份数据库,但是咧,我是一个很懒【且记性不好】的人。所以决定搞一个自己备份数据库的玩意。
大概原理
反正前面就是一顿求度娘啦,因为不够虔诚,度娘没给个啥好结果,然后就只能靠自己的聪明才智啦。
1、Oracle有个自己备份数据库的命令,在Dos下就可以自己备份的,把它写成批处理。【顺便把Oracle备份记录搞到一个日志文件里,防止以后不知道备份了啥】
2、然后设置Windows的定时任务,让系统到时间了自己跑批处理脚本。【怎么搞定时任务就度娘啦】
P.S.:Linux下估计也差不多,把批处理换成shell脚本,然后在搞个定时任务。
用到的基本命令
dos命令看上一篇:Dos批处理编程常用命令
exp:exp是Oracle自带的命令用来备份数据库的。exp有好多中用法【具体咋用求度娘】我用的是最笨的全库备份。 exp 用户名/密码@数据库实例名 file=数据库备份到哪【文件后缀得是dmp】 log=日志文件存放地址【文件后缀log】 full=y【我也不知道是干哈的】
源码
@echo off
echo ++++++++++++++++++++
echo + 备份oracle数据库 +
echo + date:2015/03/20 +
echo + by:沈沉 +
echo ++++++++++++++++++++
echo.
echo.
set mydate=%Date:~0,4%年%Date:~5,2%月%Date:~8,2%日%Time:~0,2%时%Time:~3,2%分%Time:~6,2%秒
set logadress=E:\数据库备份操作日志.txt
set dmpadress=E:\数据库备份%mydate%.dmp
set username=shenchen
set password=666666
set dbname=TEST
echo ===============================备份开始=============================== >>%logadress%
echo 备份时间:%mydate% >>%logadress%
echo 日志地址:%logadress% >>%logadress%
echo 备份文件地址:%dmpadress% >>%logadress%
echo 数据库名:%dbname% >>%logadress%
echo 数据库用户名:%username% >>%logadress%
echo 用户密码:%password% >>%logadress%
exp %username%/%password%@%dbname% file=%dmpadress% log=%mydate%.log full=y
type %mydate%.log >>%logadress%
del %mydate%.log
echo ===============================备份结束=============================== >>%logadress%
---------------------
作者:沈沉_5214
来源:CSDN
原文:https://blog.csdn.net/qq_35746866/article/details/78265388
版权声明:本文为博主原创文章,转载请附上博文链接!