今天客户测试环境出现一个问题,任何请求都没有输出文件,报
FDPSTP failed due to ORA-20100: File o0049503.tmp creation for FND_FILE failed.
失败
ORA-06512: at “APPS.FND_FILE”, line 475
FND_FILE 无法写入文件 o0026495.tmp
类似的错误
EBS默认都把执行PLSQL的output文件放在$APPLPTMP目录下,开始怀疑是APPS和ORA用户没有读写权限,尝试通过在OAM里修改APPLTMP的值,然后执行autoconfig,重启应用(也有人直接修改环境变量文件,然后重启应用的,没试过,感兴趣的可以试试看)
再次执行还是不行,后来去metalink查,发现是$APPLTMP和UTL_FILE_DIR的值不一样导致的,FND_FILE调用utl_file包,utl_file只能在UTL_FILE_DIR指定的目录有读写的权限,把APPLPTMP的值摄制成和UTL_FILE_DIR的第一个值一样,问题解决。
参考 metalink
Concurrent Processing - Troubleshooting Concurrent Request ORA-20100 errors in the request logs (Doc ID 261693.1)
FND_FILE uses the UTL_FILE package, which can only write to directories specified in init.ora. APPLPTMP is a special directory used only for PLSQL temporary files. When a concurrent program uses the FND_FILE package, the concurrent manager uses APPLPTMP as the directory to which it writes temporary files. Thus, APPLPTMP must be one of the directories listed in init.ora in order for FND_FILE to work.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11289933/viewspace-767098/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11289933/viewspace-767098/