【 使用环境 】测试环境
【 需求 】排查原因,如果是产品问题,是否有排期修复?
【 OB or 其他组件 】observer4250 oracle租户(单机),oracle19c
【问题描述】ob创建到oracle的dblink,无法访问oracle的xmltype类型的数据,报错:ERROR-64130: Unknown error
oracle19c的建表语句和插入数据sql
CREATE TABLE employees (
emp_id NUMBER PRIMARY KEY,
emp_info XMLType
);
INSERT INTO employees (emp_id, emp_info) VALUES (
1,
XMLType(‘John DoeHR’)
);
而创建一个tt表(id int),插入(1),能通过dblink查询。证明dblink可以使用。
【复现路径】
【附件及日志】
查询employees报错日志
[root@ob1 log]# grep YB42C0A8025B-00064A9432FF29BA-0-0 observer.log
[2026-02-12 06:59:33.724309] WDIAG [LIB.OCI] get_oci_path (ob_oci_environment.cpp:1043) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=4][errcode=0] LD_LIBRARY PATH: (ObString(env_str)=/home/admin/oceanbase/lib:)
[2026-02-12 06:59:34.263836] WDIAG [LIB.OCI] get_next (ob_oci_resultset.cpp:391) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=27][errcode=-4008] oci result failed to get row(ret=-4008)
[2026-02-12 06:59:34.265011] INFO [LIB.OCI] create_dblink_pool (ob_oracle_oci_connection.cpp:541) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=46] new dblink pool created(host_name=192.168.2.69, config_.sqlclient_per_observer_conn_limit_=256)
[2026-02-12 06:59:34.362798] WDIAG [SQL.ENG] combine_link_stmt (ob_link_op.cpp:324) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=12][errcode=0] succ to combine link sql(stmt_buf_=0x7ff522280a20, stmt_buf_pos_=155, ObString(stmt_buf_pos_, stmt_buf_)=select /*+ QUERY_TIMEOUT(10000000) FLASHBACK_READ_TX_UNCOMMITTED */“FORDBA”.“EMPLOYEES”.“EMP_ID”,“FORDBA”.“EMPLOYEES”.“EMP_INFO” from “FORDBA”.“EMPLOYEES”)
[2026-02-12 06:59:34.392212] WDIAG [LIB.OCI] report_error (ob_oci_environment.cpp:1009) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=44][errcode=1406] failed to get error msg(ret=1406, ObString(err_ctx.err_msg_)=ORA-01406: fetched column value was truncated
[2026-02-12 06:59:34.392266] WDIAG [LIB.OCI] inner_get_row (ob_oci_resultset.cpp:113) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=52][errcode=1406] call oci api failed(ret=1406)
[2026-02-12 06:59:34.392281] WDIAG [LIB.OCI] get_next (ob_oci_resultset.cpp:391) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=14][errcode=1406] oci result failed to get row(ret=1406)
[2026-02-12 06:59:34.392286] WDIAG [LIB.OCI] next (ob_dblink_oracle_result.cpp:60) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=4][errcode=1406] failed to get result(ret=1406)
[2026-02-12 06:59:34.392291] WDIAG [SQL.ENG] fetch_row (ob_link_scan_op.cpp:410) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=5][errcode=1406] failed to get next row(ret=1406)
[2026-02-12 06:59:34.392296] WDIAG [SQL.ENG] inner_get_next_batch (ob_link_scan_op.cpp:499) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=4][errcode=1406] inner get next row failed(ret=1406)
[2026-02-12 06:59:34.392302] WDIAG [SQL.ENG] get_next_batch (ob_operator.cpp:1156) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=4][errcode=1406] get next batch failed(ret=1406, eval_ctx={batch_idx:0, batch_size:16, max_batch_size:16, frames_:0x7ff5222798a0}, id=0, op_name=“PHY_LINK_SCAN”)
[2026-02-12 06:59:34.392313] WDIAG [SQL.ENG] get_next_row (ob_operator.cpp:1459) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=10][errcode=1406] get next batch failed(ret=1406)
[2026-02-12 06:59:34.392318] WDIAG [SQL] inner_get_next_row (ob_result_set.cpp:481) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=3][errcode=1406] get next row from exec result failed(ret=1406)
[2026-02-12 06:59:34.392323] WDIAG [SERVER] response_query_result (ob_query_driver.cpp:332) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=5][errcode=1406] fail to iterate and response(ret=1406, row_num=0, can_retry=true)
[2026-02-12 06:59:34.392330] WDIAG [SERVER] response_result (ob_sync_plan_driver.cpp:104) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=6][errcode=1406] response query result fail(ret=1406)
[2026-02-12 06:59:34.392337] WDIAG [SERVER] after_func (ob_query_retry_ctrl.cpp:1043) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=4][errcode=1406] [RETRY] check if need retry(v={force_local_retry:false, stmt_retry_times:0, local_retry_times:0, err_:1406, err_:“Unknown error”, retry_type:0, client_ret:1406}, need_retry=false)
[2026-02-12 06:59:34.392346] WDIAG [SERVER] response_result (ob_sync_plan_driver.cpp:116) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=8][errcode=1406] result response failed, check if need retry(ret=1406, cli_ret=1406, retry_ctrl_.need_retry()=0)
[2026-02-12 06:59:34.392410] WDIAG [SERVER] response_result (ob_sync_plan_driver.cpp:126) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=4][errcode=1406] close result set fail(cret=1406)
[2026-02-12 06:59:34.392488] INFO [SERVER] send_error_packet (obmp_packet_sender.cpp:380) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=10] sending error packet(ob_error=1406, client error=-1, extra_err_info=NULL, lbt()=“0x17d83636 0xc5d53e0 0xc577835 0x21e1d8d6 0x21e81f8a 0x21fc8eb2 0x21ff0b12 0x22355172 0xc4ac054 0x220d9a8a 0x7ff62080cea5 0x7ff62053596d”)
[2026-02-12 06:59:34.392545] WDIAG [SERVER] do_process (obmp_query.cpp:834) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=39][errcode=1406] execute query fail(ret=1406, timeout_timestamp=1770850783724081)
[2026-02-12 06:59:34.392646] WDIAG [SQL.PC] common_free (ob_lib_cache_object_manager.cpp:141) [7253][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF29BA-0-0] [lt=7][errcode=0] set logical del time(cache_obj->get_logical_del_time()=5113532893, cache_obj->added_lc()=false, cache_obj->get_object_id()=566, cache_obj->get_tenant_id()=1002, lbt()=“0x17d83636 0xd11822e 0x21e3942c 0x21e836db 0x21fc8eb2 0x21ff0b12 0x22355172 0xc4ac054 0x220d9a8a 0x7ff62080cea5 0x7ff62053596d”)
[root@ob1 log]#
查询tt表成功日志
[root@ob1 log]# grep YB42C0A8025B-00064A9432FF2D6C-0-0 observer.log
[2026-02-12 07:08:44.928648] WDIAG [LIB.OCI] get_next (ob_oci_resultset.cpp:391) [7263][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF2D6C-0-0] [lt=44][errcode=-4008] oci result failed to get row(ret=-4008)
[2026-02-12 07:08:44.932300] WDIAG [SQL.ENG] combine_link_stmt (ob_link_op.cpp:324) [7263][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF2D6C-0-0] [lt=45][errcode=0] succ to combine link sql(stmt_buf_=0x7ff53087ff00, stmt_buf_pos_=105, ObString(stmt_buf_pos_, stmt_buf_)=select /*+ QUERY_TIMEOUT(10000000) FLASHBACK_READ_TX_UNCOMMITTED */“FORDBA”.“TT”.“ID” from “FORDBA”.“TT”)
[2026-02-12 07:08:44.945817] WDIAG [LIB.OCI] get_next (ob_oci_resultset.cpp:391) [7263][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF2D6C-0-0] [lt=45][errcode=-4008] oci result failed to get row(ret=-4008)
[2026-02-12 07:08:44.946002] WDIAG [SQL.PC] common_free (ob_lib_cache_object_manager.cpp:141) [7263][T1002_L0_G0][T1002][YB42C0A8025B-00064A9432FF2D6C-0-0] [lt=49][errcode=0] set logical del time(cache_obj->get_logical_del_time()=5664086273, cache_obj->added_lc()=false, cache_obj->get_object_id()=645, cache_obj->get_tenant_id()=1002, lbt()=“0x17d83636 0xd11822e 0x21e3942c 0x21e836db 0x21fc8eb2 0x21ff0b12 0x22355172 0xc4ac054 0x220d9a8a 0x7ff62080cea5 0x7ff62053596d”)
[root@ob1 log]#
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!


