Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Expdp do ambiente Oracle RAC


O erro que você está recebendo é 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.

Portanto, o /usr/apps/datafiles diretório não existe ou não é gravável pelo proprietário do processo Oracle (por exemplo, o oracle conta); ou possivelmente (mas menos provável) o arquivo de log que você especificou já existe e não pode ser substituído.

Como você disse que existe, veja as permissões completas do diretório (por exemplo, ls -ld /usr/apps/datafiles , verifique o proprietário e o grupo do proprietário do processo Oracle (por exemplo, id -a ) para comparar as permissões nesse diretório e seu pai. Se tudo estiver OK, enquanto estiver conectado como proprietário do processo Oracle, verifique se você pode criar um arquivo no diretório, por exemplo:
touch /usr/apps/datafiles/test_file
ls -l /usr/apps/datafiles/test_file
rm -f /usr/apps/datafiles/test_file

Se tudo isso funcionar, e acho que provavelmente funciona pelo seu comentário, então, como você está usando o RAC, talvez seja necessário consultar a nota de suporte 1305166.1.

A primeira coisa a tentar é fazer o expdp sem o @orcl , como parece (a) há problemas quando o ouvinte e o banco de dados estão sendo executados em contas diferentes (por exemplo, grid e oracle , e a grid o usuário não pode acessar o diretório do SO - repita o touch teste como esse usuário para ver se é esse o caso); ou (b) se o alias tiver balanceamento de carga e estiver sendo executado em um nó diferente que não possui o diretório.