Грешката, която получавате е ORA-29283 :
> oerr ora 29283
29283. 00000 - "invalid file operation"
*Cause: An attempt was made to read from a file or directory that does
not exist, or file or directory access was denied by the
operating system.
*Action: Verify file and directory access privileges on the file system,
and if reading, verify that the file exists.
Така че или /usr/apps/datafiles директорията не съществува или не може да се записва от собственика на процеса на Oracle (напр. oracle сметка); или евентуално (но по-малко вероятно) лог файлът, който сте посочили, вече съществува и не може да бъде презаписан.
Тъй като казахте, че съществува, вижте пълните разрешения на директорията (напр. ls -ld /usr/apps/datafiles , проверете собственика и групата на собственика на процеса на Oracle (напр. id -a ), за да сравните разрешенията за тази директория и нейния родител. Ако всичко изглежда наред, докато сте влезли като собственик на процеса на Oracle, проверете дали можете да създадете файл в директорията, напр.:
touch /usr/apps/datafiles/test_file
ls -l /usr/apps/datafiles/test_file
rm -f /usr/apps/datafiles/test_file
Ако всичко това работи, а предполагам, че вероятно е така от вашия коментар, тогава, тъй като използвате RAC, може да се наложи да се обърнете към бележка за поддръжка 1305166.1.
Първото нещо, което трябва да опитате, е да направите expdp без @orcl , както изглежда (a) има проблеми, когато слушателят и базата данни работят под различни акаунти (напр. grid и oracle и grid потребителят няма достъп до директорията на ОС - повторете touch тествайте като този потребител, за да видите дали случаят е такъв); или (б) ако псевдонимът е балансиран на натоварването и в крайна сметка се изпълнява на различен възел, който няма директорията.