日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

常見(jiàn)錯(cuò)誤碼及排查方法

更新時(shí)間:

本文介紹DTS的常見(jiàn)錯(cuò)誤碼、報(bào)錯(cuò)原因及排查方法,幫助您進(jìn)行初步的報(bào)錯(cuò)排查。文中提及的報(bào)錯(cuò)示例僅供參考,實(shí)際遇到的報(bào)錯(cuò)可能不完全一樣。

錯(cuò)誤碼

報(bào)錯(cuò)說(shuō)明

報(bào)錯(cuò)示例

可能的解決方法

DTS-51009

DTS寫(xiě)入模塊讀取DTS緩存模塊時(shí),顯示連接超時(shí)。

DTS-31009: In process of processing data (recordRange: 5799806987638145024) failed cause: CriticalAnyAllException: capture-dstore: DTS-51009: Failed to fetch records from dstore TimeoutException: Failed to get offsets by times in 120000 ms

  • 原因:網(wǎng)絡(luò)抖動(dòng)等原因?qū)е庐?dāng)前數(shù)據(jù)寫(xiě)入模塊連接緩存模塊超時(shí)。

  • 解決方法:您可以嘗試重啟任務(wù),查看重啟后任務(wù)是否恢復(fù)正常。

DTS-50019

DTS寫(xiě)入模塊讀取不到DTS緩存模塊中指定時(shí)間點(diǎn)的數(shù)據(jù)。

DTS-31009: In process of processing data (recordRange: 9117052685537771520) failed cause: CriticalAnyAllException: capture-dstore: DTS-51009: Failed to fetch records from dstore CriticalAnyAllException: capture-dstore: DTS-50019: seek timestamp for topic [-0] with position [{"timestamp":1621516671, "offset":-1}] failed

  • 原因1:任務(wù)暫停過(guò)久,重啟后DTS緩存模塊中已沒(méi)有相應(yīng)位點(diǎn)(2021-5-20 21:17:51)的數(shù)據(jù)。

    說(shuō)明

    報(bào)錯(cuò)提示顯示的時(shí)間格式為Unix時(shí)間戳,您可用搜索引擎獲取Unix時(shí)間戳轉(zhuǎn)換工具,將Unix時(shí)間戳轉(zhuǎn)換為UTC時(shí)間。

    解決方法1:請(qǐng)查看源庫(kù)中用于增量數(shù)據(jù)解析的日志(如Binlog或Redolog等),其時(shí)間范圍是否包括該時(shí)間點(diǎn),如包括,請(qǐng)聯(lián)系阿里云技術(shù)支持由后臺(tái)嘗試重新讀取數(shù)據(jù),若不包括,則需重新創(chuàng)建任務(wù)。

    解決方法2:需重新創(chuàng)建任務(wù)。后續(xù)執(zhí)行任務(wù)時(shí),請(qǐng)勿長(zhǎng)時(shí)間暫停任務(wù),暫停超過(guò)6個(gè)小時(shí),任務(wù)將不能成功啟動(dòng)。

  • 原因2:任務(wù)失敗過(guò)久,修復(fù)后DTS緩存模塊中已沒(méi)有相應(yīng)位點(diǎn)的數(shù)據(jù)。

    解決方法:需重新創(chuàng)建任務(wù)。后續(xù)執(zhí)行任務(wù)時(shí),如遇任務(wù)報(bào)錯(cuò),請(qǐng)盡快修復(fù)問(wèn)題并恢復(fù)任務(wù),避免任務(wù)因失敗過(guò)久而無(wú)法恢復(fù)。

  • 原因3:全量遷移或全量同步期間,DTS本地會(huì)循環(huán)存儲(chǔ)源庫(kù)近24小時(shí)或者50 GB的數(shù)據(jù)日志,用于增量數(shù)據(jù)解析。如果全量遷移或全量同步持續(xù)時(shí)間較長(zhǎng),DTS本地可能已經(jīng)清除全量任務(wù)啟動(dòng)后緩存的數(shù)據(jù)日志,導(dǎo)致用于增量解析的數(shù)據(jù)日志不完整。

    解決方法:需重新創(chuàng)建任務(wù)。創(chuàng)建任務(wù)前,請(qǐng)?jiān)u估遷移或同步數(shù)據(jù)量,如數(shù)據(jù)量較大,建議拆分成多個(gè)遷移或同步任務(wù)。

