Comparar conjuntos de atualizações locais
Os administradores podem visualizar conjuntos de atualizações locais e remotos (recuperados) e comparar os conjuntos entre si para resolver mudanças conflitantes.
Por Que e Quando Desempenhar Esta Tarefa
Compare os conjuntos de atualizações locais para identificar colisões e garantir que as mudanças apropriadas estejam sendo confirmadas. Resolva todos os conflitos antes de mover um conjunto de atualizações entre instâncias.
Procedimento
Atualizar resolução de colisão do conjunto
Uma colisão é uma atualização que tem uma atualização local mais recente.
A plataforma detecta colisões comparando os valores nos campos Nome e Atualizado do registro de atualização do cliente de cada conjunto de atualizações. Se o nome corresponder, mas houver valores de data de atualização diferentes, há uma colisão.
Quando uma atualização do cliente é movida de uma instância para outra, ela pode ser reescrita para corresponder à instância de destino. A reescrita pode envolver a mudança do nome da atualização do cliente e um ou mais sys_ids na atualização. As reescritas são feitas quando o registro ou o campo de referência é para uma tabela que usa uma estratégia de aglutinação. Isso garante que a atualização do cliente seja aplicada ao registro correto. Por exemplo, se o registro sys_dictionary para tablename.fieldname tiver sys_id 123456789 na instância A e sys_id 987654321 na instância B, quando uma atualização do cliente que se refere a esse registro for recuperada da instância A e registrada na tabela sys_update_xml na instância B, as referências a 123456789 são atualizados para 987654321.
Estratégias de aglutinação
Os conjuntos de atualizações podem detectar colisões entre registros idênticos que você cria de forma independente em instâncias separadas. Para detectar essas colisões, o registro deve ter uma estratégia de aglutinação baseada em colunas de aglutinação. Como a detecção de colisão depende da exclusividade das tabelas, as tabelas devem ser exclusivas quando as colunas de aglutinação são combinadas. Registros que não estão listados aqui não colidirão se o mesmo registro for criado separadamente em instâncias diferentes.
| Tipo | Colunas de Aglutinação |
| sys_db_object | nome |
| sys_dictionary | nome, elemento |
| sys_choice_set | nome, elemento, idioma |
| sys_documentation | nome, elemento, idioma |
| sys_properties | nome |
| sys_report_chart_color | nome, elemento, valor |
| sys_ui_form | nome, exibição, sys_domain |
| sys_ui_message | documentkey, idioma |
| sys_ui_list | nome, exibição, sys_domain, elemento, relacionamento, primário |
| sys_ui_section | nome, exibição, legenda, sys_domain |
| sys_ui_related_list | nome, exibição, related_list, sys_domain |
| sys_ui_view | nome |
| sys_user_role | nome |
| sys_user_group | nome |
| sys_wizard | nome |
Como os nomes de registro de atualização do cliente afetam as colisões
- Quando você cria um registro, ele recebe um sys_id exclusivo. Para a maioria dos tipos de registro, o sys_id se torna parte do nome do registro de atualização do cliente. Por exemplo:
sysevent_email_template_9e1998c078b71100a92ecacd80df1d39. - Criar um registro idêntico na mesma tabela em outra instância produz um nome de registro de atualização do cliente com um sys_id diferente. Por exemplo:
sysevent_email_template_10b958c8653311005840134572f8e020
Como resultado, mesmo que os registros possam ser idênticos, eles têm nomes diferentes para que o sistema não detecte a colisão.
- sys_dictionary
- sys_documentation
- sys_choice_set
- sys_ui_list
- sys_ui_related_list
O nome de registro idêntico resultante em cada instância ajuda o sistema a identificar colisões, mesmo se os registros tiverem sys_ids diferentes.
Quando uma atualização do cliente é movida de uma instância para outra, ela pode ser reescrita para corresponder à instância de destino. A reescrita pode envolver a mudança do nome da atualização do cliente e um ou mais sys_ids na atualização. As reescritas são feitas quando o registro ou o campo de referência é para uma tabela que usa uma estratégia de aglutinação. Isso garante que a atualização do cliente seja aplicada ao registro correto. Por exemplo, se o registro sys_dictionary para tablename.fieldname tiver sys_id "123456789" na instância A e sys_id "987654321" na instância B, quando uma atualização do cliente que se refere a esse registro for recuperada da instância A e registrada na tabela sys_update_xml na instância B, as referências a "123456789" são atualizadas para "987654321".
Impedindo registros duplicados
- Transfira dados com conjuntos de atualizações em vez de recriá-los em instâncias separadas para garantir que os registros tenham o mesmo sys_id.
- Exporte e importe registros como arquivos XML para garantir que os registros tenham o mesmo sys_id. Consulte Exportar e importar arquivos XML.
- Habilite um índice exclusivo para a tabela do dicionário do sistema. Consulte Administração de tabela.