Oracle⾃动备份bat
很多时候我们需要⾃动备份数据库这边推荐bat+Windows计划任务实现
⽅案1 创建以下bat 然后添加到TaskSchedule(路径最好不要包含中⽂)
@echo off
@echo ================================================
@echo  windows环境下Oracle数据库的⾃动备份脚本
@echo  说明:启动备份时,需要配置以下变量
@echo    1、BACKUP_DIR          指定要备份到哪个⽬录
@echo    2、ORACLE_USERNAME      指定备份所⽤的Oracle⽤户名
@echo    3、ORACLE_PASSWORD      指定备份所⽤的Oracle密码
@echo    4、ORACLE_DB            指定备份所⽤的Oracle连接名
oracle数据库自动备份方法
@echo    5、BACK_OPTION          备份选项,可以为空,可以为full=y,可以为owner=a⽤户,b⽤户等等....
@echo    6、RAR_CMD              指定RAR命令⾏压缩⼯具所在⽬录
@echo ================================================
echo 正在备份 Oracle 数据库,请稍等……
rem 以下变量需要根据实际情况配置------> 注意:此脚本必须放在BACKUP_DIR⽬录下
set BACKUP_DIR=C:\Users\Simon\Desktop\back
set ORACLE_USERNAME=CSJJ
set ORACLE_PASSWORD=CSJJ_BASIC
set ORACLE_DB=172.16.9.119/orcl
set BACK_OPTION=owner=CSJJ
set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%
set BACK_NAME=%ORACLE_USERNAME%_%TODAY%
set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%
rem 开始备份
exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB%  %BACK_OPTION% file="%BACK_FULL_NAME%.dmp log="%BACK_FULL_NAME%.log"
echo 任务完成!
⽅案2. 同样是bat 可以同时备份多个
@echo off
echo 删除30天前的备分⽂件和⽇志
forfiles /p "D:\ORACLEBACKUP\bak" /m *.dmp /d -30 /c "cmd /c del @path"
forfiles /p "D:\ORACLEBACKUP\bak" /m *.log /d -30 /c "cmd /c del @path"
echo 正在备份 Oracle 数据库,请稍等……
exp user1/250.89/ORCL file=D:\ORACLEBACKUP\bak\user1%date:~0,4%%date:~5,2%%date:~8,2%.dmp  log=D:\ORACLEBACKUP\bak\user1%date:~0,4%%date:~5,2%%date:~8,2%.log  owner=user1  buffer= exp user2/250.89/ORCL file=D:\ORACLEBACKUP\bak\user2%date:~0,4%%date:~5,2%%date:~8,2%.dmp  log=D:\ORACLEBACKUP\bak\user2%date:~0,4%%date:~5,2%%date:~8,2%.log  owner=user1  buffer= exp user3/250.89/ORCL file=D:\ORACLEBACKUP\bak\user3%date:~0,4%%date:~5,2%%date:~8,2%.dmp  log=D:\ORACLEBACKUP\bak\user3%date:~0,4%%date:~5,2%%date:~8,2%.log  owner=user3  buffer= ...
echo 任务完成!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。