Todos os produtos
Search
Central de documentação

Data Management:Executar alterações de schema sem bloqueio usando tickets de alteração sem bloqueio

Última atualização: Jun 27, 2026

Para evitar problemas de bloqueio de tabelas ao alterar o schema de uma tabela de banco de dados, o Data Management (DMS) oferece o recurso de alteração de schema sem bloqueio. Esse recurso ajuda a prevenir interrupções nos negócios causadas por bloqueios de tabela e latência de replicação entre instâncias primárias e secundárias durante operações nativas de Data Definition Language (DDL) online. Este tópico descreve como executar uma alteração de schema sem bloqueio enviando um ticket de alteração sem bloqueio.

Pré-requisitos

  • O tipo de banco de dados é RDS for MySQL, PolarDB for MySQL, MyBase for MySQL ou outra source MySQL.

    Nota

    Outras sources referem-se a bancos de dados de outros provedores de nuvem ou bancos de dados autogerenciados.

  • O mecanismo do banco de dados é InnoDB, RocksDB ou X-Engine.

  • O log binário está ativado para o banco de dados.

    Nota
    • No PolarDB for MySQL, o log binário vem desativado por padrão. Para mais informações, consulte Enable binary logging.

    • O formato do log binário deve ser ROW. Se o banco de dados usava anteriormente o formato MIXED, altere o formato para ROW. Em seguida, reinicie o servidor de banco de dados ou encerre todas as conexões antigas antes de executar uma alteração de schema sem bloqueio no DMS.

  • o modo de controle da instância deve ser Stable Change ou Security Collaboration. Para mais informações, consulte View control modes.

  • A alteração de schema sem bloqueio está ativada para a instância.

Observações

  • Use uma conta de banco de dados com permissões de leitura/gravação ou uma conta com altos privilégios. Se a conta atual tiver permissões insuficientes, execute uma das seguintes operações:

    • Conceda permissões à conta do banco de dados. Para mais informações, consulte Manage database accounts and permissions.

      Nota

      Conceda a permissão ALL PRIVILEGES ou as seguintes permissões de leitura/gravação à conta do banco de dados:

      ALTER, CREATE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, SELECT, TRIGGER, UPDATE, REPLICATION CLIENT e REPLICATION SLAVE.

    • Altere a conta do banco de dados. Para mais informações, consulte Edit instance information.

  • Verifique se o banco de dados tem espaço em disco suficiente. O sistema cria uma tabela temporária no banco de dados de destino para copiar dados. Garanta que o espaço disponível em disco seja superior ao dobro do tamanho da tabela de destino. Espaço insuficiente pode causar o bloqueio da instância. Para mais informações, consulte Database performance.

  • A tabela de destino deve ter uma chave primária ou uma chave única. Durante uma alteração de schema sem bloqueio, a chave primária ou única é usada para cópia segmentada completa de dados e atualizações incrementais subsequentes.

    Nota

    Se a tabela de destino tiver apenas uma chave primária ou apenas uma chave única, atualizar essa chave durante a alteração do schema causará falha na tarefa.

  • O nome da tabela de destino não pode exceder 56 caracteres.

  • O recurso de alteração de schema sem bloqueio no DMS não é compatível com PolarDB-X (incluindo PolarDB-X 1.0 e PolarDB-X 2.0), RDS for PostgreSQL ou outros bancos de dados não MySQL.

  • Para modificar o schema da tabela, utilize a sintaxe ALTER TABLE. Sintaxes como CREATE INDEX não são compatíveis.

  • Em instâncias PolarDB, o tempo final de bloqueio na tabela original pode ser muito maior que o tempo limite de bloqueio de troca de tabela. Isso ocorre porque transações de longa duração em nós somente leitura podem afetar o nó primário após ele adquirir um bloqueio. Tal situação impede a conclusão do DDL no nó primário e pode levar a bloqueios prolongados de tabela. Evite isso modificando parâmetros.

Procedimento

Nota

