乱伦亚洲av动漫yw_综合亚洲乱中文字幕_亚洲色欧美国产综合_婷婷五月天成人网_福利国语自产拍在线视频中文_毛片一级片电影在线观看视频_4480YY私人影院免费无码_人妻无码精品二专区

×
技術(shù)社區(qū) >  技術(shù)博客 >  OceanBase 4.2 Oracle 模式 DBLINK 報(bào)錯(cuò) ORA-00600 [-4016] 實(shí)戰(zhàn)解決

OceanBase 4.2 Oracle 模式 DBLINK 報(bào)錯(cuò) ORA-00600 [-4016] 實(shí)戰(zhàn)解決

使用 OceanBase Oracle 模式通過(guò) DBLINK 跨庫(kù)執(zhí)行INSERT/DELETE時(shí),遭遇ORA-00600 internal error code, arguments: -4016報(bào)錯(cuò)?

本文結(jié)合真實(shí)生產(chǎn)環(huán)境復(fù)現(xiàn)場(chǎng)景,手把手帶你定位根因!

問(wèn)題描述

OceanBase 4.2.1.10

Oracle模式

目前碰到的情況是,這種形式的語(yǔ)句無(wú)法執(zhí)行成功:

obclient> insert into T_REMOTE@dblinktest select * from T_LOCAL;
ORA-00600: internal error code, arguments: -4016, check if the database link was created with local credentials
obclient> delete from T_REMOTE@dblinktest where ID1 in (select ID1 from T_LOCAL);
ORA-00600: internal error code, arguments: -4016, check if the database link was created with local credentials

排查過(guò)程

復(fù)現(xiàn):

目標(biāo)端:
obclient -hxx.xx.xx.xx -P2883 -uSYS@zwb_ceshi#ob42110 -paaAA11__ -A
源端:
obclient -hxx.xx.xx.xx -P2883 -uSYS@ora4252#ob4252 -paaAA11__ -A

目標(biāo)端數(shù)據(jù)準(zhǔn)備
CREATE TABLE T1 (
ID1 NUMBER
);

源端數(shù)據(jù)準(zhǔn)備
CREATE DATABASE LINK dblinktest CONNECT TO SYS@zwb_ceshi IDENTIFIED BY aaAA11__  HOST 'xx.xx.xx.xx:2883' CLUSTER "ob42110";

CREATE TABLE T2 (
ID1 NUMBER
);

obclient [SYS]> insert into T1@dblinktest  select * from t2;
ORA-00600: internal error code, arguments: -4016, check if the database link was created with local credentials

obclient [SYS]> delete from T1@dblinktest where ID1 in (select ID1 from T2);
ORA-00600: internal error code, arguments: -4016, check if the database link was created with local credentials

目標(biāo)端:

源端:


測(cè)試發(fā)現(xiàn)確實(shí)無(wú)法進(jìn)行插入刪除操作。

關(guān)鍵日志信息:

[2026-02-10 17:33:11.520756] WDIAG [SQL.ENG] send_reverse_link_info (ob_link_dml_op.cpp:71) [42661][T1002_L0_G0][T1002][YB426451F011-00064A745CCDFDB0-0-0] [lt=16][errcode=-4016] reverse link has invalid credentials(ret=-4016, user_name=, tenant_name=, passwd.empty()=true, host_name=, port=0)
[2026-02-10 17:33:11.520773] WDIAG send_reverse_link_info (ob_link_dml_op.cpp:72) [42661][T1002_L0_G0][T1002][YB426451F011-00064A745CCDFDB0-0-0] [lt=15][errcode=-4016] ORA-00600: internal error code, arguments: -4016, check if the database link was created with local credentials
[2026-02-10 17:33:11.520778] WDIAG [SQL.ENG] inner_execute_link_stmt (ob_link_dml_op.cpp:121) [42661][T1002_L0_G0][T1002][YB426451F011-00064A745CCDFDB0-0-0] [lt=5][errcode=-4016] failed to send reverse link info(ret=-4016, link_stmt=/*$BEFPARSEdblink_req_level=1*/ insert /*+ QUERY_TIMEOUT(10000000) FLASHBACK_READ_TX_UNCOMMITTED */into "SYS"."T_REMOTE"("ID1") select "VIEW1"."ID1" from "SYS"."T_LOCAL"@! "VIEW1")

解決方法

根據(jù)上面日志信息可以看到需要reverse link反向dblink,嘗試創(chuàng)建對(duì)應(yīng)dblink,測(cè)試可以正常操作數(shù)據(jù)

CREATE DATABASE LINK dblinktest2
  CONNECT TO TEST@Oracle IDENTIFIED BY "aaAA11__" OB HOST 'xx.xx.xx.xx:2883' CLUSTER "集群名"
  MY_NAME TEST01@Oracle IDENTIFIED BY "aaAA11__"  HOST 'xx.xx.xx.xx:2883' CLUSTER "集群名";


后續(xù)我們會(huì)持續(xù)分享更多實(shí)戰(zhàn)運(yùn)維干貨,記得關(guān)注不迷路,下次見(jiàn)~

精選推薦