- Este tópico contém 20 respostas, 3 vozes e foi atualizado pela última vez 16 anos atrás por
Anônimo.
-
AutorPosts
-
12 de dezembro de 2009 às 6:52 pm #91529
Anônimo
Pessoal, estou com a seguinte dúvida:
Estou acessando o servidor Oracle que está instalado no Windows Server 2003. Preciso de exportar os dados para depois importar para um servidor Linux que estou utilizando para testes.
Fiz com o export e deu certo, porém, me recomendaram fazer com o data pump, estou executando o comando só que está aparecendo o seguinte erro:
Comando:
SQL> create or replace directory export as ‘c:export’; (APÓS ESTE COMANDO O DIRETÓRIO NÃO É CRIADO)SQL> expdp teste/abc123 directory=c:export dumpfile=expdp.dmp logfile=expdp_log.log full=y
SP2-0735: unknown command beginning “expdp test…” – rest of line ignored. (ESTE É O ERRO QUE APARECE)O que estou fazendo de errado? ou o que eu deixei de fazer?
[]’s
Erik12 de dezembro de 2009 às 7:29 pm #91531burga
ParticipanteVocê deve colocar o NOME que você deu pro diretório no parâmetro directory e não o caminho…
Lembrando que o diretório de destino já deve estar criado. Ou seja o c:export já deve existir, e com o create dirctory você está somente apontando este diretório e dando o nome ao “atalho” (objeto) de export pro Oracle.
create or replace directory export as ‘c:export’;
Então é este nome em vermelho que você deve utilizar no parâmetro directory do expdp.
E mais, este comando EXPDP não é pra ser executado dentro do SQLPLUS e sim direto no CMD.
12 de dezembro de 2009 às 9:22 pm #91533rickab7
ParticipanteOla amigo!
Só lembro que para utilizar o comando no cmd o ORACLE_HOME e ORACLE_BASE devem estar configurados corretamente, para que ache o utilitario expdp na basta bin do oracle.
Abraços
13 de dezembro de 2009 às 12:58 am #91534Anônimo
[quote=”burga”:3km7kem3]Você deve colocar o NOME que você deu pro diretório no parâmetro directory e não o caminho…
Lembrando que o diretório de destino já deve estar criado. Ou seja o c:export já deve existir, e com o create dirctory você está somente apontando este diretório e dando o nome ao “atalho” (objeto) de export pro Oracle.
create or replace directory export as ‘c:export’;
Então é este nome em vermelho que você deve utilizar no parâmetro directory do expdp.
E mais, este comando EXPDP não é pra ser executado dentro do SQLPLUS e sim direto no CMD.[/quote]
Não entendi o que vc disse, eu fiz exatamente igual ao que vc citou:
SQL> create or replace directory export as ‘c:export’;
Passei o nome do diretório, conforme negrito acima e mesmo assim o diretório não foi criado e tb antes não tinha este diretório.
13 de dezembro de 2009 às 1:45 am #91535Anônimo
[quote=”rickab7″:2ycg8nea]Ola amigo!
Só lembro que para utilizar o comando no cmd o ORACLE_HOME e ORACLE_BASE devem estar configurados corretamente, para que ache o utilitario expdp na basta bin do oracle.
Abraços[/quote]
Troquei o diretório pelo D:/ só que está ocorrendo estes erros
D:>expdp teste/abc123 full=y directory=d:export dumpfile=export.dmp logfile=export_log.log
Export: Release 10.2.0.1.0 – Production on Saturday, 12 December, 2009 19:05:48
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Produc
tion
With the OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name D:EXPORT is invalidO diretório está criado corretamente.
[]’s
Erik13 de dezembro de 2009 às 2:14 am #91536burga
Participante[quote=”escastilho”:2jfr148w][quote=”rickab7″:2jfr148w]Ola amigo!
Só lembro que para utilizar o comando no cmd o ORACLE_HOME e ORACLE_BASE devem estar configurados corretamente, para que ache o utilitario expdp na basta bin do oracle.
Abraços[/quote]
Troquei o diretório pelo D:/ só que está ocorrendo estes erros
D:>expdp teste/abc123 full=y directory=d:export dumpfile=export.dmp logfile=export_log.log
Export: Release 10.2.0.1.0 – Production on Saturday, 12 December, 2009 19:05:48
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Produc
tion
With the OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name D:EXPORT is invalidO diretório está criado corretamente.
[]’s
Erik[/quote]Faça o seguinte:
- crie o manualmente a pasta c:export;
-
conecte-se no óracle pelo SQL*PLUS e crie o diretório com o comando:
create or replace directory exp_bkp as 'c:export'; -
saia do SQL*PLUS e no prompt de comando (CMD) digite:
expdp teste/abc123 full=y directory=exp_bkp dumpfile=export.dmp logfile=export_log.log.
lembrando que o usuário teste que você está utilizando pra fazer o expdp deve possuir o privilégio pra ler e escrever no diretório criado. Isto pod ser feito com o seguinte comando no SQL*PLUS:
grant read, write on directory exp_bkp to teste;Basicamente isto que eu quis dizer na mensagem anterior…
13 de dezembro de 2009 às 2:55 am #91537Anônimo
[quote=”burga”:2v5ktq68][quote=”escastilho”:2v5ktq68][quote=”rickab7″:2v5ktq68]Ola amigo!
Só lembro que para utilizar o comando no cmd o ORACLE_HOME e ORACLE_BASE devem estar configurados corretamente, para que ache o utilitario expdp na basta bin do oracle.
Abraços[/quote]
Troquei o diretório pelo D:/ só que está ocorrendo estes erros
D:>expdp teste/abc123 full=y directory=d:export dumpfile=export.dmp logfile=export_log.log
Export: Release 10.2.0.1.0 – Production on Saturday, 12 December, 2009 19:05:48
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Produc
tion
With the OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name D:EXPORT is invalidO diretório está criado corretamente.
[]’s
Erik[/quote]Faça o seguinte:
- crie o manualmente a pasta c:export;
-
conecte-se no óracle pelo SQL*PLUS e crie o diretório com o comando:
create or replace directory exp_bkp as 'c:export'; -
saia do SQL*PLUS e no prompt de comando (CMD) digite:
expdp teste/abc123 full=y directory=exp_bkp dumpfile=export.dmp logfile=export_log.log.
lembrando que o usuário teste que você está utilizando pra fazer o expdp deve possuir o privilégio pra ler e escrever no diretório criado. Isto pod ser feito com o seguinte comando no SQL*PLUS:
grant read, write on directory exp_bkp to teste;Basicamente isto que eu quis dizer na mensagem anterior…[/quote]
Amigo, que negócio estranho isso viu.
Eu dei o comando para criar o diretório, da mesma forma que vc passou, aparece a mensagem que o diretório foi criado mas o mesmo não aparece.Sendo assim criei manualmente, passei o “grant” para o usuário teste, executei o comando “expdp” e dá os mesmos erros.
🙁
[]’s
Erik13 de dezembro de 2009 às 7:43 am #91539burga
ParticipanteO erro que deu e que estou dizendo desde a primeira mensagem é que você está executando o expdp da seguinte forma:
expdp teste/abc123 full=y directory=d:export dumpfile=export.dmp logfile=export_log.log
enquanto o correto é:
expdp teste/abc123 full=y directory=nome_usado_no_comando_create_directory dumpfile=export.dmp logfile=export_log.log
sendo que este nome você pega daqui:
create or replace directory nome_usado_no_comando_create_directory as ‘c:export’;
Caso tenha feito do jeito correto, poste aqui o comando e o erro…
Lembrando ainda que o diretório de banco sempre será criado no usuário SYS, já com grant pro usuário que criou o diretório.
Tente isso e poste o resultado… 8)
13 de dezembro de 2009 às 5:03 pm #91540Anônimo
Olá amigo, agora eu entendi. Desculpa a falta de atenção em entender o seu primeiro tópico.
Fiz e deu certo.
Grato.
[]’s
Erik13 de dezembro de 2009 às 8:15 pm #91545burga
ParticipanteNão precisa pedir desculpas não… Na pressa, muitas vezes eu que não explico direito! 8) 😆
Que bom que deu certo… Qualquer coisa estamos aí…
14 de dezembro de 2009 às 3:08 am #91546Anônimo
Amigo,
O que achei estranho é que qndo dou o comando para criar o diretório, aparece a mensagem que foi criado, mais ele não cria. mais tudo bem, eu criei manual e deu certo.
Só para vc ver, olha o log que foi gerado.
http://www.gruporecon.com.br/dumplog.logAqui na Empresa eu tinha 2 base de dados, no log o nome está como OFICIAL TESTE e a ALTERNATIVA SUBTESTE. Logo qndo eu entrei na Empresa, como eu não tinha nenhum conheçimento do Oracle e o mesmo teria que ser migrado para outro servidor, contratamos um DBA para fazer o serviço.
Após as configurações que ele fez, antes que eram duas bases diferentes, agora ficou somente tudo em uma só.
Antes qndo eu fazia o backup eu tinha que fazer das duas bases, agora é feita somente em um arquivo somente.
Independemente do usuário que acesso, executo este comando.
SELECT NAME FROM V$DATABASE
O resultado é sempre o mesmo SID.
Como eu irei fazer novas configurações, queria separar isso como era antes.
[]’s
Erik14 de dezembro de 2009 às 6:35 am #91549burga
ParticipanteOi Erik,
Pra separar você precisa instalar uma nova instância do Oracle, e importar um esquema pra cada instância… Mas se for fazer na mesma máquina, tem que ver se ela comporta as duas instâncias… Isso considerando que são bancos de teste e não de produção, senão eu acho que você terá que dar uma olhada se licença do Oracle permite… Esta parte de como funciona a licença eu estou meio por fora…
14 de dezembro de 2009 às 10:00 pm #91579burga
Participante[quote=”escastilho”:pqddl9bj]Amigo,
O que achei estranho é que qndo dou o comando para criar o diretório, aparece a mensagem que foi criado, mais ele não cria. mais tudo bem, eu criei manual e deu certo.
[/quote]
Completando,
O comando create directory NÃO CRIA O DIRETÓRIO no seu SO.
Ele só cria um objeto de banco que aponta pro diretório informado no comando.
Ex.:
create or replace directory exp_bkp as 'c:export';Neste caso, o comando vai criar o objeto de banco exp_bkp que vai referenciar o diretório c:export. Ou seja, o diretório c:export já deverá existir antes de dar o comando create directory…
Assim, o banco conseguirá ler arquivos neste diretório, exportar e importar backups utilizando datapump, etc, utilizando o nome do objeto que referencia o diretório.
No caso do diretório não existir, o Oracle vai criar o objeto sem apresentar problemas, mas quando você for utilizá-lo pra alguma coisa ele vai retornar uma exceção…
15 de dezembro de 2009 às 1:45 pm #91583Anônimo
Bom dia,
Nossa, depois dessa aula é impossível não entender, rsrsrsrs…valeu mais uma vez.
Aproveitando a sua boa vontade, confirma pra mim.
Pra mim fazer o IMPORT deste EXPORT que eu fiz o processo é basicamente o mesmo? só que ao invés de usar o expdp irei usar o impdp, certo?
[]’s
Erik15 de dezembro de 2009 às 1:45 pm #91584Anônimo
Bom dia,
Nossa, depois dessa aula é impossível não entender, rsrsrsrs…valeu mais uma vez.
Aproveitando a sua boa vontade, confirma pra mim.
Pra mim fazer o IMPORT deste EXPORT que eu fiz o processo é basicamente o mesmo? só que ao invés de usar o expdp irei usar o impdp, certo?
[]’s
Erik -
AutorPosts
- Você deve fazer login para responder a este tópico.