设置oracle11g定时自动备份,为什么没有备份?请大神们帮我看看为啥!

我写了个命令文件backup-expdp.bat,文件内容如下:expdp xyyh/xyyh123@orcl directory=dmp_dir dumpfile=nstc_dpms_%date:~0,10%.dmp logfile=nstc_dpms_%date:~0,10%.log schemas=xyyh放在D:尀backup_N6目录下,然后在系统里设置任务计划程序,去该目录下查看后,发现数据库没有自动备份,“任务计划程序”窗口中该任务的上次运行结果显示为:0x1。若我直接运行该backup-expdp.bat文件,弹出窗口会报错:ORA-39002:操作无效ORA-39070:无法打开日志文件ORA-39088:文件名不能包含路径说明———————————————————————————————————————请大神们帮我看看为啥!
2026年09月19日 20:10
有3个网友回答
网友(1):

时间参数的问题,你把时间参数去掉,看备份能成功不
好像要把时间参数写到文件名里,挺繁琐的
我空间有个日志
http://hi.baidu.com/badkano/item/fc61766ff12c0e156895e6c0
你看能用到你这里不,也是设置日期为文件名的
-------------------补充---------------
测试了一下,这个可用
你还有问题,应该是你备份的语句有毛病,看看你的路径是否都建立了
这个你只需要改最后一行就行了,我是在我本机测试的,用的路径也都是我本地的,oracle也用的我本地的

regedit /e "%temp%\bak.reg" "HKEY_CURRENT_USER\Control Panel\International"
>01.reg echo Windows Registry Editor Version 5.00
>>01.reg echo.
>>01.reg echo [HKEY_CURRENT_USER\Control Panel\International]
>>01.reg echo "sShortDate"="yyyy-MM-dd"
>>01.reg echo "sDate"="-"
>>01.reg echo "sTimeFormat"="HH:mm:ss"
regedit /s 01.reg&del 01.reg
>tmp.vbs echo Wscript.echo FormatDateTime (DateAdd("d", -1 ,Date),2)
for /f "delims=" %%i in ('cscript.exe //nologo tmp.vbs') do set aDate=%%i&del tmp.vbs
set fn=%adate:~0,4%%adate:~5,2%%adate:~8,2%
exp 用户名/密码@sytv file=f:/bak/nstc_dpms_%fn%.dmp log=f:/log/nstc_dpms_%fn%.log owner='scott'

网友(2):

%date:~0,10% 这个应该有问题,你要看你机器上的时间格式,有的机器上用这个获取的时间格式是2013/03/04,有的是2013-03-04 ,第一种是成了目录格式,前几天刚遇到的这个

网友(3):

我曾爱过的所有遗迹
浮向深湖底有一星期之久。
一封惟一的短信。
和它们那朦胧的塔影。
房间——一片混乱。那些还未卖出去的东西,
果提当一勇。哈哈