sql >> Base de Datos >  >> RDS >> Oracle

Expdp del entorno Oracle RAC

El error que obtienes es 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.

Entonces, ya sea el /usr/apps/datafiles El directorio no existe o el propietario del proceso de Oracle no puede escribir en él (por ejemplo, oracle cuenta); o posiblemente (pero menos probable) el archivo de registro que especificó ya existe y no se puede sobrescribir.

Como dijiste que existe, mira los permisos completos del directorio (por ejemplo, ls -ld /usr/apps/datafiles , verifique el propietario y el grupo del propietario del proceso de Oracle (por ejemplo, id -a ) para comparar los permisos en ese directorio y su padre. Si todo parece estar bien, mientras está conectado como propietario del proceso de Oracle, compruebe si puede crear un archivo en el directorio, por ejemplo:

touch /usr/apps/datafiles/test_file
ls -l /usr/apps/datafiles/test_file
rm -f /usr/apps/datafiles/test_file

Si todo eso funciona, y supongo que probablemente lo haga por su comentario, entonces, dado que está usando RAC, es posible que deba consultar la nota de soporte 1305166.1.

Lo primero que debe intentar es hacer expdp sin el @orcl , como parece (a) hay problemas cuando el oyente y la base de datos se ejecutan en diferentes cuentas (por ejemplo, grid y oracle , y la grid el usuario no puede acceder al directorio del sistema operativo; repita el touch prueba como ese usuario para ver si ese es el caso); o (b) si el alias tiene equilibrio de carga y termina ejecutándose en un nodo diferente que no tiene el directorio.