DTS-30018,DTS-30019,DTS-70019

列不存在。

DTS-30019: Can not find column [column_in_source<-->column_in_target] in target table db_name.table_name

DTS-70019: Can not find column[column_in_source<-->column_in_target]in target table db_name.table_name

  • 可能原因

    • 原因1:配置任務(wù)時(shí)未選擇結(jié)構(gòu)遷移,從而導(dǎo)致源端和目標(biāo)端的表結(jié)構(gòu)不一致。

    • 原因2:任務(wù)配置后,在源端或目標(biāo)端執(zhí)行DDL修改了表結(jié)構(gòu),從而導(dǎo)致源端和目標(biāo)端的表結(jié)構(gòu)不一致。

  • 解決方法:調(diào)整源端和目標(biāo)端的表結(jié)構(gòu),確保兩端表結(jié)構(gòu)一致。

說(shuō)明

如果您的實(shí)際不符合以上原因,請(qǐng)嘗試以下方法:

  • 嘗試重啟任務(wù)看能否恢復(fù)。

  • 嘗試將報(bào)錯(cuò)的表從同步對(duì)象刪除并重新添加,看能否恢復(fù)任務(wù)。

DTS-10046,DTS-30020

SQL執(zhí)行異常。

DTS-10046: execute sql: CREATE TABLE if not exists`dts`.`table_name` ( `id` int(11) NOTNULL,`column1` bigint(20) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULTCHARSET=utf8 failed. Create TransactionTable failed. cause:MySQLSyntaxErrorException: CREATE command denied to user 'username'@'ip_address' for table 'table_name'

一般情況下,伴隨此錯(cuò)誤碼,系統(tǒng)會(huì)同時(shí)輸出數(shù)據(jù)庫(kù)層面的具體報(bào)錯(cuò)信息。請(qǐng)參考具體報(bào)錯(cuò)內(nèi)容,檢查錯(cuò)誤消息中的SQL語(yǔ)句并進(jìn)行修復(fù)。

  • 可能原因:數(shù)據(jù)庫(kù)賬號(hào)缺失CREATE TABLE權(quán)限。

  • 解決方法:檢查權(quán)限并賦予相應(yīng)權(quán)限。

DTS-70004

SQL執(zhí)行異常。

DTS-70004: execute statement failed: /*dts_id=dtsaaaaaaaaaa*/alter table`xxx`.`yyy` modify column `aaa` INT default 0 comment 'bbb' cause:SQLException: [15018, 2021030506452201000000420803151947572] modify column type is not supported, col=x, oldType=bigint, newType=int

一般情況下,目標(biāo)庫(kù)為AnalyticDB MySQL時(shí),會(huì)出現(xiàn)示例報(bào)錯(cuò)信息。

  • 可能原因:鏈路不支持該類型的DDL操作,從而導(dǎo)致DDL執(zhí)行失敗。

  • 解決方法

    • 非整庫(kù)同步:建議重新同步這張表(即先從同步對(duì)象中去掉,然后刪除目標(biāo)庫(kù)的表,再把這張表加入到同步對(duì)象中)。DTS會(huì)重新進(jìn)行包括Schema拉取的全量同步,這樣會(huì)跳過(guò)此類型的DDL操作。

    • 整庫(kù)同步:在AnalyticDB MySQL中新建一張表,表名要不同于報(bào)錯(cuò)的表,表結(jié)構(gòu)需要和源表的表結(jié)構(gòu)一致。通過(guò)INSERT INTO SELECT將源表中的數(shù)據(jù)寫(xiě)入新建表中,刪除報(bào)錯(cuò)的表,然后通過(guò)RENAME將新表更名為報(bào)錯(cuò)的表名,重啟DTS任務(wù)即可。

DTS-70004:execute statement failed: /*aaaaaaaaaaMysqlEngine(28)*/update `xxx`.`yyy` set... error detail message:Server shutdown in progress MySQLNonTransientConnectionException: Server shutdown in progress

  • 可能原因:目標(biāo)庫(kù)執(zhí)行了SHUTDOWN操作。

  • 解決方法:確認(rèn)目標(biāo)庫(kù)正常后,重啟鏈路。

DTS-70004:execute statement failed: /*aaaaaaaaaaMysqlEngine(27)*/update `xxx`.`yyy` set... cause: SQLException: null, message from server: "Host '192.10.XX.XX' isnot allowed to connect to this MySQL server"

說(shuō)明

修復(fù)完成后,需要重啟任務(wù)。

DTS-70004: execute statement failed: /*bg6l15vf29l1b0vMysqlEngine(16)*/insertinto `xxx`.`yyy` ... error detail message:Table 'xxx.yyy' doesn't existMySQLSyntaxErrorException: Table 'xxx.yyy' doesn't exist

  • 可能原因:對(duì)應(yīng)表不存在。

  • 解決方法

    • 檢查該表在目標(biāo)庫(kù)是否已被刪除。

    • 檢查結(jié)構(gòu)遷移中是否把該表已同步。

說(shuō)明

修復(fù)完成后,需要重啟任務(wù)。

o3z5bntMysqlEngine(0)*/insert into`xxx`.`yyy` ...error detail message:Column 'aaa' cannot be nullMySQLIntegrityConstraintViolationException: Column 'aaa' cannot be null

  • 可能原因:不符合數(shù)據(jù)庫(kù)的完整性規(guī)范約束,例如,不允許為空的列插入了NULL。

  • 解決方法:檢查表結(jié)構(gòu)和DML語(yǔ)句涉及的記錄,確保源和目的表結(jié)構(gòu)一致,或者訂正數(shù)據(jù)后重啟任務(wù)。

DTS-70004: execute statement failed:/*s2gb356ds228bt8MysqlEngine(0)*/insert into `xxx`.`yyy` (`...`)values(...)error detail message:INSERT command denied to user'user'@'100.104.175.31' for table 'yyy' MySQLSyntaxErrorException: INSERTcommand denied to user 'user'@'100.104.175.31' for table 'yyy'

  • 可能原因:目標(biāo)庫(kù)賬號(hào)相關(guān)權(quán)限不足。

  • 解決方法:檢查目的庫(kù)賬號(hào)是否具有報(bào)錯(cuò)信息中提示的權(quán)限,如有缺失,補(bǔ)足權(quán)限后重啟任務(wù)。

DTS-70002

無(wú)法連接數(shù)據(jù)庫(kù),或?qū)?yīng)的庫(kù)/表不存在。

