Estou tendo problemas com o expdp e se puder me ajudar, vou agradecer muito.
Explicando ...
A base de um cliente é composta por três schemas e estou refazendo o script de backup para um que seja mais simples e mais rápido para os momentos de virada de versão do sistema. Então para fazer o backup tenho que fazer o expdp dos três schemas e na hora de restaurar fazer o impdp e refazer os sinonimos e views materializadas cridas entre os schemas.
O problema está na hora de fazer o expdp. Em um .sh eu coloco o comando de export para os três schemas em sequência, mas não consegue criar os três arquivos .dmp, dá certo no primeiro, o segundo não faz e consegue o terceiro, ou as vezes consegue o primeiro e os outros dois não, ou mesmo não consegue o primeiro e consegue os outro dois. O erro que aparece é o seguinte:
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-31641: unable to create dump file "<arquivo>.dmp"
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Additional information: 3
Additional information: 18
Achei que fosse a montagem do diretótio, mas o DBA daqui refez como mostra abaixo e nada ..
mount -o hard,rw,noac,rsize=32768,wsize=32768,suid,proto=tcp,vers=3
Monitorei as tabelas dba_datapump_jobs, dba_datapump_sessions e v$session_longops e nada de estranho.
Tentei separar as execuções do expdp do script original e criei um segundo .sh que é chamado pelo original passando os parametros necessários. Fiz isso pq achei que "talvez" o expdp dependesse de se fechar a sessão corrente para iniciar outro, ou coisa assim.
Pedi para o DBA alterar os valores dos parametros JOB_QUEUE_PROCESSES para 10 e STREAMS_POOL_SIZE para 100, que estavam com 4 e 0 respectivamente. Achei que poderia ser um problema com espaço ou com os jobs do datapump, mas não surgiu nenhum efeito.
Eu acredito que por ser muito mais rápido que os antigos comandos de export/import, deve disparar vários comandos que, talvez, se mantenham "abertos" por um momento impedindo que o próximo expdp execute com sucesso. Talvez exista alguma maneira de saber que realmente finalizou a execução e que não vai atrapalhar uma próxima.
Não sei se estou viajando nas teorias ...., mas se tiver alguma ideia, sou toda ouvidos, dedos e teclado.
Att,
Simone

