@echo off
title 数据库备份脚本
color 07
:: 设置Oracle编码
:: 如果设置的Oracle编码的与Oracle服务端编码不一致,可能会导致乱码
:: 为减少不必要的麻烦,建议与Oracle服务端编码保持一致
set NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
:: 获取日期时间
set currentTime=%time:~0,2%%time:~3,2%%time:~6,2%
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set basePath="D:\backup\dmp"
set baseRecoveryPath="D:\backup\recovery"
set oneLevelPath=%basePath%\%year%
set secondLevelPath=%oneLevelPath%\%month%
set threeLevelPath=%secondLevelPath%\%day%
:: 一级路径
if not exist "%oneLevelPath%" mkdir %oneLevelPath%
:: 二级路径
if not exist "%secondLevelPath%" mkdir %secondLevelPath%
:: 三级路径
if not exist "%threeLevelPath%" mkdir %threeLevelPath%
:: echo "导出指定用户下的数据文件";
:: 导出scott数据库文件
echo "Export scott..."
exp scott/pwd buffer=409600 file=%threeLevelPath%\scott_%currentTime%.dmp log=%threeLevelPath%\scott_%currentTime%.log
echo "已完成数据库备份工作"
echo "开始复制备份文件到恢复文件夹..."
:: scott
copy %threeLevelPath%\scott_%currentTime%.dmp %baseRecoveryPath%\scott.dmp
echo "已完成文件复制工作"