oracle导库lrm00112,LRM-00112: 参数 'logfile' 不允许有多个值

在Windows系统中,使用BAT脚本备份Oracle数据库时遇到LRM-00112错误。问题出在%time%变量在00点时导致的格式问题。解决方案包括使用%time:~1,1%%time:~3,2%%time:~6,2%或仅使用日期作为文件名。完整备份脚本包括创建目录、导出数据库、压缩备份文件和删除15天前的旧备份。" 126892939,10138986,Python无监督学习与数据预处理,"['机器学习', 'Python', '数据预处理', '聚类算法']
摘要由CSDN通过智能技术生成

在widows系统上写个bat脚本定时备份oracel数据库的,但一执行bat脚本就会报“LRM-00112: 参数 'logfile' 不允许有多个值”,网上资源都是说创建逻辑目录可能有空格,我就重新修改了逻辑目录还是不是行的,以为下面的语句的问题:我都是习惯生产的名字为back_20190419.log这样形式的没有双引号,这个语句在我在其它服务器执行一点都没有问题的

expdp %bakdbname%/%bakdbpasswd%@%sid% directory=BACKDIR dumpfile=%dumpbame%_%BACKUPDATE%.dmp logfile=%dumpbame%_%BACKUPDATE%.log

加上双引号就可以执行了也确实不报错了

expdp %bakdbname%/%bakdbpasswd%@%sid% directory=BACKDIR dumpfile="%dumpbame%_%BACKUPDATE%.dmp" logfile="%dumpbame%_%BACKUPDATE%.log"

但是还是没有解决这个报错的问题,最后发现是bat批处理的时间机制问题的:用%time:~0,2%%time:~3,2%%time:~6,2%时有个问题, 就是如果TIME 是00点的时候,电脑显示的是0不是00所以%time:~0,2%就报错了。

例子:2019-4-22时间9:46:01

echo BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%

BACKUPDATE=20190422 94601(9前面是空格)

echo BACKUPDATE=

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值