- Visão geral
- Requisitos
- Instalação
- Pós-instalação
- Migração e atualização
- Atualização do Automation Suite no EKS/AKS
- Etapa 1: mover os dados da organização do Identity, de independente para o Automation Suite
- Etapa 2: restauração do banco de dados de produtos independente
- Etapa 3: backup do banco de dados da plataforma no Automation Suite
- Etapa 4: mesclando organizações no Automation Suite
- Etapa 5: atualização das strings de conexão do produto migradas
- Etapa 6: migração do Orchestrator independente
- Etapa 7: migração do Insights independente
- Etapa 8: exclusão do tenant padrão
- B) Migração de um único tenant
- Migração do Automation Suite no Linux para o Automation Suite no EKS/AKS
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Configuração de parâmetros do Orchestrator
- Configurações de aplicativo do Orchestrator
- Configuração do AppSettings
- Configuração do tamanho máximo da solicitação
- Substituição da configuração de armazenamento no nível do cluster
- Configuração dos repositórios de credenciais
- Configuração da chave de criptografia por tenant
- Limpeza do banco de dados do Orchestrator
- Solução de problemas
- A configuração de backup não funciona devido a uma falha na conexão com o Azure Government
- Pods no namespace uipath travaram ao habilitar taints de nó personalizado
- Não é possível iniciar o Automation Hub e o Apps com configuração de proxy
- Os pods não podem se comunicar com o FQDN em um ambiente de proxy
- A cadeia de caracteres de conexão SQL da Automação de Teste é ignorada
Automation Suite no guia de instalação do EKS/AKS
Limpeza do banco de dados do Orchestrator
Os scripts a seguir substituem qualquer e todos os scripts de limpeza de banco de dados anteriores. Eles cobrem todas as tarefas de manutenção necessárias e podem ser configurados conforme necessário.
Você pode baixar os scripts de manutenção de banco de dados do Orchestrator do Customer Portal.
Isso é o que você precisa para poder executar o script
-
Você deve ter acesso ao banco de dados de arquivo a partir do contexto de seu banco de dados do Orchestrator.
-
Você deve poder acessar o arquivo usando nomes de 3 partes, como
Archive.dbo.QueueItemsTableArchive" id="1"/>.
1. Execute o script SQL
-
A tabela
dbo.__CleanupLog" id="1"/>, que abriga os logs de execução. -
O procedimento
dbo.GetOrCreateArchiveTable" id="1"/>, que cria ou retorna a tabela de arquivo. -
O procedimento
dbo.RunOrchestratorCleanup" id="1"/>, que executa a exclusão e, opcionalmente, o arquivamento de dados antigos.
dbo.RunOrchestratorCleanup
com o arquivo de configuração XML de agendamento para executar a limpeza. Para obter detalhes sobre o arquivo XML, consulte a seção Agendamento da limpeza abaixo.
Você também pode usar o
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';
DECLARE @cleanupConfigXml XML =
'<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
</CleanupConfig>';
EXEC dbo.RunOrchestratorCleanup
@cleanupConfigXml = @cleanupConfigXml,
@archiveDatabaseName = 'OrchestratorArchive';
Isso é apropriado para situações em que você não pode usar o script SQL.
O script PowerShell é compatível com o Powershell 5.1 e pode ser usado com
O script
-
SourceConnectionString" id="1"/> - essa é a string de conexão de banco de dados do Orchestrator. -
DestinationConnectionString" id="1"/> - essa é a string de conexão de banco de dados de arquivo. Observe que o banco de dados de arquivo deve ser criado e configurado com antecedência.
-
A tabela
dbo.__CleanupLog" id="1"/>, que abriga os logs de execução. -
A tabela
dbo.__CleanupIds" id="1"/>, que armazena um lote temporário de IDs que precisam ser limpos.
O script abre duas conexões: uma ao banco de dados do Orchestrator (via
Isso significa que, se uma exceção for gerada em qualquer lugar entre as duas ações, fazendo com que o script seja reexecutado, os mesmos dados podem ser copiados novamente, levando a duplicatas no banco de dados de arquivo.
No entanto, como a exclusividade não é aplicada no banco de dados de arquivo, isso não leva a problemas.
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'
.\RunOrchestratorCleanup
-SourceConnectionString "Data Source=.;Initial Catalog=UiPath;User ID=sa;Password=******"
-DestinationConnectionString "Data Source=.;Initial Catalog=<OrchestratorArchive>;User ID=sa;Password=******"
-CleanupConfigXml '<CleanupConfig totalRunMaxMinutes="180"><Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" /></CleanupConfig>'
Você pode escolher quais dados limpar de seu banco de dados, quando e por quanto tempo a atividade de limpeza deve ser feita para cada execução, entre outras.
Para fazer isso, use o seguinte arquivo XML com o script SQL ou PowerShell.
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>
<CleanupConfig totalRunMaxMinutes="180">
<Table name="QueueItems" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="Status IN (2, 3, 4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Jobs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="State IN (4, 5, 6)" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="1" />
<Table name="Logs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="TimeStamp" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="1" />
<Table name="AuditLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTime" additionalFilter="" daysOld="365" batchSize="25" forceCascade="1" shouldArchive="1" />
<Table name="Tasks" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="180" batchSize="10" forceCascade="0" shouldArchive="1" />
<Table name="QueueProcessingRecords" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ProcessingTime" additionalFilter="ReportType != -1" daysOld="30" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Sessions" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ReportingTime" additionalFilter="" daysOld="180" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="RobotLicenseLogs" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="StartDate" additionalFilter="" daysOld="180" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="UserNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="TenantNotifications" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="CreationTime" additionalFilter="" daysOld="90" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Ledger" runMaxMinutes="-1" idColumn="LedgerId" dateTimeColumn="CreationTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="LedgerDeliveries" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="LastUpdatedTime" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
<Table name="Assets" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="DeletionTime" additionalFilter="IsDeleted = 1" daysOld="120" batchSize="50" forceCascade="1" shouldArchive="0" />
<Table name="__CleanupLog" runMaxMinutes="-1" idColumn="Id" dateTimeColumn="ExecutionTimeUtc" additionalFilter="" daysOld="7" batchSize="1000" forceCascade="0" shouldArchive="0" />
</CleanupConfig>
Mesmo que uma execução consiga limpar parcialmente uma ou algumas tabelas, as execuções subsequentes continuarão a limpeza, até que o script atinja todo o backlog. Portanto, é importante que você não accumule um backlog maior do que o script pode lidar. Se isso acontecer, considere agendar o script para ser executado com mais frequência.
Parâmetro |
Explicação |
Valores possíveis |
---|---|---|
|
O número máximo de minutos que o script pode executar para todas as tabelas durante uma execução. |
Deve ser maior que 1. |
|
O nome da tabela que contém os dados que você deseja excluir. |
Exemplo:
QueueItems |
|
O número máximo de minutos que o script pode executar para uma tabela específica durante uma execução. Importante:
O tempo que você define aqui às vezes pode ser executado por mais alguns minutos. Além disso, |
|
|
O ID da coluna que contém os dados que você deseja excluir. |
Exemplo: |
|
Isso difere dependendo do tipo de dados. Isso é usado em combinação com |
Exemplo: |
|
Qualquer instrução SQL válida para um filtro. Isso pode ser deixado vazio. |
Exemplo: |
daysOld |
Permite que você mantenha um certo número de dias de dados. Isso é usado em combinação com |
Isso deve ser definido como um mínimo de Exemplo: configuração desse parâmetro para |
|
O número de linhas de tabela a serem excluídas em uma iteração. Importante:
Isso não é usado para tabelas em que chaves estrangeiras são definidas. |
Exemplo: configurar esse parâmetro como |
forceCascade |
Permite que você execute o script para tabelas em que chaves estrangeiras são definidas. Importante:
O exemplo já usa |
|
shouldArchive |
Permite que você escolha se deseja arquivar os dados. |
|
Recurso | SQL script | script do powershell |
---|---|---|
XML de limpeza |
Ambos usam a lógica descrita na seção | |
Log de execução |
Ambos criam uma tabela Você pode consultar os logs de uma execução usando Você pode verificar se uma execução continha erros usando O parâmetro | |
Tabela de arquivo |
A tabela de arquivo não contém índices, chaves estrangeiras ou colunas de identificação. As colunas do tipo | |
Nome da tabela de arquivo |
Os nomes seguem a mesma lógica e incluem uma string baseada no esquema de tabela. | |
Lote de IDs a serem arquivados/excluídos |
Armazenado em uma tabela temporária. |
Armazenado na tabela |
Transaction |
Uma única transação é executada para cada lote, durante o qual os dados são arquivados e excluídos. O tamanho do lote, ou seja, o número de linhas de tabela a serem processadas, é definido no arquivo XML, por meio do parâmetro |
Não há nenhuma transação única executada para arquivamento e exclusão. |