As etapas a seguir usam uma instância no modo Security Collaboration como exemplo.

  1. Faça login no DMS 5.0.

  2. Na barra de navegação superior, escolha Database Development > Data Change > Lock-free Change.

    Nota

    Se você usar o console do DMS no modo simples, passe o ponteiro sobre o ícone 2023-01-28_15-57-17.png2023-01-28_15-57-17.png no canto superior esquerdo do console e escolha All Features > Database Development > Data Change > Lockless Change.

  3. Configure o ticket de alteração sem bloqueio. A tabela a seguir descreve alguns dos parâmetros.

    Para mais informações, consulte Procedure.

    Parâmetro

    Descrição

    Database

    Pesquise e selecione um ou mais bancos de dados de destino.

    • My Permissions: Pesquise e selecione apenas bancos de dados para os quais você possui permissões de alteração.

    • All: Pesquise e selecione todos os bancos de dados, exceto aqueles com controle de acesso a metadados ativado.

      Nota

      Se você não tiver permissões de alteração para o banco de dados de destino, escolha Security And Disaster Recovery (DBS) > Permission Center > Permission Ticket na barra de menu superior. Na página Permission Ticket, clique em Request Permission > DB Permission para solicitar as permissões necessárias.

    Execution Method

    Selecione um método de execução para o ticket:

    • Após aprovação, o solicitante executa a operação.

    • Executar automaticamente após aprovação.

    • Executado pelo último aprovador.

    Nota

    Os administradores podem modificar a lista de métodos de execução na seção Operations Management > Configuration Management. Para mais informações, consulte Configuration management.

    Affected Rows

    Número estimado de linhas de dados afetadas por esta atualização.

    Change SQL

    Insira instruções DDL, como ALTER TABLE ou OPTIMIZE.

    Nota

    Se você inserir instruções de Data Manipulation Language (DML), estará executando uma tarefa de alteração de dados sem bloqueio. Para mais informações, consulte DML lockless change.

  4. Clique em Submit Ticket.

    O sistema executa automaticamente uma pré-verificação de SQL. Se a pré-verificação falhar, clique em Modify SQL para modificar as instruções SQL com base no motivo da falha e envie o ticket novamente.

  5. Após a aprovação do ticket, acesse a seção Execution na página de detalhes do ticket e clique em Execute Change.

  6. Configure os parâmetros de execução da tarefa.

    Item de Configuração

    Descrição

    Execution Strategy

    • Running immediately: Opção padrão. A tarefa é executada imediatamente após você clicar em Confirm Execution.

    • Schedule: Selecione um horário de início para a tarefa. Após clicar em Confirm Execution, a tarefa será executada no horário especificado.

    Nota

    O tempo real de execução de uma tarefa agendada pode ter uma margem de erro de ±1 minuto.

    Specify End Time

    Especifique um horário de término para a tarefa. Se a tarefa não for concluída até o horário final especificado, o sistema interrompe a execução das tarefas SQL restantes. Isso evita que tarefas sejam executadas durante horários de pico e afetem as operações comerciais.

    Nota

    O horário real de término da tarefa pode ter uma margem de erro de ±1 minuto.

    Primary/Secondary Node Check

    Ativar esta verificação garante sincronização de dados em tempo real entre as instâncias primária e secundária, alta disponibilidade e recuperação rápida de falhas.

    Canary Release Type

    Política para executar instruções SQL em lotes.

    • No Canary Release: O DMS executa automaticamente todas as instruções SQL da tarefa.

    • Suspend after Executing the First SQL Statement: Após a execução bem-sucedida da primeira instrução SQL, o DMS pausa automaticamente a tarefa. Para continuar, clique em Retry. As instruções SQL restantes são então executadas de uma só vez, sem pausas adicionais.

    • Suspend after Executing a SQL Statement: A tarefa pausa automaticamente após a execução de cada instrução SQL. Clique manualmente em Retry para executar a próxima instrução SQL.

  7. Clique em Confirm Execution.

    Enquanto a tarefa do DMS estiver em execução, você poderá pausá-la a qualquer momento. Quando uma tarefa pausada é reiniciada, ela recomeça do início.

    • Na seção Execution, visualize o status de execução da tarefa, configurações, detalhes e logs de agendamento.

    • Também é possível acompanhar o progresso da alteração sem bloqueio em Operations Management > Task Management. Para mais informações, consulte View the progress of a lockless change.

Após ativar a alteração de schema sem bloqueio para uma instância, o método sem bloqueio também terá prioridade para os seguintes tipos de tickets de alteração de schema e tarefas executadas na instância: