Instrução

analise as versões de recuperação de ramificação após atualizar um geodatabase enterprise

Last Published: November 1, 2024

Resumo

Fluxos de trabalho foram identificados que podem causar inconsistências nas tabelas do sistema de versionamento de ramificação. Quando esse problema ocorre, feições com metadados de versionamento de ramificação ausentes podem causar inconsistências de dados quando a versão é reconciliada, postada e/ou excluída.

O problema é resultado da forma como os metadados do versionamento de ramificação são mantidos durante as operações de salvar edições, reconciliar e postar. Durante essas operações, os metadados de versionamento de ramificação podem ser removidos do geodatabase. Quando os metadados da versão da ramificação são removidos incorretamente, as feições podem não participar corretamente de operações futuras, como reconciliar, postar e excluir versões, resultando em dados inconsistentes. Esse problema ocorreu em condições de concorrência, nas quais solicitações simultâneas levaram à remoção incorreta dos metadados de versionamento de ramificação de feições válidas.

Operações executadas com base em metadados de versionamento de ramificação incorretos podem levar a:

  • Dados versionados de ramificação que fazem referência a uma versão que já foi excluída e
  • Dados versionados por ramificação que fazem referência a um momento anterior ao momento do ancestral comum.

Essas inconsistências nas tabelas do sistema são evitadas e corrigidas nas seguintes versões:

A atualização de um geodatabase enterprise também verificará eventuais inconsistências de dados relacionadas a dados versionados por ramificação. As inconsistências são resolvidas durante a atualização, seja criando novas versões com os dados corrigidos, seja atualizando as versões existentes. Essas versões devem ser revisadas para determinar se algum dos dados nelas deve ser postado para a versão Padrão.

Este artigo descreve o fluxo de trabalho para revisar inconsistências resolvidas após uma atualização do geodatabase. Como mencionado acima, a atualização pode reparar os dados de duas formas: criando uma nova versão de recuperação ou atualizando uma versão existente. Para fins deste artigo, essas versões serão chamadas de novas versões de recuperação e versões existentes que recuperaram linhas, respectivamente. O geodatabase analisado no artigo possui duas versões que serão acessadas e analisadas. As versões são nomeadas:

  • RECOVERY_VERSION_BR_1 (nova versão de recuperação)
  • EXISTING_VERSION (versão existente que recuperou linhas)

O fluxo de trabalho fornecido mostra onde as informações sobre essas versões podem ser coletadas, como conectar-se a essas versões e quais ações podem ser necessárias em relação a essas versões no ArcGIS Pro.

A seguir está um esboço do fluxo de trabalho:

  1. A ferramenta Atualizar geodatabase ou a função arcpy.UpgradeGDB_management foi usada e reportou um aviso:
WARNING 003929: During the upgrade recovery versions (<value>) were created that require further review. Review <value> for more detail.
  1. Consulte o arquivo sde_setup.log para obter uma lista das versões.
  2. Preparar versões para acesso:
    1. Atualize a tabela de ramificações do sistema interno para incluir o nome do serviço.
    2. Certifique-se de que os serviços de feição existam no seu portal do ArcGIS Enterprise com os conjuntos de dados que contêm edições para as versões.
  3. Use a visualização Diferenças.
  4. Editar/reconciliar/postar.
  5. Exclua as versões.

Procedimento

Revise os resultados da ferramenta Atualizar geodatabase e sde_setup.log

Caso sejam detectadas inconsistências durante o processo de atualização, a ferramenta Atualizar geodatabase retorna um aviso informando quantas versões foram recuperadas, bem como a localização do arquivo sde_setup.log, conforme mostrado na próxima imagem. As mensagens sobre atualizações do geodatabase são gravadas no arquivo sde_setup.log, que é criado no diretório especificado pela variável %TEMP% no computador onde a ferramenta é executada. O número de versões refere-se tanto às novas versões de recuperação quanto às versões existentes que já recuperaram linhas. O arquivo sde_setup.log contém informações adicionais sobre as versões que foram reparadas.

000032501a.png

