Use o recurso Data Import no Data Management Service (DMS) para importar rapidamente grandes volumes de dados de arquivos (SQL, CSV, Excel) para seu banco de dados.
Pré-requisitos
-
O banco de dados deve ser de um dos seguintes tipos:
MySQL: RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, PolarDB-X, AnalyticDB for MySQL ou outras fontes MySQL.
SQL Server: RDS for SQL Server, MyBase for SQL Server ou outras fontes SQL Server.
PostgreSQL: RDS for PostgreSQL, PolarDB for PostgreSQL, MyBase for PostgreSQL, AnalyticDB for PostgreSQL ou outras fontes PostgreSQL.
MariaDB: RDS for MariaDB ou outras fontes MariaDB.
OceanBase.
PolarDB for PostgreSQL (Compatible with Oracle).
DM.
DB2.
Oracle.
Redis.
MongoDB.
Você está logged on to the database instance no console do DMS.
Você tem permissões de change no banco de dados de destino.
Limitações
O tamanho de um único arquivo SQL, CSV ou Excel importado não pode exceder 5 GB. Para importar mais de 5 GB de dados, use o Data Transmission Service (DTS). Para mais informações, consulte Migration scenarios.
O DMS permite o upload de anexos ZIP. Para importar vários arquivos em um único ticket, compacte-os em um único arquivo
.zipantes de fazer o upload.Não é possível modificar vários bancos de dados em um único ticket de Data Import. Para modificar múltiplos bancos de dados, envie um ticket de normal data modify.
Para pequenas alterações de dados, use um ticket de normal data modify ou DML lock-free change para garantir a estabilidade.
Se um script de importação de dados em lote contiver instruções de alteração de schema, essas instruções serão executadas no modo nativo. Elas não são executadas no modo sem bloqueio, mesmo que a alteração de schema sem bloqueio esteja ativada para a instância.
Para evitar impactos no desempenho do banco de dados durante uma importação de dados em lote, use instruções SQL eficientes, como
INSERT, e instruçõesUPDATEouDELETEque utilizem chave primária.O arquivo CSV ou Excel importado (Sample files) deve conter apenas nomes e valores de campos. Qualquer outro conteúdo no arquivo causará falha na importação.
Procedimento
Este exemplo usa um banco de dados ApsaraDB RDS for MySQL no modo de controle Security Collaboration.
Faça login no DMS 5.0.
-
Passe o ponteiro sobre o ícone
no canto superior esquerdo do console do DMS e escolha .NotaSe você estiver usando o console do DMS no modo normal, escolha na barra de navegação superior.
-
Na página Data Change Tickets, configure os parâmetros. A tabela a seguir descreve alguns dos principais parâmetros.
Parâmetro
Descrição
Database
Pesquise o banco de dados de destino. É possível selecionar apenas um banco de dados.
NotaPara que as instâncias de banco de dados nos modos de controle Flexible Management ou Stable Change apareçam na lista suspensa, faça login nelas no DMS primeiro.
Também é possível pesquisar inserindo o endpoint de conexão do banco de dados, por exemplo,
test_db@rm-2zegs****.mysql.rds.aliyuncs.com:3306 [example].
Business Background
Descreva o motivo comercial da importação para agilizar o processo de revisão.
File Encoding
Codificação de caracteres do arquivo de importação. O sistema seleciona Automatic Identification por padrão. Outros valores incluem:
UTF-8
GBK
ISO-8859-1
Import Mode
Modo de importação de dados. Dois modos são suportados:
Speed Mode: Lê o arquivo durante a fase de execução e executa diretamente as instruções SQL no banco de dados de destino especificado. Este modo é mais rápido, porém menos seguro que o Security Mode.
NotaPor padrão, as regras de segurança não permitem a importação de dados no Speed Mode. Um administrador ou DBA pode ativar este item de verificação em para a instância.
Security Mode: Analisa o arquivo e armazena em cache os dados SQL ou CSV durante a fase de pré-verificação e, em seguida, executa a tarefa a partir do cache. Este modo é mais seguro, porém mais lento que o Speed Mode.
File Type
Selecione o tipo do arquivo de importação:
SQL Script: No modo Security Collaboration, apenas os tipos de comando
INSERTeREPLACEsão permitidos por padrão. Para alterar isso, um DBA ou administrador pode ajustar em Security Rules > SQL Change > Batch Data Import.CSV: O delimitador no arquivo deve ser uma vírgula.
Excel: O arquivo Excel pode ter uma linha de cabeçalho (para nomes de colunas) ou conter apenas dados.
NotaPara arquivos CSV ou Excel, a tabela de destino já deve existir.
Destination Table Name
Selecione a tabela de destino para a importação de dados.
NotaEste parâmetro está disponível apenas quando você define File Type como CSV ou Excel.
Data Location
Especifique a posição inicial dos dados:
1st behavioral attributes: A primeira linha da tabela contém nomes de campos.
1st behavioral data: A primeira linha da tabela contém dados.
NotaEste parâmetro está disponível apenas quando você define File Type como CSV ou Excel.
Write Mode
Método de gravação de dados:
INSERT: O banco de dados verifica a chave primária durante a inserção. Um erro é relatado se uma chave duplicada for encontrada.
INSERT_IGNORE: Se já existir um registro com a mesma chave, os novos dados serão ignorados.
REPLACE_INTO: Se uma linha na tabela tiver o mesmo valor de chave primária ou índice exclusivo, a linha existente será excluída e a nova linha será inserida.
NotaEste parâmetro está disponível apenas quando você define File Type como CSV ou Excel.
Os bancos de dados RDS for MySQL, PolarDB for MySQL, PolarDB-X, AnalyticDB for MySQL e OceanBase suportam todos os três métodos de gravação:
INSERT INTO,INSERT IGNOREeREPLACE INTO. Outros bancos de dados suportam apenasINSERT INTO.
Attachment
Suporta Upload File (arquivo local) e Upload OSS Object.
Para carregar um arquivo do OSS, adicione primeiro a fonte de dados OSS de destino no DMS. Depois, clique em Upload OSS Object, selecione o bucket de destino e insira o caminho do arquivo, como
examplefolder/example.sql.NotaOs tipos de arquivo suportados são SQL, CSV, TXT, XLSX e ZIP.
O tamanho do anexo não pode exceder 5 GB.
Para adicionar uma fonte de dados OSS, consulte Add an ApsaraDB database.
Other Options (Opcional)
Selecione se deseja ignorar exceções.
Desmarcado (Padrão): Quando ocorre uma exceção, o sistema interrompe a execução das instruções SQL subsequentes e relata um erro.
Marcado: O sistema ignora exceções e continua executando as instruções SQL subsequentes.
-
Clique em Submit e aguarde a conclusão da pré-verificação. Se a pré-verificação falhar, revise a mensagem de erro, resolva o problema e clique em Retry.
NotaO sistema pré-verifica o arquivo SQL carregado. Se você carregar um arquivo CSV, o sistema gera as instruções
INSERTcorrespondentes.Se ocorrer um erro durante a verificação de tipo na fase de pré-verificação, ajuste as regras de segurança associadas à instância com base na mensagem de erro. Para mais informações, consulte Data change.
Na seção Approval, clique em Submit for Approval e, em seguida, clique em OK na caixa de diálogo Prompt.
Após a aprovação do ticket, na seção Execute, clique em Execute Change.
-
Na caixa de diálogo Task Settings, selecione um método de execução.
Os métodos de execução são os seguintes:
Running Immediately: Padrão. A tarefa é executada imediatamente após você clicar em Confirm Execution.
Schedule: Selecione um horário de início para a tarefa. A tarefa será executada automaticamente no horário especificado após você clicar em Confirm Execution.
NotaDurante a execução, o sistema lê o SQL analisado em fluxo e o executa em lotes no banco de dados. O tamanho de cada lote é de 1 MB.
É possível visualizar o status da tarefa, detalhes da verificação SQL e logs de agendamento na seção Execution.
-
Quando uma tarefa pausada é reiniciada, seu comportamento depende do modo de importação:
Speed Mode: A execução do script ou a importação do arquivo de dados recomeça do início.
Security Mode: A execução do script ou a importação do arquivo de dados retoma do ponto de pausa.
Uma mensagem de conclusão aparece quando a tarefa termina.
-
(Opcional) Consulte os dados importados.
Acesse a página SQL Console para consultar os dados importados. Para mais informações, consulte Get started with SQL Console.
Arquivos de exemplo
FAQ
-
P: O que devo fazer se ocorrer um erro "permission denied for schema XXXXX" durante a importação de dados?
R: Esse erro indica que a conta de banco de dados usada para fazer login no DMS não tem permissões suficientes. Tente fazer login no DMS com uma conta de banco de dados privilegiada e tente importar novamente, ou tente importar os dados para outro banco de dados público. Para alternar contas de banco de dados, consulte Edit instance information.
Se o problema persistir, use o Data Transmission Service (DTS) para migrar os dados. Para mais informações, consulte Migration scenarios.
-
P: O que devo fazer se o ticket de importação de dados falhar na pré-verificação e uma mensagem indicar que o envio de instruções de alteração XXXX não é permitido?
R: Um administrador ou DBA deve modificar as regras de segurança de alteração SQL para permitir esse tipo de SQL durante a importação. O exemplo a seguir mostra como permitir instruções
CREATE_TABLE:No console do DMS, acesse a página Security Rules.
Edite a regra de destino. Na página de detalhes da regra, clique em SQL Correct no painel à esquerda.
Selecione Batch Data Import Rules e clique em Edit à direita da regra Allow bulk import of insert statements.
Adicione o tipo SQL
CREATE_TABLEe clique em Submit. Para mais informações, consulte SQL Change.Após a modificação da regra, retorne à página de detalhes do ticket de importação de dados e clique em Retry na seção Precheck.
-
P: O que devo fazer se o arquivo a ser carregado for maior que 5 GB?
R: Escolha um dos seguintes métodos:
Divida o arquivo em arquivos menores e envie vários tickets para carregá-los.
Use o Navicat para conectar-se remotamente ao banco de dados e então carregue o arquivo.
Use o Data Transmission Service (DTS) para migrar dados. O DTS suporta migração de dados em grande escala sem limite de tamanho de arquivo. Para mais informações, consulte Migration scenarios.
-
P: Como posso excluir dados que foram importados incorretamente?
R: O método de exclusão depende do volume de dados.
-
Pequena quantidade de dados
Execute uma instrução
DELETEno console SQL do DMS. Para mais informações, consulte Use SQL statements to change table data. -
Grande quantidade de dados
Envie um ticket Normal Data Modify ou DML Lock-Free Change para excluir os dados da tabela. O recurso DML Lock-Free Change permite alterar grandes quantidades de dados de tabela sem bloqueá-la. Para mais informações, consulte Standard data change e DML Lock-Free Change.
-