Oracle 使用expdp导出转储文件时,Ora-39000错误的转储文件规范
我正在尝试执行windows计划程序作业,该作业将每天创建一次数据库备份。因此,我创建了批处理文件Oracle 使用expdp导出转储文件时,Ora-39000错误的转储文件规范,oracle,batch-file,database-backups,expdp,Oracle,Batch File,Database Backups,Expdp,我正在尝试执行windows计划程序作业,该作业将每天创建一次数据库备份。因此,我创建了批处理文件SYSTEM\u BACKUP.bat,其中包含以下数据: @echo off setlocal EnableDelayedExpansion expdp SYSTEM/SYSTEM@XE PARFILE=export_dump.par ExpX.Dimp.PAR文件包含的信息: DIRECTORY=cron_jobs DUMPFILE=SYSTEM_!date:~10,4!!date:~6,2
SYSTEM\u BACKUP.bat
,其中包含以下数据:
@echo off
setlocal EnableDelayedExpansion
expdp SYSTEM/SYSTEM@XE PARFILE=export_dump.par
ExpX.Dimp.PAR文件包含的信息:
DIRECTORY=cron_jobs
DUMPFILE=SYSTEM_!date:~10,4!!date:~6,2!.!date:~4,2!.dmp
LOGFILE=SYSTEM.log
SCHEMAS=B1,B2
CONTENT=ALL
当我试图运行SYSTEM\u BACKUP.bat
时,我得到的错误如下
ORA-39001:invalid argument value,
ORA-39000 bad dump file specification,
ORA-39087:directory name ratormonitor_!date is invalid.
我尝试用当前的DATETMETHAMP附加到文件中创建转储文件,所以转储文件名应该看起来像这个代码< Stuly2015.02.03.37.02906831,但是得到了一个错误。< /代码> < /P> < P>您的ExpExpDim.Par文件包含
DUMPFILE=I_!date:~10,4!!date:~6,2!.!date:~4,2!.dmp
但由于这不是批处理文件的一部分,因此读取该文件的进程expdp.exe根本不知道延迟扩展或变量扩展
因此,在每次启动expdp之前,必须通过批处理文件创建此文件
@echo off
setlocal EnableDelayedExpansion
(
echo DIRECTORY=cron_jobs
echo DUMPFILE=I_!date:~10,4!!date:~6,2!.!date:~4,2!.dmp
...
) > export_dump.par
expdp SYSTEM/SYSTEM@XE PARFILE=export_dump.par
@jeb我现在编辑了我的问题它仍然是重复的,但是错误是:您需要在批处理中添加
setlocal enabledayedexpansion
,然后代码>扩展工作。还有中的斜杠/
!日期:~6,2!/!日期:~4,2!。dmp应该是一个
@jeb我已经根据你的建议编辑了我的问题,但仍然得到相同的错误。我对这个概念很陌生。我已经检查了你以前的问题,但是没有从这个问题中得到任何帮助,我的问题仍然没有解决这就是为什么我编辑了我的问题。然后你应该看看你的日期变量是如何格式化的,因为格式是本地化的。关于这一点有足够多的问题,好的,我会调查一下