Este tópico descreve erros comuns (DTS-RETRY-ERR-0301 a DTS-RETRY-ERR-0400) que ocorrem durante a execução de tarefas DTS e apresenta as soluções correspondentes.
Este tópico utiliza expressões regulares ((.*)?) para representar variáveis nas mensagens de erro.
DTS-RETRY-ERR-0301: Invalid character data was found
Possível causa: O banco de dados ou a tabela de destino utiliza um conjunto de caracteres incompatível com o de origem, impedindo a gravação dos dados.
Solução: Altere o conjunto de caracteres do banco de dados ou da tabela de destino para um compatível com o de origem e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
truncated CriticalAnyAllException: postgresql: DTS-11002: Invalid character data was found.
DTS-RETRY-ERR-0302: (.*)? is none in where causes
Possível causa: As condições de filtro configuradas na instância DTS estão incorretas.
Solução:
Instância de sincronização: corrija as cláusulas de filtro e, em seguida, restart the DTS task. Para mais informações, consulte What to do next.
Instância de migração: Restart the DTS task. Se a instância não puder ser recuperada, reconfigure a tarefa DTS.
Exemplo de mensagem de erro:
TransactionReplicateException: transaction-replicate: DTS-71001: MysqlRelatedTextSqlBuilderTools: record **** msg is none in where causes.
DTS-RETRY-ERR-0303: The size of attribute column (.*)? has exceeded the max length
Possível causa: O comprimento de algumas colunas nos dados a serem gravados excede o comprimento máximo definido para essas colunas no banco de dados de destino.
Solução: Modifique o comprimento máximo da coluna com problema na tabela do banco de dados de destino para atender aos requisitos de gravação de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: ClientException: The size of attribute column 'task_i****' has exceeded the max length: 2097152.
DTS-RETRY-ERR-0306: Error while parsing column ETL value for command
Possível causa: A instrução de processamento de dados ETL (extract, transform, and load) está incorreta, causando falha na execução do ETL.
Solução:
Instância de sincronização: verifique e corrija o data processing statement e, em seguida, restart the DTS task.
Instância de migração: reconfigure a tarefa de migração com o data processing statement correto.
Exemplo de mensagem de erro:
ETL: DTS--0001: Error while parsing column ETL value for command e_switch ****
DTS-RETRY-ERR-0307: Writer has been closed
Possível causa: Não é possível gravar dados no banco de dados de destino.
Solução: Verifique se há logs de alterações incrementais no banco de dados de origem, se o banco de dados de destino está funcionando normalmente, se o schema do banco de dados de destino é compatível com o de origem e se a conta do banco de dados de destino possui as permissões necessárias. Em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: Writer has been closed.
DTS-RETRY-ERR-0308: Error while executing ETL
Possível causa: A instrução de processamento de dados ETL está incorreta, causando falha na execução do ETL.
Solução:
Instância de sincronização: verifique e corrija o data processing statement e, em seguida, restart the DTS task.
Instância de migração: reconfigure a tarefa de migração com o data processing statement correto.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 330151334436352****) failed cause: FatalAnyAllException: common: DTS-100047: retry 4251 times, 43201 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: ETL: DTS--0001: Error while executing ETL: e_switch ****
DTS-RETRY-ERR-0310: Function (.*)? not found
|
Possível causa |
Solução |
|
A função mencionada na mensagem de erro não existe no banco de dados de destino. |
Crie a função correspondente no banco de dados de destino com base na mensagem de erro e na definição da função no banco de dados de origem e, em seguida, restart the DTS task. |
|
O banco de dados de destino não oferece suporte a funções. |
Reconfigure a tarefa DTS. |
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 782344968821171****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds DbException: Function "UNIX_TIMESTAMP" not found [90022-193] JdbcSQLException: Function "UNIX_TIMESTAMP" not found [90022-193]
DTS-RETRY-ERR-0311: MongoExecutionTimeoutException: operation exceeded time limit
Possível causa: O DTS atingiu o tempo limite ao executar operações de alteração no banco de dados MongoDB de destino.
Solução: Se o seu negócio permitir, remova o limite de tempo de execução do banco de dados ou atualize as especificações do banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
FatalAnyAllException: common: DTS-100047: retry 1 times, 45662 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoExecutionTimeoutException: operation exceeded time limit MongoExecutionTimeoutException: operation exceeded time limit
DTS-RETRY-ERR-0312: The table does not comply with the requirements by an external plugin
Possível causa: O banco de dados de destino não consegue executar operações de gravação devido a restrições de plugins externos.
Solução: Identifique e resolva os problemas relacionados ao plugin do banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 3957 times, 43202 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** reason: The table does not comply with the requirements by an external plugin. BatchUpdateException: The table does not comply with the requirements by an external plugin. SQLException: The table does not comply with the requirements by an external plugin.
DTS-RETRY-ERR-0313: The connection has been closed
Possível causa: A conexão com o banco de dados foi encerrada, impedindo o DTS de se conectar à instância do banco de dados.
Solução: Verifique os logs do banco de dados para identificar a causa raiz, resolva o problema e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 953 seconds, which exceed the supposed 600 seconds cause: SQLServerException: SQL Server returned an incomplete response. The connection has been closed.
DTS-RETRY-ERR-0314: Failed to get global lock for table/view
Possível causa: Não é possível criar tabelas ou views no banco de dados de destino.
Solução: Investigue problemas relacionados ao status do banco de dados e às permissões da conta do banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-10046: execute sql: CREATE TABLE if not exists **** ENGINE=InnoDB DEFAULT CHARSET=utf8 failed. Create TransactionTable failed. cause: SQLException: Failed to get global lock for table/view 'dts.dts****' on master 1
DTS-RETRY-ERR-0315: Cannot convert NULL value to non-Nullable
Possível causa: Valores nulos estão sendo gravados em colunas com restrição NOT NULL no banco de dados de destino.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino conforme necessário (por exemplo, remova a restrição NOT NULL da coluna com problema). Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4123 times, 43209 seconds, which exceed the supposed 43200 seconds cause: BatchUpdateException: Code: 349. DB::Exception: Cannot convert NULL value to non-Nullable type: while converting source column alerting_time to destination column alerting_time: while executing 'FUNCTION _CAST****
DTS-RETRY-ERR-0319: Cannot set null to non-nullable column
Possível causa: Valores nulos estão sendo gravados em colunas com restrição NOT NULL no banco de dados de destino.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino conforme necessário (por exemplo, remova a restrição NOT NULL da coluna com problema). Restart the DTS task.
Exemplo de mensagem de erro:
common: DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: SQLException: Cannot set null to non-nullable column #7 ****
DTS-RETRY-ERR-0321: Host (.*)? is not allowed to connect to this MySQL server
Possível causa: O DTS não consegue se conectar ao banco de dados.
Solução: Investigue problemas relacionados à lista de permissões do banco de dados e adicione o DTS server IP address ranges às configurações de segurança do banco de dados. Em seguida, restart the DTS task.
Exemplo de mensagem de erro:
java.sql.SQLException: null, message from server: "Host '100.104.XX.XX' is not allowed to connect to this MySQL server"
DTS-RETRY-ERR-0322: Disk is full
Possível causa: O disco do banco de dados de destino está cheio.
Solução: Expanda o espaço em disco do banco de dados de destino e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-10046: execute sql: CREATE TABLE if not exists **** ENGINE=InnoDB DEFAULT CHARSET=utf8 failed. Create TransactionTable failed. cause: SQLException: Create table/tablespace 'dts****' failed, as disk is full
DTS-RETRY-ERR-0325: Disperse error for column
Possível causa: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com o de origem, impedindo a gravação dos dados.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino para que seja consistente (ou compatível) com o de origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477**** seconds cause: CriticalAnyAllException: database-framework: DTS-61001: disperse error for column:bo_**** BIGINT nullable as bo_**** of table ****
DTS-RETRY-ERR-0326: Socket is closed
Possível causa: A conexão com o banco de dados foi encerrada, impedindo o DTS de se conectar à instância do banco de dados.
Solução: Verifique os logs do banco de dados para identificar a causa raiz, resolva o problema e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: SQLException: java.lang.reflect.InvocationTargetException InvocationTargetException: null IOException: Socket is closed
DTS-RETRY-ERR-0327: Error while executing user ETL
Possível causa: A instrução de processamento de dados ETL está incorreta, causando falha na execução do ETL.
Solução:
Instância de sincronização: verifique e corrija o data processing statement e, em seguida, restart the DTS task.
Instância de migração: reconfigure a tarefa de migração com o data processing statement correto.
Exemplo de mensagem de erro:
framework: DTS-31009: In process of processing data (recordRange: 273076918923611****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: ETL: DTS--0001: Error while executing user ETL: For input string: ****
DTS-RETRY-ERR-0328: Got error IllegalDataException from storage engine
Possível causa: Ocorreu uma exceção no banco de dados de destino.
Solução: Verifique se o banco de dados de destino está funcionando normalmente e se é possível se conectar a ele e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: BatchUpdateException: Got error IllegalDataException from storage engine. Detailed error: Must not use byte[0] for BINARY/VARBINARY, please use null instead. ****
DTS-RETRY-ERR-0329: Data conversion error converting
Possível causa: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com o de origem, impedindo a gravação dos dados.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino para que seja consistente (ou compatível) com o de origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 576317120221859****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds DbException: Data conversion error converting "2024-12-19 00:00:00" [22018-193] JdbcSQLException: Data conversion error converting "2024-12-19 00:00:00" [22018-193] NumberFormatException: For input string: "2024-12-19 00:00:00"
DTS-RETRY-ERR-0330: Error while parsing ETL script
Possível causa: A instrução de processamento de dados ETL está incorreta, causando falha na execução do ETL.
Solução:
Instância de sincronização: verifique e corrija o data processing statement e, em seguida, restart the DTS task.
Instância de migração: reconfigure a tarefa de migração com o data processing statement correto.
Exemplo de mensagem de erro:
ETL: DTS--0001: Error while parsing ETL script You have an error in your ETL syntax; check the etl document for the right syntax to use near ****
DTS-RETRY-ERR-0331: User (.)? already has more than (.)? active connections
Possível causa: O limite de conexões do banco de dados foi atingido.
Solução: Aumente o limite de conexões do banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-61015: Create connection failed **** cause: MySQLSyntaxErrorException: User hzdball already has more than 'max_****' active connections
DTS-RETRY-ERR-0332: SocketTimeoutException: Read timed out
Possível causa: A comunicação de rede entre o DTS e o banco de dados atingiu o tempo limite.
Solução: Verifique se o banco de dados de origem está funcionando normalmente e se o DTS consegue se conectar a ele (confira as configurações de conexão do banco de dados, as configurações da lista de permissões e as credenciais da conta). Em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 513789742289413****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 3667 seconds, which exceed the supposed 600 seconds CriticalAnyAllException: framework: DTS-31009: read source data error CommunicationsException: Application was streaming results when the connection failed. Consider raising value of 'net_****' on the server. SocketTimeoutException: Read timed out
DTS-RETRY-ERR-0333: Operation not allowed on closed connection
Possível causa: A conexão com o banco de dados foi encerrada, impedindo o DTS de se conectar à instância do banco de dados.
Solução: Verifique os logs do banco de dados para identificar a causa raiz, resolva o problema e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: SQLException: java.lang.reflect.InvocationTargetException InvocationTargetException: null MySQLNonTransientConnectionException: Operation not allowed on closed connection
DTS-RETRY-ERR-0334: Cannot get geometry object from data you send to the GEOMETRY field
Possível causa: Os dados gravados no campo do tipo GEOMETRY não podem ser interpretados como um objeto de geometria.
Solução: Ajuste o tipo do campo correspondente no banco de dados de destino e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4316 times, 43206 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Data truncation: Cannot get geometry object from data you send to the GEOMETRY field BatchUpdateException: Data truncation: Cannot get geometry object from data you send to the GEOMETRY field MysqlDataTruncation: Data truncation: Cannot get geometry object from data you send to the GEOMETRY field
DTS-RETRY-ERR-0335: Cannot parse (.*)? constant
Possível causa: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com o de origem, impedindo a gravação dos dados.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino para que seja consistente (ou compatível) com o de origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 436256372039247****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 1 seconds, which exceed the supposed 43200 seconds DbException: Cannot parse "TIMESTAMP" constant "2024-11-01 00:00" [22007-193] JdbcSQLException: Cannot parse "TIMESTAMP" constant "2024-11-01 00:00" [22007-193] IllegalArgumentException: 2024-11-01 00:00
DTS-RETRY-ERR-0336: Column (.*)? partition format function error
Possível causa: Os campos no banco de dados de destino possuem formatos de dados que não atendem aos requisitos, causando falha na execução da função.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino para que seja consistente (ou compatível) com o de origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4222 times, 43200 seconds, which exceed the supposed 43200 seconds cause: RuntimeException: Table **** with columns **** and batch exception is **** column **** partition format function error: date_format(?, %Y%m), value: } BatchUpdateException: **** column **** partition format function error: date_format(?, %Y%m), value: ****
DTS-RETRY-ERR-0338: java.lang.NumberFormatException
Possível causa: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com o de origem, impedindo a gravação dos dados.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino para que seja consistente (ou compatível) com o de origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 40009630192186****) failed cause: FatalAnyAllException: common: DTS-100047: retry 1189 times, 43220 seconds, which exceed the supposed 43200 seconds RuntimeException: java.lang.NumberFormatException: For input string: "****" NumberFormatException: For input string: "****"
DTS-RETRY-ERR-0339: Cannot create a JSON value from a string
Possível causa: Não é possível gravar dados do tipo STRING provenientes do banco de dados de origem no campo do tipo JSON no banco de dados de destino.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino para que seja consistente (ou compatível) com o de origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 1396 times, 43232 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: **** MysqlDataTruncation: Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
DTS-RETRY-ERR-0340: Table engine is (.*)? it is a non-transactional engine
Possível causa: A tabela de destino utiliza um mecanismo de armazenamento não transacional, impedindo a gravação dos dados.
Solução: Se o seu negócio permitir, altere a tabela de destino para usar um mecanismo de armazenamento transacional (como InnoDB) e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-30021: Optional[cvte_com_zh].Optional[InfoArticle]'s table engine is [MyISAM], it is a non-transactional engine.
DTS-RETRY-ERR-0341: SSL connection required, but not supported by server
Possível causa: O banco de dados de origem ou de destino não oferece suporte a conexões seguras SSL.
Solução: Utilize um dos métodos a seguir:
Método 1: ative a criptografia SSL no banco de dados de origem ou de destino.
Método 2: configure a conexão do banco de dados de origem ou de destino para usar um método não criptografado (selecione Non-encrypted em Encryption).
Exemplo de mensagem de erro:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: SSL Connection required, but not supported by server.
DTS-RETRY-ERR-0342: Unsupported encoding
Possível causa: O banco de dados ou a tabela de destino utiliza um conjunto de caracteres incompatível com o de origem, impedindo a gravação dos dados.
Solução: Altere o conjunto de caracteres do banco de dados ou da tabela de destino para um compatível com o de origem e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-073602: Record Converter failed for the record of table ****. cause by [Unsupported encoding: utf8mb3] About more information in ****
DTS-RETRY-ERR-0343: PSQLException: ERROR: out of memory
Possível causa: O banco de dados de destino ficou sem memória.
Solução: Atualize as especificações do banco de dados de destino para aumentar a memória disponível e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 343720457685853****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 35444 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error PSQLException: ERROR: out of memory Detail: Failed on request of size 131072 in memory context "ExecutorState".
DTS-RETRY-ERR-0344: Writer is closed
Possível causa: Não é possível gravar dados no banco de dados de destino.
Solução: Verifique se há logs de alterações incrementais no banco de dados de origem, se o banco de dados de destino está funcionando normalmente, se o schema do banco de dados de destino é compatível com o de origem e se a conta do banco de dados de destino possui as permissões necessárias. Em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: Writer is closed.
DTS-RETRY-ERR-0345: User writes blocked
Possível causa: A conta do banco de dados de destino utilizada pela tarefa DTS não consegue gravar dados no banco de dados de destino.
Solução: Confirme se a conta do banco de dados de destino possui permissões de gravação suficientes e se a instância do banco de dados não restringe a gravação para essa conta. Em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 2 seconds, which exceed the supposed 922337203685477**** seconds cause: SQLException: com.mongodb.MongoWriteException: Write operation error on server 10.42.XX.XX:XX. Write error: WriteError{code=371, message='User writes blocked', details={}}. MongoWriteException: Write operation error on server 10.42.XX.XX:XX. Write error: WriteError{code=371, message='User writes blocked', details={}}.
DTS-RETRY-ERR-0346: Terminating connection due to out of memory
Possível causa: O banco de dados de origem ou de destino não pode ser conectado devido à memória insuficiente.
Solução: Atualize as especificações do banco de dados de origem ou de destino para aumentar a memória disponível e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 654419472062768****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 1774 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error PSQLException: FATAL: terminating connection due to out of memory
DTS-RETRY-ERR-0347: Query exceeded maximum time limit
Possível causa: O DTS atingiu o tempo limite ao executar uma consulta no banco de dados de origem.
Solução: Aumente o tempo limite de consultas SQL no banco de dados de origem ou atualize as especificações do banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 305048960847210****) failed cause: FatalAnyAllException: common: DTS-100047: retry 23 times, 43506 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: [32005, 202502060853291921682241170345369****] : Query exceeded maximum time limit of 1800000.00ms
DTS-RETRY-ERR-0348: No memory or reach tenant memory limit
Possível causa: O banco de dados de origem ou de destino não pode ser conectado devido à memória insuficiente.
Solução: Atualize as especificações do banco de dados de origem ou de destino para aumentar a memória disponível e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
jdbc-burst: DTS-61015: Create connection failed (url: 10.29.XX.XX:XX, user: cxmrw) cause: SQLException: No memory or reach tenant memory limit
DTS-RETRY-ERR-0349: The (.)? server is running with the (.)? option so it cannot execute this statement
Possível causa: O banco de dados de destino está em estado somente leitura ou bloqueado, impedindo a gravação dos dados.
Solução: Entre em contato com o administrador do banco de dados (DBA) para restaurar o banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 120 times, 1800 seconds, which exceed the supposed 1800 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 6 execute transaction has excess max transaction retry time [64] cause:transaction-replicate: DTS-70004: EXEC statement failed, may try it again RecoverableAnyAllException: transaction-replicate: DTS-70004: EXEC statement failed, may try it again SQLException: ****, error detail message:The MySQL server is running with the LOCK_WRITE option so it cannot execute this statement SQLException: The MySQL server is running with the LOCK_WRITE option so it cannot execute this statement
DTS-RETRY-ERR-0350: Replication slot (.)? is active for PID (.)?
Possível causa: A conexão entre o banco de dados de origem e o DTS está anormal devido a fatores como instabilidade de rede.
Solução: Aguarde 5 minutos e, em seguida, restart the DTS task. Se o problema persistir, entre em contato com o suporte técnico da Alibaba Cloud.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 1005 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed CriticalAnyAllException: postgresql-reader: DTS-52512: postgres open replication steam failed PSQLException: ERROR: replication slot "dts_****" is active for PID 3****
DTS-RETRY-ERR-0352: Column is not allowed to be null
Possível causa: Valores nulos estão sendo gravados em colunas com restrição NOT NULL no banco de dados de destino.
Solução: Analise a mensagem de erro e o schema do banco de dados de origem e, em seguida, ajuste o schema do banco de dados de destino conforme necessário (por exemplo, remova a restrição NOT NULL da coluna com problema). Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 3600 seconds cause: CriticalAnyAllException: full-lindorm: DTS-61010: column is not allowed to be null: ****
DTS-RETRY-ERR-0353: GC life time is shorter than transaction duration
Possível causa: O DTS falha ao ler os dados devido a um tempo limite causado pelo mecanismo de coleta de lixo (GC) do banco de dados de origem.
Solução: Aumente o período de tempo limite do GC no banco de dados de origem e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 341070835023137****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 259404 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: GC life time is shorter than transaction duration, transaction starts at ****
DTS-RETRY-ERR-0354: No results were returned by the query
Possível causa: Nenhum resultado foi retornado quando o DTS consultou dados no banco de dados de origem.
Solução: Verifique o status do banco de dados e a conectividade de rede para confirmar que o DTS consegue se conectar normalmente ao banco de dados e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-31007: fetch and merge schemas failed cause: CriticalAnyAllException: full-postgresql: DTS-61006: No results were returned by the query. PSQLException: No results were returned by the query.
DTS-RETRY-ERR-0355: PSQLException: An I/O error occurred while sending to the backend
Causa provável: O DTS não consegue se conectar ao banco de dados normalmente.
Solução: Verifique o status do banco de dados, a conectividade de rede, o firewall (ou configurações de segurança) e as configurações do driver para confirmar que o DTS consegue se conectar ao banco de dados normalmente. Em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 1667 seconds, which exceed the supposed 43200 seconds cause: PSQLException: An I/O error occurred while sending to the backend. SocketException: Broken pipe (Write failed)
DTS-RETRY-ERR-0356: NotWritablePrimary
Causa provável: O banco de dados de destino configurado para a tarefa DTS não é o nó primário, o que impede a escrita de dados.
Solução: Reconfigure a tarefa DTS utilizando o nó primário do banco de dados como destino.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 1 seconds, which exceed the supposed 922337203685477**** seconds cause: SQLException: com.mongodb.MongoNotPrimaryException: Command failed with error 10107 (NotWritablePrimary): 'not master' on server ****
DTS-RETRY-ERR-0357: Already exists with different case
Causa provável: Existem bancos de dados no destino cujos nomes diferem apenas na capitalização, gerando conflitos de escrita de dados.
Solução: Se o seu negócio permitir, limpe a instância de destino e depois restart the DTS task.
Para instâncias de sincronização, utilize o recurso Modify Synchronization Objects para mover os objetos que estão causando erros de Selected Objects para Source Objects e envie essa alteração. Em seguida, use Modify Synchronization Objects para adicioná-los novamente a Selected Objects , usando o recurso Database, Table, and Column Name Mapping para gravar dados em outros bancos de dados no destino.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 922337203685477**** seconds cause: SQLException: com.mongodb.MongoWriteException: Write operation error on server 10.46.XX.XX:XX. Write error: WriteError{code=13297, message='db already exists with different case already have: [subway] trying to create [Subway]', details={}}. MongoWriteException: Write operation error on server 10.46.XX.XX:XX.. Write error: WriteError{code=13297, message='db already exists with different case already have: [subway] trying to create [Subway]', details={}}.
DTS-RETRY-ERR-0359: Too many filtered rows
Causa provável: Os conjuntos de caracteres das tabelas nos bancos de dados de origem e destino são incompatíveis, impedindo a escrita de dados.
Solução: Use o ErrorUrl presente na mensagem de erro para investigar e resolver o problema e depois restart the DTS task. Se o problema não puder ser resolvido, entre em contato com o suporte da Alibaba Cloud para obter assistência.
Exemplo de mensagem de erro:
DTS-100047: retry 2775 times, 43207 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 2 execute transaction has excess max transaction retry time [64] cause:Failed to stream load data to table: **** status is fail. Load result: ****
DTS-RETRY-ERR-0360: Operation exceeded time limit
Causa provável: O DTS atingiu o tempo limite ao executar operações de consulta ou escrita.
Solução: Verifique o status da sua instância de banco de dados MongoDB (como carga e consultas lentas), confirme que o DTS consegue executar consultas e operações de escrita normalmente e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 561767791805127****) failed cause: FatalAnyAllException: common: DTS-100047: retry 22 times, 43506 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoExecutionTimeoutException: Executor error during getMore :: caused by :: operation exceeded time limit MongoExecutionTimeoutException: Executor error during getMore :: caused by :: operation exceeded time limit
DTS-RETRY-ERR-0361: Unknown table
Causa provável: O banco de dados de destino não possui as tabelas que existem na origem, impedindo a escrita de dados.
Solução: Crie manualmente as tabelas ausentes no banco de dados de destino e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-31007: Failed to obtain table **** detail information after retrying. Cause: FatalAnyAllException: common: DTS-100047: Retried 4312 times, 43209 seconds, which exceeds the supposed 43200 seconds RecoverableAnyAllException: replicate-selectdb: DTS-70002: Failed to obtain table **** detail information. SQLException: errCode = 2, detailMessage = Unknown table ****
DTS-RETRY-ERR-0362: Not support string len over than string_type_length_soft_limit_bytes
Causa provável: O comprimento dos dados do tipo STRING a serem gravados no banco de dados SelectDB de destino excede o limite configurado.
Solução: Aumente o parâmetro string_type_length_soft_limit_bytes do banco de dados SelectDB para acomodar o comprimento máximo de STRING a ser gravado e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 52 times, 602 seconds, which exceed the supposed 600 seconds cause: IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: **** add batch req success but status isn't ok, err: [E-1201]PStatus: (172.16.XX.XX)[E-1201]failed to append block: [NOT_IMPLEMENTED_ERROR]Not support string len over than `string_type_length_soft_limit_bytes` in vec engine., ****
DTS-RETRY-ERR-0363: Can't get text on a START_OBJECT
Causa provável: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com a origem, impedindo a escrita de dados.
Solução: Altere o tipo do campo correspondente no índice de destino para Object e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 15 times, 28 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: es: DTS-10035: failed to parse field **** of type [text] in document with id '13312'. Preview of field's value: '****', Can't get text on a START_OBJECT at 1:2380 CriticalAnyAllException: es: DTS-10035: failed to parse field **** of type [text] in document with id '13312'. Preview of field's value: '****', Can't get text on a START_OBJECT at 1:2380
DTS-RETRY-ERR-0364: No such index
Causa provável: O banco de dados Elasticsearch de destino não possui o índice necessário.
Solução: Adicione os índices ausentes ao banco de dados Elasticsearch de destino e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 15 times, 25 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: es: DTS-10035: no such index **** and **** contains [-*] which forbids automatic creation of the index CriticalAnyAllException: es: DTS-10035: no such index **** and **** contains [-*] which forbids automatic creation of the index
DTS-RETRY-ERR-0365: Index read-only
Causa provável: O banco de dados Elasticsearch de destino está em modo somente leitura, impedindo a escrita de dados.
Solução: Altere o banco de dados Elasticsearch de destino para o modo leitura-escrita e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 15 times, 57 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: es: DTS-10035: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]; CriticalAnyAllException: es: DTS-10035: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
DTS-RETRY-ERR-0366: Unable to authenticate user
Causa provável: A conta ou a senha do banco de dados Elasticsearch de destino utilizada pela tarefa DTS está incorreta.
Solução:
Senha incorreta: Acesse a página Basic Information no console da instância DTS. Na área Destination, clique em Change Password, insira a senha correta para o banco de dados Elasticsearch de destino e depois restart the DTS task.
Conta incorreta: Reconfigure a tarefa DTS com a conta e a senha corretas do banco de dados.
Exemplo de mensagem de erro:
unable to authenticate user [elastic]
DTS-RETRY-ERR-0367: In encoding "UTF8" has no equivalent in encoding "GBK" (.*)?
Causa provável: O banco de dados ou a tabela de destino utiliza um conjunto de caracteres incompatível com a origem, impedindo a escrita de dados.
Solução: Altere o conjunto de caracteres da tabela no banco de dados de destino (por exemplo, altere para GB18030) e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4037 times, 43208 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: character with byte sequence 0xee 0x96 0x83 in encoding "UTF8" has no equivalent in encoding "GBK" Where: unnamed portal parameter $12 Call getNextException to see other errors in the batch. PSQLException: ERROR: character with byte sequence 0xee 0x96 0x83 in encoding "UTF8" has no equivalent in encoding "GBK" Where: unnamed portal parameter $12
DTS-RETRY-ERR-0368: Alter table (.)? canceling statement due to user request (.)?
Causa provável: A inicialização da instância DTS falhou.
Solução: Reinicie o DTS task durante horários de baixo tráfego, quando a carga de CPU dos bancos de dados de origem e destino estiver abaixo de 30%.
Exemplo de mensagem de erro:
DTS-52110: PostgresRecordExtractor Init Error: postgresql-reader: DTS-52511: alter replica identity thread exception, readerContext=ReaderContext [****] cause: CriticalAnyAllException: postgresql-reader: DTS-52511: alter replica identity thread exception ExecutionException: postgresql-reader: DTS--0001: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 300019 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 300019 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to user request CriticalAnyAllException: postgresql-reader: DTS--0001: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 300019 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 300019 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to user request
DTS-RETRY-ERR-0369: Requested WAL segment (.*)? has already been removed
Causa provável: O segmento Write-Ahead Logging (WAL) do banco de dados de origem foi removido.
Solução: Entre em contato com o administrador de banco de dados (DBA) responsável pelo banco de dados de origem para resolver o problema e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed IOException: org.postgresql.util.PSQLException: ERROR: requested WAL segment 00000002000000F000000013 has already been removed PSQLException: ERROR: requested WAL segment 00000002000000F000000013 has already been removed
DTS-RETRY-ERR-0370: Password authentication failed for user (.*)?
Causa provável: A conta e a senha do banco de dados configuradas para a tarefa DTS não conseguem se conectar ao banco de dados.
Solução:
Senha incorreta: Acesse a página Basic Information no console da instância DTS. Na área Destination, clique em Change Password, insira a senha correta e depois restart the DTS task.
Conta incorreta: Reconfigure a tarefa DTS com a conta e a senha corretas do banco de dados.
Exemplo de mensagem de erro:
DTS-100047: retry 1 times, 44134 seconds, which exceed the supposed 43200 seconds cause: PSQLException: FATAL: password authentication failed for user ****
DTS-RETRY-ERR-0371: Must be owner of table (.*)?
Causa provável: A conta de banco de dados configurada para a tarefa DTS não possui permissões suficientes. A permissão de proprietário (owner) é necessária.
Solução: Conceda as permissões necessárias à conta de banco de dados utilizada pela tarefa DTS e depois restart the DTS task. Como alternativa, reconfigure a tarefa DTS com uma conta de banco de dados que possua permissões suficientes.
Exemplo de mensagem de erro:
DTS-52110: PostgresRecordExtractor Init Error: postgresql-reader: DTS-52511: alter replica identity thread exception, readerContext=ReaderContext [****] cause: CriticalAnyAllException: postgresql-reader: DTS-52511: alter replica identity thread exception ExecutionException: postgresql-reader: DTS--0001: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: must be owner of table **** CriticalAnyAllException: postgresql-reader: ****
DTS-RETRY-ERR-0372: jdbc-burst (.)? Create connection failed (.)?
Causa provável: Não é possível se conectar à instância do banco de dados.
Solução: Confirme que o banco de dados pode ser conectado normalmente e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 1 times, 45377 seconds, which exceed the supposed 43200 seconds cause: DBCommonException: jdbc-burst: DTS-61015: Create connection failed (url: ****, user: ****) PSQLException: The connection attempt failed. EOFException: null
DTS-RETRY-ERR-0373: Create publication error for (.*)? PSQLException: ERROR: Operation is not allowed on this node. Hint: Connect to the coordinator and run it again.
Causa provável: O banco de dados de origem ou de destino é o PolarDB for PostgreSQL Distributed Edition.
Solução: Não há solução disponível. O DTS não oferece suporte a clusters distribuídos do PolarDB for PostgreSQL.
Exemplo de mensagem de erro:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect SET value: 'unknown' for column 'permissions' at row 1 BatchUpdateException: Incorrect SET value: 'unknown' for column 'permissions' at row 1 MysqlDataTruncation: Incorrect SET value: 'unknown' for column 'permissions' at row 1
DTS-RETRY-ERR-0374: PostgreSQL logical log not found (.*)?
Causa provável: O DTS não consegue localizar os dados no offset correspondente no banco de dados de origem.
Solução: Verifique a mensagem de erro e o schema do banco de dados de origem e modifique o schema do banco de dados de destino para que seja consistente (ou compatível) com a origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect BINARY value for column 'hash' at row 1 BatchUpdateException: Incorrect BINARY value for column 'hash' at row 1 MysqlDataTruncation: Incorrect BINARY value for column 'hash' at row 1
DTS-RETRY-ERR-0375: FATAL: terminating connection due to out of memory (.*)?
Causa provável: OOM (Out of Memory) na memória do banco de dados.
Solução: Entre em contato com o administrador de banco de dados (DBA) para resolver o problema e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed CriticalAnyAllException: postgresql-reader: DTS--0001: execute sql select **** failed, case by common: DTS-100047: retry 0 times, 401 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 401 seconds, which exceed the supposed 43200 seconds PSQLException: FATAL: terminating connection due to out of memory
DTS-RETRY-ERR-0376: Function dt_sub is not supported, maybe is op_sub (.*)?
Causa provável: A instrução de processamento de dados ETL está incorreta, causando falha na execução do ETL.
Solução:
Instância de sincronização: Verifique e corrija o data processing statement e depois restart the DTS task.
Instância de migração: Reconfigure a tarefa de migração com o data processing statement correto.
Exemplo de mensagem de erro:
DTS--0001: Error while parsing ETL script function dt_sub is not supported, maybe is op_sub cause: ParseException: function dt_sub is not supported, maybe is op_sub
DTS-RETRY-ERR-0378: An I/O error occurred while sending to the backend (.*)?
Causa provável: Os dados não podem ser gravados porque a comunicação de rede entre o DTS e o banco de dados de destino atingiu o tempo limite.
Solução:
Confirme que as conexões de rede com os bancos de dados de origem e destino foram restabelecidas e que ambos os bancos de dados estão em execução normal e acessíveis.
No console do DTS, clique em Restart para restart the DTS task. Erros de I/O não podem ser ignorados por meio de uma operação de "ignore". O console do DTS disponibiliza apenas a operação Restart, sem opção de "ignore".
O DTS possui um mecanismo de repetição automática integrado. Se o banco de dados de origem ou destino não puder ser conectado, o DTS tentará novamente por até 720 minutos por padrão. Caso a conexão de rede seja restabelecida durante esse período, a tarefa será retomada automaticamente sem intervenção manual.
Após reiniciar a tarefa, ela é retomada a partir do ponto em que foi interrompida. A migração de schema e a sincronização completa de dados não são executadas novamente.
Este erro é causado por falha na comunicação de rede e não afeta a consistência dos dados.
Exemplo de mensagem de erro:
DTS-100047: retry 11 times, 43315 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. PSQLException: An I/O error occurred while sending to the backend. SocketTimeoutException: Read timed out
DTS-RETRY-ERR-0379: Deadlock detected (.*)?
Causa provável: A inicialização da instância DTS falhou.
Solução: Reinicie o DTS task durante horários de baixo tráfego, quando a carga de CPU dos bancos de dados de origem e destino estiver abaixo de 30%.
Exemplo de mensagem de erro:
DTS-52110: PostgresRecordExtractor Init Error: postgresql-reader: DTS-52511: alter replica identity thread exception, readerContext=ReaderContext **** cause: CriticalAnyAllException: postgresql-reader: DTS-52511: alter replica identity thread exception ExecutionException: postgresql-reader: DTS--0001: alter table identity: **** failed, case by common: DTS-100047: retry 0 times, 2003 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 2003 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: deadlock detected Detail: Process 18023 waits for AccessShareLock on relation 122000 of database 16392; blocked by process 18028. Process 18028 waits for AccessExclusiveLock on relation 121960 of database 16392; blocked by process 18023. Hint: See server log for query details.
DTS-RETRY-ERR-0380: Index row size (.)? exceeds maximum (.)? for index (.*)?
Causa provável: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com a origem, impedindo a escrita de dados.
Solução: Verifique a mensagem de erro e o schema do banco de dados de origem e modifique o schema do banco de dados de destino para que seja consistente (ou compatível) com a origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 3798 times, 43209 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: index row size 3368 exceeds maximum 2712 for index "company_recommend_t****" Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** values **** on conflict do nothing was aborted: ERROR: index row size 3368 exceeds maximum 2712 for index "company_recommend_t****" Call getNextException to see other errors in the batch. PSQLException: ERROR: index row size 3368 exceeds maximum 2712 for index "company_recommend_t****"
DTS-RETRY-ERR-0381: Canceling statement due to statement timeout (.*)?
Causa provável: A inicialização da instância DTS falhou.
Solução: Reinicie o DTS task durante horários de baixo tráfego, quando a carga de CPU dos bancos de dados de origem e destino estiver abaixo de 30%.
Exemplo de mensagem de erro:
DTS-52110: PostgresRecordExtractor Init Error: postgresql-reader: DTS-52511: alter replica identity thread exception, readerContext=ReaderContext **** cause: CriticalAnyAllException: postgresql-reader: DTS-52511: alter replica identity thread exception ExecutionException: postgresql-reader: DTS--0001: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to statement timeout CriticalAnyAllException: postgresql-reader: DTS--0001: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to statement timeout
DTS-RETRY-ERR-0382: Violates foreign key constraint (.*)?
Causa provável: Os dados a serem sincronizados ou migrados contêm chaves estrangeiras, e a conta do banco de dados de destino não possui permissões suficientes (é necessária uma conta privilegiada ou superusuário).
Solução: Defina o parâmetro session_replication_role no banco de dados de destino como replica e depois restart the DTS task. Após a conclusão ou liberação da tarefa DTS, redefina session_replication_role para origin.
Se esse parâmetro não for configurado, poderá ocorrer inconsistência de dados em cenários especiais (como quando existem atualizações em cascata, exclusões em cascata ou triggers no banco de dados de destino).
Exemplo de mensagem de erro:
DTS-100047: retry 717 times, 7200 seconds, which exceed the supposed 7200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: insert or update on table **** violates foreign key constraint **** is not present in table ****. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** on conflict do nothing was aborted: ERROR: insert or update on table **** violates foreign key constraint **** is not present in table ****. Call getNextException to see other errors in the batch. PSQLException: ERROR: insert or update on table **** violates foreign key constraint **** is not present in table ****
DTS-RETRY-ERR-0383: Value too long for type (.*)?
Causa provável: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com a origem, impedindo a escrita de dados.
Solução: Verifique a mensagem de erro e o schema do banco de dados de origem e modifique o schema do banco de dados de destino para que seja consistente (ou compatível) com a origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect MULTILINESTRING value for column 'routes' at row 1 BatchUpdateException: Incorrect MULTILINESTRING value for column 'routes' at row 1 MysqlDataTruncation: Incorrect MULTILINESTRING value for column 'routes' at row 1
DTS-RETRY-ERR-0384: Function "TIMESTAMP" not found (.*)?
Causa provável: A condição de filtro configurada na tarefa DTS contém objetos que não existem no banco de dados de origem.
Solução:
Tarefa de sincronização: Use o recurso de modificação de objetos de sincronização para atualizar as Filter Conditions. Para mais informações, consulte What to do next.
Tarefa de migração: Reconfigure a tarefa de migração com a condição de filtro correta.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 247513824836871****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds DbException: Function "TIMESTAMP" not found [90022-193] JdbcSQLException: Function "TIMESTAMP" not found [90022-193]
DTS-RETRY-ERR-0385: Could not find a server with specified targetServerType: primary (.*)?
Causa provável: O banco de dados de destino configurado para a tarefa DTS não é o nó primário, o que impede a escrita de dados.
Solução: Entre em contato com o administrador de banco de dados (DBA) para resolver o problema e depois restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 1 times, 43335 seconds, which exceed the supposed 43200 seconds cause: DBCommonException: jdbc-burst: DTS-61015: Create connection failed **** PSQLException: Could not find a server with specified targetServerType: primary
DTS-RETRY-ERR-0386: Syntax error at or near (.*)? alter table identity
Causa provável: O nome da tabela no banco de dados de origem ou de destino contém caracteres especiais.
Solução: Entre em contato com o suporte da Alibaba Cloud para obter assistência.
Exemplo de mensagem de erro:
DTS-52110: PostgresRecordExtractor Init Error: postgresql-reader: DTS-52511: alter replica identity thread exception, readerContext=ReaderContext**** cause: CriticalAnyAllException: postgresql-reader: DTS-52511: alter replica identity thread exception ExecutionException: postgresql-reader: DTS-00035: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: syntax error at or near **** Position: 35 CriticalAnyAllException: postgresql-reader: DTS-00035: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: syntax error at or near ****
DTS-RETRY-ERR-0387: Terminating connection due to administrator command (.*)?
Causa provável: A conexão entre o DTS e o banco de dados foi encerrada manualmente.
Solução: Verifique a mensagem de erro e o schema do banco de dados de origem e modifique o schema do banco de dados de destino para que seja consistente (ou compatível) com a origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect INET value for column 'ip_address' at row 1 BatchUpdateException: Incorrect INET value for column 'ip_address' at row 1 MysqlDataTruncation: Incorrect INET value for column 'ip_address' at row 1
DTS-RETRY-ERR-0388: Index row size (.)? exceeds btree version (.)? maximum (.*)? for index
Causa provável: O schema do banco de dados de destino (como tipos ou comprimentos de colunas) é inconsistente com a origem, impedindo a escrita de dados.
Solução: Verifique a mensagem de erro e o schema do banco de dados de origem e modifique o schema do banco de dados de destino para que seja consistente (ou compatível) com a origem. Restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 4252 times, 43206 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: index row size 2808 exceeds btree version 4 maximum 2704 for index **** Detail: Index row references tuple (7968098,6) in relation ****. Hint: Values larger than 1/3 of a buffer page cannot be indexed. Consider a function index of an MD5 hash of the value, or use full text indexing. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** on conflict do nothing was aborted: ERROR: index row size 2808 exceeds btree version 4 maximum 2704 for index ****" Detail: Index row references tuple (7968098,6) in relation ****. Hint: Values larger than 1/3 of a buffer page cannot be indexed. Consider a function index of an MD5 hash of the value, or use full text indexing. Call getNextException to see other errors in the batch. PSQLException: ERROR: index row size 2808 exceeds btree version 4 maximum 2704 for index **** Detail: Index row references tuple (7968098,6) in relation ****. Hint: Values larger than 1/3 of a buffer page cannot be indexed. Consider a function index of an MD5 hash of the value, or use full text indexing.
DTS-RETRY-ERR-0390: Invalid column index
Causa provável: Os dados a serem sincronizados ou migrados do banco de dados de origem contêm índices inválidos.
Solução:
Tarefa de sincronização: Use o recurso Modify Objects para remover os objetos com índices inválidos do escopo de sincronização e depois restart the DTS task.
Tarefa de migração: Reconfigure a tarefa DTS excluindo os objetos com índices inválidos do escopo de migração.
Exemplo de mensagem de erro:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: oracle-reader: DTS-52340: Serializer redo log entry failed CriticalAnyAllException: oracle-reader: DTS--0001: execute sql select *** from *** where *** in (?) failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: oracle-reader: DTS-52340: Invalid column index SQLException: Invalid column index
DTS-RETRY-ERR-0392: InvalidWireTypeException: Protocol message tag had invalid wire type
Causa provável: O Kafka Data Source Component do banco de dados TiDB está configurado incorretamente.
Solução: Reconfigure a tarefa DTS e selecione o Kafka Data Source Component correto para o seu cenário.
Exemplo de mensagem de erro:
DTS-31009: In process of processing data (recordRange: 8118513945741****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds RuntimeException: seek timestamp for topic [****-0] with timestamp [17386372****] failed InvalidWireTypeException: Protocol message tag had invalid wire type.
DTS-RETRY-ERR-0397: An I/O error occurred while sending to the backend. SocketTimeoutException: Read timed out
Causa provável: Timeout na comunicação de rede entre o DTS e o banco de dados.
Solução: Verifique se o banco de dados está funcionando normalmente e se o DTS consegue se conectar a ele e, em seguida, restart the DTS task.
Exemplo de mensagem de erro:
DTS-100047: retry 11 times, 43315 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-kv7n180xb34815h */insert into ****** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 ****** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. PSQLException: An I/O error occurred while sending to the backend. SocketTimeoutException: Read timed out
DTS-RETRY-ERR-0398: Cannot get offset for timestamp
Causa provável | Solução |
A tarefa DTS ficou pausada por tempo excessivo. Após a reinicialização, os dados no offset correspondente não estão mais disponíveis no cache do DTS. | Primeiro, tente modify the offset of the DTS instance. Se o problema persistir, escolha uma das opções a seguir de acordo com o seu cenário: (1) Verifique se o intervalo de tempo dos logs usados para análise de dados incrementais no banco de dados de origem (como Binlog ou Redolog) inclui o ponto de tempo necessário. Se incluir, tente ler os dados novamente em segundo plano. Caso contrário, reconfigure a tarefa DTS. (2) Reconfigure a tarefa DTS. Importante Não pause uma tarefa DTS por um período prolongado. Após pausar uma tarefa DTS, a janela máxima para reinicialização bem-sucedida é de 7 dias. Se o banco de dados de origem tiver alto volume de gravações, essa janela será menor. |
A tarefa DTS ficou com falha por tempo excessivo. Após a correção, os dados no offset correspondente não estão mais disponíveis no cache do DTS. | Reconfigure a tarefa DTS. Importante Não pause uma tarefa DTS por um período prolongado. Após pausar uma tarefa DTS, a janela máxima para reinicialização bem-sucedida é de 7 dias. Se o banco de dados de origem tiver alto volume de gravações, essa janela será menor. |
A migração completa ou a sincronização completa levou tempo excessivo. O DTS pode ter removido os logs de dados armazenados em cache necessários para a análise incremental. Durante a migração completa ou a sincronização completa, o DTS armazena localmente os logs de dados do banco de dados de origem das últimas 24 horas ou até 50 GB. | Reconfigure a tarefa DTS. Importante Antes de configurar uma tarefa DTS, avalie o volume de dados a ser migrado ou sincronizado. Se o volume for grande, divida-o em múltiplas tarefas de migração ou sincronização. |
Exemplo de mensagem de erro:
DTS-073102: Record Crawler error. cause by [Cannot get offset for timestamp: 1733994****] About more information in ****
DTS-RETRY-ERR-0399: Cannot open backup device
Causa provável: Os logs do banco de dados de origem foram removidos.
Solução: Utilize um dos métodos a seguir:
Método 1: Entre em contato com o administrador do banco de dados (DBA) de origem para resolver o problema e, em seguida, restart the DTS task.
Método 2: Reconfigure a tarefa DTS.
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 20124 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open backup device **** Operating system error 2(The system cannot find the file specified).
DTS-RETRY-ERR-0400: Cannot open database (.*)? requested by the login. The login failed
|
Causa provável |
Solução |
|
O banco de dados de origem não pode ser conectado. |
Verifique se o DTS consegue se conectar normalmente ao banco de dados de origem e, em seguida, restart the DTS task. |
|
Os logs do banco de dados de origem foram removidos. |
Entre em contato com o administrador do banco de dados (DBA) de origem para resolver o problema e, em seguida, restart the DTS task. Outra opção é reconfigurar a tarefa DTS. |
Exemplo de mensagem de erro:
DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "****" requested by the login. The login failed. ClientConnectionId:778b469a-d689-4**** SQLServerException: Cannot open database "****" requested by the login. The login failed.