Note:
If using Python to upgrade the geodatabase, use the following example to ensure that warnings are properly returned to report recovery versions. If no warning is returned, no data inconsistencies were found in the geodatabase and no further action is required.
import arcpy
 
arcpy.UpgradeGDB_management(
    input_workspace=r"C:\temp\sysadmin_connection.sde",
    input_prerequisite_check="PREREQUISITE_CHECK",
    input_upgradegdb_check="UPGRADE"
    )
   
warnings = arcpy.GetMessages(1)
errors = arcpy.GetMessages(2)
 
if "WARNING 003929" in warnings:
    print(warnings)
elif "Recovery versions" in warnings:
    recovery_versions = warnings[warnings.find("Recovery versions"):warnings.find(")") + 1]
    
    for item in warnings.split("\n"):
        if "sde_setup.log" in item:
            logfile_loc = item.strip()
    
    print("--------------------------------------------------------------------------------------------------")
    print(f"WARNING 003929: During the upgrade {recovery_versions} were created that require further review.")
    print(f"Review {logfile_loc} for more detail.")
    print("--------------------------------------------------------------------------------------------------")
if errors:
  print(errors)

Se necessário, baixe e abra o arquivo de exemplo sde_setup_howto.log em um editor de texto; algumas seções deste arquivo são referenciadas nas etapas a seguir.

  1. Abra o arquivo sde_setup.log no computador.
  2. Revise o arquivo sde_setup.log para novas versões de recuperação e versões existentes que recuperaram linhas:
  3. Pesquise no arquivo sde_setup.log a seção que diz: Versões de recuperação criadas.
    • O arquivo sde_setup.log lista as versões recém-criadas, com a convenção de nomes "sde. RECOVERY_VERSION_BR_<branch_id>", também conhecidas como novas versões de recuperação. Isso é mostrado na seção seguinte do arquivo de log:
[08:51:34.091] ==================================================================
[08:51:34.091] Begin recovery of branch versioned data associated with a missing branch...
[08:51:37.302] Created recovery version(s):
[08:51:37.302] sde.RECOVERY_VERSION_BR_1 with edits to:
[08:51:37.302]     - CREATOR1.POINT
[08:51:37.302]     - CREATOR1.LINE
[08:51:37.302]     - CREATOR1.POLYGON
[08:51:37.302] Completed recovery of branch versioned data associated with a missing branch.
[08:51:37.302] An administrator must update the service_name for the above versions in the sde.SDE_branches table in order for users to connect and review.
[08:51:37.303] ==================================================================
  1. Observe os conjuntos de dados que possuem dados recuperados nas respectivas versões, pois as edições nessas versões serão visualizadas nas últimas etapas deste artigo.
  2. Pesquise no arquivo sde_setup.log a seção que diz: Linhas recuperadas nas versões. Isso é mostrado na seção a seguir:
[08:51:37.304] Begin recovery of branch versioned data associated with an invalid common ancestor moment...
[08:51:37.622] Recovered rows in version(s):
[08:51:37.622] ADMIN.EXISTING_VERSION (service: Post_DataLoss) with edits to:
[08:51:37.622]     - CREATOR1.POINT
                           Object ID(s) : {46,436}
[08:51:37.622]     - CREATOR1.POLYGON
                           Object ID(s) : {462}
[08:51:37.622] Completed recovery of branch versioned data associated with an invalid common ancestor moment.
[08:51:37.622] A portal user must connect and review the above version(s).
  • O arquivo sde_setup.log lista as versões existentes que foram atualizadas, também conhecidas como versões existentes que possuem linhas recuperadas.
  • Anote os IDs de objeto de cada conjunto de dados que teve dados recuperados nas respectivas versões, pois esses IDs de objeto específicos serão visualizados nas etapas posteriores deste artigo.

Preparar versões de recuperação

Existem algumas etapas necessárias antes que as versões de recuperação possam ser analisadas. A seção a seguir descreve o processo de preparação tanto das novas versões de recuperação quanto das versões existentes que possuem linhas recuperadas para acesso e revisão.