DTS-70002: get table detail info failed after 151times (user: db_name, database:table_name) MySQLSyntaxErrorException: Table 'db_name.table_name'doesn't exist

  • 可能原因:結(jié)構(gòu)遷移報(bào)錯(cuò),導(dǎo)致相應(yīng)表沒(méi)有遷移到目標(biāo)端,也未在目標(biāo)端手動(dòng)創(chuàng)建表結(jié)構(gòu)。

  • 解決方法:根據(jù)報(bào)錯(cuò)信息中的內(nèi)容檢查庫(kù)或表是否存在。若不存在:

    • 同步任務(wù):將報(bào)錯(cuò)的表從同步對(duì)象中移除并重新添加,看能否恢復(fù)任務(wù)。

    • 遷移任務(wù):重建鏈路。

DTS-60001

無(wú)法連接到源端數(shù)據(jù)庫(kù)。

DTS-60001: Create connection failed (url:ip_address:port, user: username) cause: SQLException: Access denied for user'username'@'ip_address' (using password: YES)

  • 可能原因:用戶名或密碼不正確。

  • 解決方法:輸入正確的用戶名和密碼,并重啟任務(wù)。

說(shuō)明

若您的實(shí)際不符合上述原因,請(qǐng)嘗試以下方法:

DTS-61015

