Windows上Oracle设置定时任务数据泵全备数据库,将备份文件传输至Linux系统备份目录下
参考文档
1.为输出路径建立一个数据库的directory对象。
登录windows数据库创建一个expdp导出本地的路径
sqlplus / as sysdba
create directory dumpfull as 'd:\bakup';
2.windows服务器上创建备份脚本
脚本名:expdp_bak_script.bat
@echo off
::ORA环境变量。
set ORACLE_SID=orcl
set ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::设置导出的路径
set BAKDIR=D:\bakup
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
expdp \" / as sysdba \" directory=dumpfull dumpfile=expbak_%ORACLE_SID%_%BACKUPDATE%.dmp logfile=expbak_%ORACLE_SID%_%BACKUPDATE%.log full=y
::压缩备份文件
zip -r %BAKDIR%\expbak_%ORACLE_SID%_%BACKUPDATE%.zip %BAKDIR%\expbak_%ORACLE_SID%_%BACKUPDATE%.dmp
::传输备份文件至Linux系统对应目录
Echo open 10.10.10.10 21 >ftp.up
Echo orabak>>ftp.up
Echo cd /oraclebakup >>ftp.up
Echo binary>>ftp.up
Echo put "%BAKDIR%\expbak_%ORACLE_SID%_%BACKUPDATE%.zip">>ftp.up
Echo bye>>ftp.up
FTP -s:ftp.up
del ftp.up /q
@echo::删除1天前的备份。
forfiles /p %BAKDIR% /s /m *.dmp /d -1 /c "cmd /c del @path"
forfiles /p %BAKDIR% /s /m *.zip /d -1 /c "cmd /c del @path"
exit
3.Windows创建定时任务
(1)打开本地任务计划程序创建任务
(2)设置任务名称及对应的描述
(3)设置触发器,每天触发任务的时间
(4)设置定时备份脚本路径,确定任务
(5)任务计划程序库中查看新建的任务状态
标签:ftp,BAKDIR%,Windows,备份,up,Echo,ORACLE,Oracle,_% From: https://blog.51cto.com/u_13482808/7454989