Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #103156
    lucas13
    Participante

      Pessoal, estou precisando com uma certa urgência, uma forma de como comparar objetos de dois usuários.

      Quero comparar se existem objetos com nomes iguais entre dois owner.

      Tipo: Todos os objetos do owner ‘A’ com todos os objetos do owner ‘B’

      Muito Obrigado,

      Lucas

      #103158
      diegolenhardt
      Participante

        veja na view DBA_OBJECTS where owner in ..

        uma ideia é SELECT usando MINUS
        select 1
        from dual
        minus
        select 2
        from dual;

        tem várias formas..

        #103160
        lucas13
        Participante

          Com seria o select 1 e o select 2 ?

          Obrigado.

          #103168
          rman
          Participante

            @lucas13


            SELECT OBJECT_NAME,OBJECT_TYPE
            FROM DBA_OBJECTS
            WHERE OWNER = 'DEV'
            MINUS
            SELECT OBJECT_NAME,OBJECT_TYPE
            FROM DBA_OBJECTS
            WHERE OWNER = 'PROD'

            Essa consulta retorna objetos que tem no usuário DEV e não tem no usuário PROD, é o operação de diferença.

            Agora se você quer saber o que tem no DEV e também tem no PROD, utilize EXISTS


            SELECT OBJECT_NAME,OBJECT_TYPE
            FROM DBA_OBJECTS DEV
            WHERE OWNER = 'DEV'
            AND EXISTS(
            SELECT 1
            FROM DBA_OBJECTS PROD
            WHERE OWNER = 'PROD'
            AND PROD.OBJECT_NAME = DEV.OBJECT_NAME
            AND PROD.OBJECT_TYPE = DEV.OBJECT_TYPE
            )

            #103173
            diegolenhardt
            Participante

              Existe uma opção no PLSQL Developer
              Tools > Compare User Objects.

              Ele vai além, compara se o corpo dos objetos, tabelas, etc estão iguais, e dá as diferenças…

              😀

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