無(wú)法連接到源端數(shù)據(jù)庫(kù)。

DTS-61015: Create connection failed(url:ip_address:port, user: username) cause:MySQLNonTransientConnectionException: Data source rejected establishment ofconnection, message from server: "Too many connections"

  • 可能原因:源端數(shù)據(jù)庫(kù)連接數(shù)過(guò)多。

  • 解決方法:調(diào)整源端數(shù)據(jù)庫(kù)的最大連接數(shù),并重啟任務(wù)。

說(shuō)明

若您的實(shí)際不符合上述原因,請(qǐng)嘗試以下方法:

DTS-71016

無(wú)法連接到目標(biāo)端數(shù)據(jù)庫(kù)。

  • 【示例1】DTS-71016: connect target failed (url: jdbc:mysql://ip_address:port?parameters)cause: MySQLNonTransientConnectionException: Data source rejected establishmentof connection, message from server: "Too many connections"

  • 【示例2】DTS-71016: connect target failed (url: jdbc:mysql://ip_address:port?parameters)cause: SQLException: null, message from server: "Host 'ip_address' isblocked because of many connection errors; unblock with 'mysqladminflush-hosts'"

  • 可能原因

    • 原因【示例1】:目標(biāo)端數(shù)據(jù)庫(kù)連接數(shù)過(guò)多。

    • 原因【示例2】:同一個(gè)IP地址在短時(shí)間內(nèi)產(chǎn)生太多失敗的數(shù)據(jù)庫(kù)連接,從而導(dǎo)致連接被阻塞。

  • 解決方法

    • 解法【示例1】:調(diào)整目標(biāo)端數(shù)據(jù)庫(kù)的最大連接數(shù),并重啟任務(wù)。

    • 解法【示例2】:在目標(biāo)端數(shù)據(jù)庫(kù)側(cè)修復(fù)問(wèn)題(比如提高MAX_CONNECTION_ERRORS的值)后,重啟任務(wù)。

DTS-10015

無(wú)法連接到Redis。

DTS-10015: unreachable redis network.JedisConnectionException: Could not get a resource from the poolJedisConnectionException: Failed connecting to ip_address:portConnectException: Connection timed out (Connection timed out)

  • 可能原因:Redis服務(wù)器異常,導(dǎo)致無(wú)法連接。

  • 解決方法:請(qǐng)檢查Redis服務(wù)端狀態(tài),是否能正常連接,并修復(fù)Redis問(wèn)題。

DTS-30005

內(nèi)部處理中保存元數(shù)據(jù)信息失敗

DTS-30005: save changed job progress info failed cause: SQLException:result content unexpected. expect 3 time 1, actually [2, 1, 1]

  • 可能原因:源庫(kù)存在表名相同,但是大小寫(xiě)不同的表(如,TABLE和table),DTS當(dāng)前不支持這種形式。

  • 解決方法:檢查源庫(kù)并核實(shí)業(yè)務(wù)邏輯,修改源庫(kù)中其中1個(gè)表名,并重建任務(wù)。

DTS-30011

寫(xiě)數(shù)據(jù)異常

DTS-30011:put 2048 records error, currentRunningSQL:insert ignore into `xxx`.`yyy`(...), currentRunningRecordRange:{id:5362875948821643265,xxx.yyy,field:DefaultRecordField:{fieldName=aaa, dataType={typeName:BIGINT, typeId:-5, isLobType:false,encoding:null}, sourceDataType=null, aliases=[], defaultValue=null,nullable=false, unique=true, primary=true,generated=false},leftValue:1293615822270500864,rightValue:1311217506282770432,partition:null}cause: BatchUpdateException: The table 'yyy' is full SQLException: The table'yyy' is full

  • 可能原因

    • 原因1:磁盤(pán)空間滿。

    • 原因2:表的大小已達(dá)上限。

  • 解決方法

    • 解法1:擴(kuò)容磁盤(pán)后重啟任務(wù)。

    • 解法2:在數(shù)據(jù)庫(kù)層面解決表的上限值問(wèn)題。解決后重啟任務(wù)。

      說(shuō)明

      針對(duì)MySQL數(shù)據(jù)庫(kù),表的上限值設(shè)置,可參考B.3.2.10 The table is full

DTS-30011: put 2048 records error, currentRunningSQL:insert ignore into`xxx`.`yyy`(...:{id:4958981218625388545,schema:xxx.yyy,field:DefaultRecordField:{fieldName=aaa, dataType={typeName:INTEGER, typeId:4, isLobType:false,encoding:null}, sourceDataType=null, aliases=[], defaultValue=null,nullable=false, unique=true, primary=true,generated=false},leftValue:512021,rightValue:1024022,partition:null} cause:BatchUpdateException: Lock wait timeout exceeded; try restarting transactionMySQLTransactionRollbackException: Lock wait timeout exceeded; try restartingtransaction

  • 可能原因:目標(biāo)庫(kù)存在鎖等待超時(shí)。

  • 解決方法:目標(biāo)庫(kù)為MySQL時(shí),可通過(guò)以下命令檢查目標(biāo)庫(kù)鎖的狀況。

    SHOW FULL PROCESSLIST;
    SELECT
    * FROM innodb_trx;
    說(shuō)明

    修復(fù)完成后,需要重啟任務(wù)。

DTS-30011: put 2048 records error, currentRunningSQL:insert ignore into`xxx`.`yyy`(`...,currentRunningRecordRange:{id:4050997257913237860,schema:xxx.yyy,field:DefaultRecordField:{fieldName=id, dataType={typeName:BIGINT, typeId:-5, isLobType:false, encoding:null},sourceDataType=null, aliases=[], defaultValue=null, nullable=false,unique=true, primary=true,generated=false},leftValue:5424204045,rightValue:5424982251,partition:null}cause: SQLException: The MySQL server is running with the --read-only option soit cannot execute this statement

  • 可能原因:目標(biāo)庫(kù)的狀態(tài)為Read-Only。

  • 解決方法

    • 通過(guò)SELECT @@read_only;語(yǔ)句檢查目標(biāo)庫(kù)的狀態(tài)是否為只讀狀態(tài)。

    • 通過(guò)SET GLOBAL read_only=0;語(yǔ)句關(guān)閉只讀狀態(tài)。

    說(shuō)明

    關(guān)閉只讀狀態(tài)后,需要重啟任務(wù)。

DTS-1051009

DTS解析MySQL數(shù)據(jù)庫(kù)Binlog日志異常。

java.IOEException: java.lang.IllegalArgumentException: Valid type fail, Column:column_name,Type:type_number

  • 可能原因:Binlog中的表結(jié)構(gòu)與DTS本地的表結(jié)構(gòu)不一致,導(dǎo)致Binlog解析失敗。出現(xiàn)這種表結(jié)構(gòu)不一致主要的原因是:該表結(jié)構(gòu)變更DDL語(yǔ)句未記錄到Binlog中,導(dǎo)致DTS解析不到DDL,未更新本地存儲(chǔ)的表結(jié)構(gòu)。例如:執(zhí)行SET SESSION sql_log_bin=0語(yǔ)句修改某個(gè)表的字段類型,比如INT(11)修改為BIGINT(20)。

  • 解決方法:請(qǐng)聯(lián)系阿里云技術(shù)支持重新加載DTS本地存儲(chǔ)的表結(jié)構(gòu)。