Para preparar cada nova versão de recuperação com a convenção de nomes RECOVERY_VERSION_BR_<branch_id>:

  1. Revise o arquivo sde_setup.log e inspecione a lista de conjuntos de dados da versão correspondente.
  2. Garanta que exista um serviço no seu portal do ArcGIS Enterprise com os conjuntos de dados correspondentes listados no arquivo sde_setup.log.
Note:
If a service does not exist in your portal with these datasets referenced, a new service must be published. Add these distinct datasets to a new map as the dataset owner, and publish a web feature layer with the version management capability enabled (Share branch versioned data).
  1. Atualize a tabela do sistema SDE_branches (ou ramificações) com o nome de serviço correspondente identificado na etapa anterior para cada uma das versões RECOVERY_VERSION_BR_<branch_id> usando Structured Query Language (SQL) em uma solução de software de Gerenciamento de banco de dados apropriada.
    Use o seguinte exemplo, substituindo as conclusões do seu arquivo sde_setup.log:
UPDATE sde.sde_branches
SET service_name = 'my_service_name'
WHERE name = 'RECOVERY_VERSION_BR_1';
  1. Para preparar cada versão existente que tenha recuperado as linhas:
    1. Revise o arquivo sde_setup.log e inspecione o (serviço: <service_name>) da versão correspondente.
    2. Garanta que o serviço ainda exista no seu portal ArcGIS Enterprise com os conjuntos de dados correspondentes listados no arquivo sde_setup.log.
Note:
If a service does not exist in your portal with these datasets referenced, a new service must be published. Add these distinct datasets to a new map as the dataset owner, and publish a web feature layer with the version management capability enabled (Share branch versioned data), using the same service name.

Acesse e revise versões de recuperação

As versões agora estão preparadas para serem consultadas e revisadas os dados corrigidos.

  1. Adicione uma camada de feição da web a um novo mapa no ArcGIS Pro a partir dos serviços que contêm novas versões de recuperação e/ou versões existentes que possuem linhas recuperadas.
  2. Mude para a versão e abra a visualização Diferenças, mostrada na imagem seguinte:
    • Se a versão conectada for uma nova versão de recuperação, todas as diferenças serão corrigidas e precisarão ser revisadas conforme indicado nas próximas etapas deste artigo (etapas 3 e 4)
    • Se a versão conectada for uma versão existente que recuperou linhas, ela poderá conter diferenças que fazem referência aos IDs de objeto de edições existentes, bem como diferenças que fazem referência aos IDs de objeto do arquivo sde_setup.log que foram recuperados durante a atualização. Embora todas as diferenças devam ser revisadas, aquelas recuperadas durante a atualização precisarão ser revisadas conforme indicado nas próximas etapas deste artigo (etapas 3 e 4)

000032501d.png

Note:
If a new recovery version only has edits to dataset system tables, for example: only Utility Network system tables, the Differences view may not display changes; therefore, the version can be deleted.
  1. Revise e inspecione as edições.
    1. Revise atributos do usuário e atributos mantidos pelo sistema, como atributos de rastreamento do editor.
    2. Revise a Tela de alterações em busca de quaisquer diferenças na coluna de formato.
  2. Com base na análise feita na etapa 3 acima, decida se deseja manter as alterações ou não.
    • Para manter as edições, reconcilie e poste a versão para a versão padrão.
      • Se apenas um subconjunto de edições for desejado, faça as edições apropriadas antes das operações de reconciliar/postar.
    • Para descartar as edições:
      • Para novas versões de recuperação, a versão pode ser excluída.
      • Para versões existentes que possuem linhas recuperadas, edite os IDs de objeto associados para que tenham os mesmos atributos e formato da representação padrão. Caso contrário, a versão pode ser excluída e o trabalho anterior ao reparo pode ser refeito em outra versão.

ID do Artigo: 000032501

Obtenha suporte com IA

Resolva seu problema rapidamente com o chatbot de IA de suporte da Esri.

Comece a conversar agora

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Comece a conversar agora

Ir para as opções de download