Pular para o conteúdo
  • Este tópico contém 14 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 5 meses atrás por Marcio68Almeida.
Visualizando 15 posts - 1 até 15 (de 15 do total)
  • Autor
    Posts
  • #82264
    Andrezaum
    Participante

      Boa Noite!
      Estou pensando em fazer uma copia do meu servidor oracle para efetuar alguns testes.
      No servidor “titular” possuo uma replicação de dados com outro servidor.
      Minha dúvida é a seguinte: Essa copia pode comprometer de alguma forma a minha replicação quando ligado a minha rede?

      Muito Obrigado!

      André

      #82265
      mpvargas
      Participante

        Caro Amigos,
        aproveitando a sua dúvida…
        Estou precisando fazer uma replicação da base de produção com a base de teste. Vc poderia me dar uma dica de como fazer isso? E como os dados são atualizados (on-line ou manualmente)? Obrigado

        #82268
        hermesmc
        Participante

          André, acredito que fazendo um export da sua base de dados “titular” e importando na base de teste não haverá nenhum problema. O export na verdade faz uma cópia da sua base e é usada por algumas pessoas para fazer o backup do banco.

          #82269
          Andrezaum
          Participante

            Hermes, boa tarde!
            Na verdade eu fiz um “cold backup”. Funcionou 100%. A minha dúvida e de que se eu colocar essa cópia na minha rede, ela de alguma forma poderia comprometer a replicação do servidor titular com o servidor da outra loja no caso.. tipo.. “misturar” as informações que seria replicadas por serem bancos identicos e tal… Ou por ter ip e host diferentes a replicação se anularia para esse servidor de teste.

            Abraços!!!
            André

            #82270
            Avatar photoRegis Araujo
            Participante

              Andre, boa noite!

              O seu banco de teste se estiver com as mesmas configurações que o banco real somente irão interferir se a replicação dele estiver ativa, pois para vc replicar um banco vc precisa configurar parametros como Server_Name e Host.

              Então basta deixar a replicação inativa neste banco.

              Abraços

              #82271
              Avatar photoRegis Araujo
              Participante

                Vargas, boa noite!

                A copia que você precisa do banco tem q ser on-line (valores reais) ou pode ser apenas 1 vez?

                Se for uma copia integra e fiel aos dados, esta copia tera q ser On-line, você pode fazer a replicação dos dados utilizando o Replicator do Oracle, mas não tenho muito conhecimento sobre esta ferramenta, creio que você poderá encontrar diversas dicas em alguns foruns no google.

                Abraços…

                #82273
                Rodrigo Almeida
                Participante

                  Andrezaum,

                  No sue caso, é necessário estudar o ambiente, se sua replicação entre os servidores e feito por procedures PL/SQL e acionados por JOBS, apenas deixe o parâmetro da instância replicado job_queue_process igual a ZERO.

                  Perceba, que pode sim ter confusão na sua replicação se as bases que irá fazer a cópia possuirem os mesmos alias de TNSNAMES. Caso sua base replicada esteja na rede para acesso.

                  Mas tudo isso, irá depender de como está criada a sua replicação. Deverá analisar os TNSNAMES, DBLINKS, forma de replicação, se tem Materialized Views, Advanced Replication e etc…

                  Uma dica, seria utilizar o RMAN para fazer a replicação, pois poderá realizar como o banco de dados ONLINE e na replica aplicar todos os ARCHVIES da produção para que fique o mais atualizado e sem impactar a sua replicação.

                  Estude por DUPLICATE NO RMAN! Para saber mais informações.

                  Abraços, 8)

                  #82284
                  mpvargas
                  Participante

                    Thunder,
                    obrigado pela ajuda.

                    Na verdade o que eu preciso é que o meu banco de teste seja atualizado todo dia (pode ser de madrugada)… não precisa ser replicação, basta rodar algum script de madrugada copiando os dados da base de produção.
                    Estou tentando fazer isso via expdp/impdp, mas não estou tendo muito sucesso… segue abaixo o script que estou usando atualmente:

                    #Oracle Settings
                    TMP=/tmp; export TMP
                    TMPDIR=$TMP; export TMPDIR
                    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
                    ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
                    ORACLE_SID=dbteste; export ORACLE_SID
                    ORACLE_TERM=xterm; export ORACLE_TERM
                    PATH=/usr/sbin:$PATH; export PATH
                    PATH=$ORACLE_HOME/bin:$PATH; export PATH
                    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

                    IMPORTAR ARQUIVO DMP PARA ATUALIZAR BASE TESTE – dbteste

                    dia=0
                    mes=0
                    diames=0

                    dia=date +"%d"
                    mes=date +"%m"

                    diames=$dia$mes

                    cd /backup/export
                    cp /backup/export/msiga$diames* /home/oracle/atualizar
                    cd /home/oracle/atualizar
                    rm /home/oracle/atualizar/msiga.dmp
                    gzip -d msiga*
                    mv /home/oracle/atualizar/msiga* /home/oracle/atualizar/msiga.dmp

                    impdp “msiga/msiga@dbteste dumpfile=msiga.dmp directory=atualiza TABLE_EXISTS_ACTION=truncate content=data_only”

                    #82285
                    Avatar photoRegis Araujo
                    Participante

                      Vargas, boa noite!

                      Após rodar o script, qual a mensagem de erro que apresenta???

                      Abraços!

                      #82286
                      mpvargas
                      Participante

                        Thunder,
                        Na verdade o que mais ocorre é encher a tablespace de undo.
                        Como nesse servidor eu tenho pouco espaço em disco, qdo a tablespace tenta aumentar automaticamente, não consegue.
                        Esse procedimento que estou usando está correto?
                        Pelos testes que eu fiz, parece que dessa forma os índices também são recriados… será que tem alguma forma de atualizar somente os dados?
                        Ou existe uma forma mais simples de fazer essa atualização…
                        Obrigado.

                        #82290
                        Avatar photoRegis Araujo
                        Participante

                          Ola Vargas, boa tarde!

                          Creio que a melhor solução para você é o Oracle Replicator, pois ficar realizando Exp/Imp todas as noites é bem cansativo, o Oracle replicator faz uma atualização no banco de BackUp sempre que houver uma atualização nas tabelas do banco real, alem de que, algumas vezes quando vc faz um imp o oracle acaba subindo os indices na mesma tablespace que ele insere as tabelas, isto se você criou uma tablespace para cada situação TBSBANCODAT (dados), TBSBANCOIND (Indices) e TBSBANCOTMP (Temporarios).

                          Abaixo link de documentação da ORACLE, pois não tenho muito conhecimento sobre o Oracle Replicator, mas vou tentar ajudar no que eu puder.

                          http://www.oracle.com/pls/db102/portal. … elected=15

                          Abraços…

                          #82292
                          mpvargas
                          Participante

                            Thunder,
                            Obrigado pela ajuda.

                            Andei lendo algumas coisas sobre o Replicator.
                            Minha dúvida é a seguinte:
                            A atualização do banco de testes é on-line, digo, a cada alteração no banco de produção, ele atualiza o banco de testes?
                            Ou é feito um script para fazer a atualização num determinado horário?
                            Se alguém alterar o banco de teste, ele replica para o de produção… quero dizer, a replicação funciona para os 2 bancos ou somente de produção para teste?
                            Qual a diferença do Replicator para o Data Guard?
                            Obrigado pela ajuda.

                            #82293
                            Marcio68Almeida
                            Participante

                              Se você pretende manipular os dados do banco replicado, você tem que repensar na sua estratégia, pois não dá para o banco principal ficar mandando atualizações para um banco que já está sofrendo atualizações…
                              Quando você cria um banco de testes, você tem que fazer uma cópia e deixar lá, pois é para testes…
                              Se quer uma posição atualizada, você pode programar o RMAN para atualizar toda noite, mas creio que é meio sem sentido…
                              Imagine que você precise criar uma trigger ou uma função que será destruída na próxima atualização do banco de testes…
                              Imagine que você tem uma coluna id, com número sequencial, se inserir qualquer informação nessa coluna esta tabela não poderá mais ser sincronizada com a origem…
                              O DataGuard é ótimo para você montar contingência e até mesmo para ter uma banco extra para consultas, não para manipulação…

                              #82297
                              mpvargas
                              Participante

                                Márcio,
                                muito obrigado pela ajuda.

                                Você realmente tocou num detalhe interessante.
                                Vou ver com os analistas qual a verdadeira função desse banco de testes, porque como você mesmo falou, não faz sentido atualizar se ele for manipulado. Caso seja um banco somente para consulta, que seja atualizado diariamente, qual a melhor opção.
                                Estou em dúvida com relação a qual ferramenta usar…
                                Desculpe, sou novo no Oracle e ainda não fiz nenhum tipo de replicação ou espelhamento. Já li sobre o RMAN Duplicate e o Data Guard.
                                Se eu quiser um espelhamento, devo usar o Data Guard?
                                E no caso de uma atualização toda noite, seria o RMAN Duplicate ou um script do RMAN para fazer essa atualização?
                                Obrigado pela ajuda.

                                #82299
                                Marcio68Almeida
                                Participante

                                  Basicamente, se você for ter um banco para consultas on-line, use o data-guard, depende exclusivamente do que vai fazer…
                                  Se for um banco para testar performance, não é necessário a última posição, use o RMAN para atualizar durante a noite ou em uma janela que tenha disponível…

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