Windows下的Oracle导出脚本
REM File name Daily.bat REM Batch Process Reload DB Backup REM REM Author Frank.Fan REM Modification History Created 2012-05-07 REM Modified REM for /F tokens=1-3 delims=/ %%i in ('date /t') do @set FILENAMEDT=%%i%%j%%k #取系统当前日期:
REM File name Daily.bat
REM Batch Process
Reload DB Backup
REM
REM Author Frank.Fan
REM Modification History
Created 2012-05-07
REM Modified
REM
for /F "tokens=1-3 delims=/ " %%i in ('date /t') do @set FILENAMEDT=%%i%%j%%k
#取系统当前日期:年月日(中文格式)、月日年(英文格式)
for /F "tokens=1,2 delims=: " %%i in ('time /t') do @set FILENAMETM=%%i%%j
#取系统当前时间:时分
SET USERNAME=SYSTEM #oracle帐号
SET USERPASSWD=123456 #oracle密码
SET SERVICENAME=QEWAY #oracle SID
SET SCHEMASNAME=ISCOP #oracle SCHEMA帐号
SET RARTOOL=C:Program FilesWinRAR #设定WINRAR路径(各个机器不同)
SET DBBACKUPPATH=D:DBBAK #设定被导出的文件路径
SET DBADIRECTORIES=DBBAK #oracle内设置的Directory目录名
SET DBBACKUPFILENAME=QEWAY_%FILENAMEDT%-%FILENAMETM%
goto main
:main
ECHO Exporting schemas.......
expdp %USERNAME%/%USERPASSWD%@%SERVICENAME% DUMPFILE=%DBADIRECTORIES%:%DBBACKUPFILENAME%.dmp schemas=%SCHEMASNAME% LOGFILE=%DBADIRECTORIES%:%DBBACKUPFILENAME%.log
ECHO Done exporting schemas.
ECHO =======================================================
ECHO ...Done export
if exist %DBBACKUPPATH%%DBBACKUPFILENAME%.RAR del %DBBACKUPPATH%%DBBACKUPFILENAME%.RAR
"%RARTOOL%winrar.exe" a -ep %DBBACKUPPATH%%DBBACKUPFILENAME%.RAR %DBBACKUPPATH%%DBBACKUPFILENAME%.dmp
del %DBBACKUPPATH%%DBBACKUPFILENAME%.dmp
Echo ...Compression complete
forfiles /p "%DBBACKUPPATH%" /m *.rar -d -30 /c "cmd /c del /f @path"
#删除30天之前的RAR文件
REM -----------Send a mail to notification-----------
start D:DBBAKBatch_notification_Daily.vbs #调用邮件通知VBS文件
EXIT
邮件通知VBS文件内容:
NameSpace = ""
set Email = CreateObject("CDO.Message")
Email.From = "XXXX@Exchange.com"
Email.To = "XXXX@163.com"
Email.Subject = "Gongxtpt Batch Daily Task"
Email.Textbody = "Gongxtpt Batch Daily Task was done!! Starting at 00:00AM"
with Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "10.0.0.12"
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 0
.Item(NameSpace&"sendusername") = ""
.Item(NameSpace&"sendpassword") = ""
.Update
end with
Email.Send
Set Email=Nothing