Pular para o conteúdo
  • Este tópico contém 20 respostas, 3 vozes e foi atualizado pela última vez 16 anos atrás por Anônimo.
Visualizando 15 posts - 1 até 15 (de 21 do total)
  • Autor
    Posts
  • #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
      Erik

      #91531
      burga
      Participante

        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.

        #91533
        rickab7
        Participante

          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

          #91534
          Anô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.

            #91535
            Anô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 invalid

              O diretório está criado corretamente.

              []’s
              Erik

              #91536
              burga
              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 invalid

                O diretório está criado corretamente.

                []’s
                Erik[/quote]

                Faça o seguinte:

                1. crie o manualmente a pasta c:export;
                2. conecte-se no óracle pelo SQL*PLUS e crie o diretório com o comando: create or replace directory exp_bkp as 'c:export';

                3. 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…

                #91537
                Anô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 invalid

                  O diretório está criado corretamente.

                  []’s
                  Erik[/quote]

                  Faça o seguinte:

                  1. crie o manualmente a pasta c:export;
                  2. conecte-se no óracle pelo SQL*PLUS e crie o diretório com o comando: create or replace directory exp_bkp as 'c:export';

                  3. 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
                  Erik

                  #91539
                  burga
                  Participante

                    O 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)

                    #91540
                    Anô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
                      Erik

                      #91545
                      burga
                      Participante

                        Nã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í…

                        #91546
                        Anô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.log

                          Aqui 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
                          Erik

                          #91549
                          burga
                          Participante

                            Oi 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…

                            #91579
                            burga
                            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…

                              #91583
                              Anô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

                                #91584
                                Anô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

                                Visualizando 15 posts - 1 até 15 (de 21 do total)
                                • Você deve fazer login para responder a este tópico.