Todos os produtos
Search
Central de documentação

Data Management:Alterações de esquema sem bloqueio

Última atualização: Oct 21, 2026

O Data Management (DMS) permite alterar esquemas sem bloquear tabelas. Isso evita que bloqueios de tabela interrompam as operações da sua empresa e reduz a latência do recurso DDL online do MySQL durante a replicação primária-secundária.

Considerações

  • No exemplo de início rápido, o modo de controle da instância é Security Collaboration. No uso diário deste recurso, os Control modes da instância podem ser Stable Change ou Security Collaboration.

  • É preciso ative a política de alteração de esquema sem bloqueio do DMS com antecedência para a instância do ApsaraDB RDS for MySQL no ambiente de desenvolvimento simulado.

Procedimento

Neste exemplo, o recurso de alteração de esquema sem bloqueio altera o tipo de dados da coluna long_text_a na tabela big_table do banco de dados poc_dev no modo Security Collaboration, de varchar(1024) para text.

  1. Envie um ticket como usuário comum.

    1. Acesse o console do DMS V5.0 como usuário comum.

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

      Nota

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

    3. Defina os parâmetros descritos na tabela a seguir e clique em Submit.

      Parâmetro

      Descrição

      Database (Obrigatório)

      Obrigatório. O banco de dados no qual os dados serão alterados. Neste exemplo, o banco de dados poc_dev no modo Secure Collaboration está selecionado.

      Business Background (Obrigatório)

      Obrigatório. A finalidade ou o objetivo da alteração dos dados. atualize os dados conforme necessário. Isso reduz comunicações desnecessárias.

      Affected Rows (Obrigatório)

      Obrigatório. O número estimado de linhas afetadas pela operação em que você exclua os dados. Para obter o número real de linhas afetadas, use a função COUNT em instruções SQL e execute-as na aba SQLConsole .

      SQL Statements for Change (Obrigatório)

      Obrigatório. A instrução SQL a ser executada para alterar os dados. Neste exemplo, execute a seguinte instrução ALTER:

      ALTER TABLE `big_table`
            MODIFY COLUMN `long_text_a` text NULL AFTER `name`;
      Nota

      Esta instrução altera o tipo de dados da coluna long_text_a de varchar(1024) para text.

    4. Na página Ticket Details, confirme os detalhes do ticket.

      Nota

      visualize os detalhes do ticket na página Ticket Details. O DMS pré-verifica a instrução SQL a ser executada. Os itens de pré-verificação incluem a sintaxe da instrução SQL, a correspondência do tipo da instrução com o tipo configurado nas regras de segurança, as permissões do usuário que enviou o ticket e o número estimado de linhas a serem lidas.

    5. Após a confirmação dos detalhes do ticket e a conclusão da pré-verificação, clique em Submit for Approval. Na mensagem exibida, clique em OK.

      Importante

      modifique os detalhes do ticket apenas antes do envio para aprovação.

  2. Aprove o ticket como administrador do DMS.

    1. Acesse o console do DMS V5.0 como administrador do DMS.

    2. Na página Home do console do DMS, clique em Pending Tickets na seção My Tickets.

    3. Na página My Tickets, localize o ticket que deseja tratar e clique no número do ticket na coluna Ticket Number.

    4. No painel Ticket Details, confirme as informações de alteração dos dados no ticket e clique em Approve.

    5. Na caixa de diálogo exibida, insira comentários e clique em Submit.

  3. Execute o ticket como usuário comum.

    1. Acesse o console do DMS V5.0 como usuário comum.

    2. Na seção Execute do painel Ticket Details, clique em Execute Change. Na caixa de diálogo exibida, defina os parâmetros descritos na tabela a seguir e clique em Confirm Execution.

      Parâmetro

      Descrição

      Execute strategy

      Define se a tarefa será executada imediatamente ou em horário agendado. Valores válidos:

      • Running immediately: o DMS executa a tarefa imediatamente após o envio.

      • Schedule: o DMS executa a tarefa no horário agendado especificado.

      Valor padrão: Running immediately.

      Transaction Control

      Define se o controle de transação será ativado. Valores válidos:

      • on: Se uma instrução SQL falhar, todas as instruções DML executadas na mesma transação serão revertidas. Instruções DDL não podem ser revertidas.

      • off: Executa uma instrução SQL por vez. Se uma instrução SQL falhar, a transação é interrompida. As outras instruções SQL executadas na mesma transação não são revertidas.

      Valor padrão: off.

      Data Backup

      Define se haverá backup dos dados. Valores válidos:

      • on: O DMS gera scripts INSERT para fazer backup dos dados afetados pela execução de instruções UPDATE ou DELETE.

      • off: Nenhum script de backup é gerado para esses dados.

      Valor padrão: on.

      Nota

      Após clicar em Confirm Execution, o DMS inicia a execução da tarefa.

Visualize o progresso da tarefa e verifique o esquema

  1. Como administrador do DMS, passe o ponteiro sobre o nome do banco de dados a ser alterado na seção Basic Information. No menu exibido, clique em Query.

    Você é redirecionado automaticamente para a página do SQL Console.

  2. Na aba SQL Console, insira uma instrução de consulta SQL no editor. Em seguida, clique em Execute na parte superior do editor.

    Por exemplo, insira a seguinte instrução SQL para consultar as tabelas do banco de dados atual.

    SHOW TABLES;
    Nota

    Quando o DMS altera o esquema de uma tabela sem bloqueá-la, duas tabelas temporárias são geradas.

  3. Na barra de navegação superior, escolha O&M > Task.

    Nota

    Se estiver usando o console do DMS no modo simples, passe o ponteiro sobre o ícone 2023-01-28_15-57-17.png no canto superior esquerdo do console e escolha All Features > O&M > Task.

  4. Clique no número da tarefa e gerencie a tarefa. A caixa de diálogo Execution details será exibida.

  5. Clique em Progress na coluna Operation.

  6. Na mensagem de alteração de estrutura sem bloqueio, visualize as informações de progresso da tarefa.

  7. Após a conclusão da tarefa, verifique o esquema.

    O esquema da tabela big_table é alterado e as tabelas temporárias são excluídas.