Oracle数据库执行exp命令--报参数'log' 不允许有多个值

前几天设置自动备份oracle 数据库时发现一个问题,自动备份老是执行失败,后来把语句拿出来单独执行才发现是语句写的有问题,一般情况下自动备份都要自动生成日志文件,以便于我们查看备份是否正常执行。下面我举一个小例子说明报错的原因以及解决方法。

    expdp test/test@ORCL DIRECTORY=test

      DUMPFILE=test%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.dmp

      SCHEMAS=test logfile=test%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log

      大家可以看到第三句执行后生成日志文件,执行一段时间会发现一直执行失败,提示报错  logfile不允许有多个值。原因是  logfile=后面的值不允许变量。

    解决办法:用英文的单引号将logfile后面的值括起来即可,如下所示:

SCHEMAS=test logfile='test%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log'

原文地址:https://www.cnblogs.com/ShaYeBlog/p/10160090.html