De foutmelding die je krijgt is 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.
Dus ofwel de /usr/apps/datafiles
directory bestaat niet of kan niet worden geschreven door de eigenaar van het Oracle-proces (bijv. het oracle
account); of mogelijk (maar minder waarschijnlijk) het door u opgegeven logbestand bestaat al en kan niet worden overschreven.
Aangezien je hebt gezegd dat het bestaat, kijk je naar de volledige machtigingen van de map (bijv. ls -ld /usr/apps/datafiles
, controleer de eigenaar en groep van de Oracle-proceseigenaar (bijv. id -a
) om de machtigingen voor die map en zijn bovenliggende map te vergelijken. Als dat er allemaal goed uitziet, controleer dan terwijl u bent ingelogd als de Oracle-proceseigenaar of u een bestand onder de map kunt maken, bijvoorbeeld:
touch /usr/apps/datafiles/test_file
ls -l /usr/apps/datafiles/test_file
rm -f /usr/apps/datafiles/test_file
Als dat allemaal werkt, en ik denk dat dat waarschijnlijk ook het geval is uit uw opmerking, dan moet u, aangezien u RAC gebruikt, mogelijk verwijzen naar ondersteuningsnota 1305166.1.
Het eerste dat u moet proberen, is de expdp
zonder de @orcl
, zoals het lijkt (a) er zijn problemen wanneer de listener en de database onder verschillende accounts worden uitgevoerd (bijv. grid
en oracle
, en het grid
gebruiker heeft geen toegang tot de OS-directory - herhaal de touch
test als die gebruiker om te zien of dat het geval is); of (b) als de alias load-balanced is en uiteindelijk wordt uitgevoerd op een ander knooppunt dat de directory niet heeft.