使用 expdp 导出转储文件时出现 Ora-39000 错误的转储文件规范
Ora-39000 bad dump file specification when exporting dump file using expdp
我正在尝试执行 windows 调度程序作业,它将每天创建一次数据库备份。因此,出于这个原因,我创建了包含数据的批处理文件 SYSTEM_BACKUP.bat
:
@echo off
setlocal EnableDelayedExpansion
expdp SYSTEM/SYSTEM@XE PARFILE=export_dump.par
export_dump.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_BACKUP.bat
时,出现错误
ORA-39001:invalid argument value,
ORA-39000 bad dump file specification,
ORA-39087:directory name ratormonitor_!date is invalid.
我正在尝试创建附加到文件的当前日期时间戳的转储文件,因此转储文件名应如下所示 SYSTEM_2015.02.03.37.029062831 but getting an error.
您的 export_dump.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
我正在尝试执行 windows 调度程序作业,它将每天创建一次数据库备份。因此,出于这个原因,我创建了包含数据的批处理文件 SYSTEM_BACKUP.bat
:
@echo off
setlocal EnableDelayedExpansion
expdp SYSTEM/SYSTEM@XE PARFILE=export_dump.par
export_dump.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_BACKUP.bat
时,出现错误
ORA-39001:invalid argument value,
ORA-39000 bad dump file specification,
ORA-39087:directory name ratormonitor_!date is invalid.
我正在尝试创建附加到文件的当前日期时间戳的转储文件,因此转储文件名应如下所示 SYSTEM_2015.02.03.37.029062831 but getting an error.
您的 export_dump.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