Pular para o conteúdo
  • Este tópico contém 11 respostas, 3 vozes e foi atualizado pela última vez 13 anos, 2 meses atrás por Marcos Braga.
Visualizando 12 posts - 1 até 12 (de 12 do total)
  • Autor
    Posts
  • #104968
    Thiago Luiz
    Participante

      Pessoal bom dia ao Forum.

      E o seguinte, tenho uma BD 11g na minha empresa.
      Sou novo no ramo do BD oracle, entao preciso de ajuda de voces.
      Entao, teenho uma Base de Teste (Maquina Virtual) com o banco de dados XE.
      Preciso fazer uma replicação desse banco de dados do 11G para o BD XE (Base de teste).
      Como que eu faço, alguem poderia me ajudar com alguma ideia ou tutorial.
      Lembrando que sou novo nesse ramo BD oracle ok.

      Anteciosamente.
      Thiago Luiz

      Fico no aguardo

      #104976
      Marcos Braga
      Participante

        Oi Thiago,

        Acredito que o método mais prático é executar um exp/imp.

        O que é necessário saber é se necessita migrar somente um ou vários schemas.

        Vou deixar um exemplo de como migrar um schema simples da base 11 para a XE.

        Primeiramente, digamos que existe um schema chamado SIRUS e vamos migrá-lo para outra base.

        Antes de executar a importação é necessário saber qual o tamanho atual da tablespace que o schema SIRUS ocupa para criá-la na base destino a fim de evitar problemas de falta de espaço.

        Siga os passos abaixo:

        1. Executar export do schema:
          $ exp system/system-pass@sid-name file=export_sirus.dmp log=exp_sirus.log owner=sirus
        2. Criar a tablespace do schema na base destino:
          SQL> create tablespace tbl_sirus
          2 datafile '/u01/oracle/oradata/df_sirus_01.dbf'
          3 size 10m autoextend on next 10m;

        3. Criar o schema na base destino:
          SQL> create user sirus
          2 identified by sirus
          3 default tablespace tbl_sirus
          4 quota unlimited on tbl_sirus;

        4. Executar grants necessários para que o usuário crie objetos na tablespace:
          SQL> grant resource, connect to sirus;

        5. Executar a importação:
          $ imp system/system-pass@sid-name file=export_sirus.dmp log=imp_sirus.log fromuser=sirus touser=sirus

        Após os procedimentos acima, você terá o schema SIRUS migrado para a base XE.

        Usei o usuário SYSTEM para executar esse procedimento, mas poderá usar o usuário SIRUS, se houver permissões para tanto.

        Qualquer dúvida, estamos por aí…

        []s
        Braga

        #104978
        Thiago Luiz
        Participante

          Caro Braga,
          Mas os dados sao replicados automaticamente atualizados em tempo real?
          Caso sim como fazer?
          Essa é questao chave, em que preciso. As duas bases atualizadas em tempo real.

          Anteciosamente.

          #104979
          rman
          Participante

            @Thiago Luiz

            O procedimento que o @braga passou não é um solução de replicação, é apenas uma importação de um dump (backup lógico), ou seja, toda vez que você quer atualizar o ambiente de teste você deve realizar o procedimento.

            Se realmente for um ambiente de teste, a atualização não deve ser em tempo real, e sim, de tempos em tempos quando for necessário.

            #104980
            Thiago Luiz
            Participante

              rMAN,

              Resumindo, teria como em fazer em tempo real atualizando as duas bases automaticamente?
              Para entender o cenario é o seguinte..
              Tenho um BD que se chama APPROACH IBM (DBF) entretanto o meu ERP(CIGAM – BD Oracle 11g). O Approach visualiza as tabelas do ERP . Esse approach sao feitos os calculos de comissão e etc em DBF. Entao, ao acessar o approach consigo visualizar o conteudo do CIGAM (ERP) as tabelas que foram interligadas no approach com o ERP(BD)
              Então, queria sincronizar em tempo real o direcionamento do APPROACH (BD) iria para a base teste, desvinculando a relação da Base Oficial colocando em uma base de teste (BD – Maquina Virtual)..

              Acho que consegui explicar melhor …

              #104981
              Marcos Braga
              Participante

                Oi Thiago,

                Para uma solução que necessita, com bancos diferentes, pode usar o Oracle GoldenGate que faz o trabalho.

                Pelo que percebi, não está querendo transformação de dados, mas somente replicação. Acredito que o GoldenGate possa ser uma ótima solução.

                Infelizmente não possuo um processo pronto do GoldenGate para passar, mas há muita documentação na internet e o procedimento não é muito complexo.

                []s
                Braga

                #104982
                rman
                Participante

                  @Thiago Luiz

                  Ainda não consegui enxergar se realmente a replicação é a melhor solução, talvez um simples dblink + permissões de usuário resolva o problema, só uma observação a solução de replicação que o @braga citou envolve custo, ou seja, você precisa comprar a licença.

                  #104984
                  Thiago Luiz
                  Participante

                    Ok, entendi a situação agora.
                    Realmente andei pesquisando o Oracle Golden Gate o custo é muito caro.

                    Creio, que o Oracle GoldenGate nao esta incluindo no pacote de compra do 11G.

                    Agora gostaria que voces me ajuda-se em relaçao a uma outra parte que podemos fazer.
                    Seria as permissoes de usuarios no banco.
                    Mandei as permissoes de usuario com o print abaixo.
                    Gostaria de saber se esses usuarios estao no modo de alteraçao de dados,visualização e e etc.
                    Tenho que ter essa certeza que esse usuario consegue fazer a modificação dos dados.
                    Assim partimos para uma outra etapa em que como faço para criar um usuário no BD com permissão somente para a visualização de dados.
                    Ai nao precisaremos dessa replicação conforme RMAN respondeu abaixo e sim somente a criaçao com as devidas permissões de visualização.

                    Attachments:
                    #104985
                    rman
                    Participante

                      @Thiago Luiz

                      Pelo que percebi esse usuário possui permissões até a mais do que deveria, realmente é necessário a permissão de DBA? Geralmente o CONNECT + RESOURCE + CREATE VIEW já são suficientes para um usuário de sistema, mas o correto é consultar quem desenvolveu o sistema.

                      Sobre o usuário de leitura é só dar GRANT SELECT ON TABELA TO USUARIO nas tabelas necessárias, caso queira restringir por coluna é possivel criar uma VIEW com apenas os campos necessário e dar a permissão nesta VIEW.

                      #104987
                      Thiago Luiz
                      Participante

                        OK,RMAN!!
                        Entendi a sua colocação.

                        Agora,como eu disse nao tenho uma experiencia em relação ao oracle.
                        Queria um passo a passo, de se criar os usuarios e dar as devidas permissoes.

                        Agradeço pela atençao e suas informaçoes !

                        #104988
                        rman
                        Participante

                          @Thiago Luiz

                          Utilizando um usuário que possua permissão de DBA:


                          CREATE USER "USUARIO" PROFILE "DEFAULT" IDENTIFIED BY "senha" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
                          GRANT "CONNECT" TO "USUARIO";
                          GRANT "RESOURCE" TO "USUARIO";
                          GRANT SELECT ON CIGAM11.TABELA1 TO USUARIO;
                          GRANT SELECT ON CIGAM11.TABELA2 TO USUARIO;
                          GRANT SELECT ON CIGAM11.TABELA3 TO USUARIO;

                          Ou caso prefira utilizar o Oracle Enterprise Manager também é possível fazer por lá… é bem simples.

                          #104990
                          Marcos Braga
                          Participante

                            Bem lembrado o lance do custo @rman.

                            Thiago,

                            Reforçando o script de criação do usuário do @rman, também é possível conseguí-lo dentro do próprio Enterprise Manager com todas as permissões que possui.

                            Não lembro o caminho correto, mas é na tela de administração dos usuários, verifique onde você encontra o SQL do usuário ou export SQL, algo bem parecido.

                            []s
                            Braga

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