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 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
Resolução de colisão do conjunto de atualizações
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, haverá uma colisão.
Quando uma atualização de 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 regravações 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 ler 987654321.
Aglutinar estratégias
Os conjuntos de atualizações podem detectar colisões entre registros idênticos que você cria independentemente em instâncias separadas. Para detectar essas colisões, o registro deve ter uma estratégia de aglutinação com base 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. Os 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 de cliente com um sys_id diferente. Por exemplo:
sysevent_email_template_10b958c86533311005840134572f8e020
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 de 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 regravações 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 Exportação e importação de arquivos XML.
- Habilite um índice exclusivo para a tabela do dicionário do sistema. Consulte Administração de tabela.