考虑是操作系统字符集和DB的字符集不符导致的日志写入错误
解决思路是重定向导出过程到test.txt,查看完整导出过程是否有报错信息
eg:
在备份脚本中expdp一行添加windows命令行重定向,查看完整导出过程:
expdp test/test full=y directory=TS_DB dumpfile=%backupfile% logfile=%logfile% 2> test.txt
注:经测试expdp过程无法通过“ >test.txt”的形式重定向,只能通过"2>test.txt"的方式重定向,windows官网定义的"2>"是用来定向报错信息的输出,但在在oracle数据泵重定向时只能用它来重定向注意。
在重定向里如果出现报错:
ORA-39064: 无法写入日志文件
ORA-29285: 文件写入错误
如果出现以上报错,可以确定是字符集不同造成的日志写入错误。
解决办法:
在备份t脚本中添加如下一行即可
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8