某汽车集团数据库环境为linux5.8,oracle 11g rac 11.2.0.4。dblink所连接的数据库环境未知,业务系统在通过dblink进行数据更新时在出现如下错误:

ORA-00600: internal error code, arguments: [ORA-00600: internal error code, arguments: [kghstack_underflow_internal_1], [0x1103965E0], [], [], [], [], [], []ORA-02072: distributed database network protocol mismatch], [], [], [], [], [], [], [], [], [], [========= Dump for incident 264681 (ORA 600 [ORA-00600: internal error code, arguments: [kghstack_underflow_internal_1], [0x1103965E0], [], [], [], [], [], []ORA-]) ========

检查相关的错误信息跟踪文件tsp1_ora_23612_i264681.trc有如下信息:

Dump continued from file: /u01/app/oracle/diag/rdbms/tsp/tsp1/trace/tsp1_ora_23612.trcORA-00600: internal error code, arguments: [ORA-00600: internal error code, arguments: [kghstack_underflow_internal_1], [0x1103965E0], [], [], [], [], [], []ORA-02072: distributed database network protocol mismatch], [], [], [], [], [], [], [], [], [], [========= Dump for incident 264681 (ORA 600 [ORA-00600: internal error code, arguments: [kghstack_underflow_internal_1], [0x1103965E0], [], [], [], [], [], []ORA-]) ========*** 2015-01-18 17:55:15.413dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)----- Current SQL Statement for this session (sql_id=43ws7jmatt2yf) -----
MERGE INTO xxx@dblink1 R USING (SELECT DISTINCT SUBSTR(A.VIN,LENGTH(VIN)-7,LENGTH(A.VIN)) AS VIN,A.OFFSET_LON,A.OFFSET_LAT,A.UTC,A.ADDRESS,A.MILEAGE, B.ORDERNO,C.STATUSNAME,C.STATUSFLAG FROM aaa@dblink2 A,Tb B,tc C,ddd@dblink3 D WHERE LENGTH(VIN)>7 AND SUBSTR(A.VIN,LENGTH(VIN)-7,8)= B.CHASSISNUMBER AND B.CARSTATUS = C.STATUSFLAG AND A.VIN =D.LICENSEPLATE AND D.ISLOGOUT = 0 AND SUBSTR(B.ORDERNO,0,2) IN ('31','37','40') AND C.STATUSFLAG < 6 AND A.ADDRESS IS NOT NULL) D ON (R.ROW_ID='ssi'||D.VIN) WHEN MATCHED THEN UPDATE SET LONGITUDE=D.OFFSET_LON,DIMENSION=D.OFFSET_LAT,GPS_TIME = D.UTC,GPS_LOCATION=D.ADDRESS,GPS_LOCATION_SPLIT=D.ADDRESS,STATUS=D.STATUSNAME,GPS_MILEAGE=D.MILEAGE,GAUGE_MILEAGE='',CREATED_BY = 'ssi',LAST_UPD_BY='ssi',ORDER_NO=D.ORDERNO WHEN NOT MATCHED THEN INSERT (ROW_ID,CHASSIS_NO,LONGITUDE,DIMENSION,GPS_TIME,GPS_LOCATION,GPS_LOCATION_SPLIT,STATUS,GPS_MILEAGE,GAUGE_MILEAGE,CREATED_BY,LAST_UPD_BY,ORDER_NO) VALUES('ssi'||D.VIN,D.VIN,D.OFFSET_LON,D.OFFSET_LAT,D.UTC,D.ADDRESS,D.ADDRESS,D.STATUSNAME,D.MILEAGE,'','ssi','ssi',D.ORDERNO)----- PL/SQL Stack -----
----- PL/SQL Call Stack -----object      line  objecthandle    number  name0x2d3112bc0        33  package body DFCP.DFVL_DBLINK10x2d92769c8         1  anonymous block----- Call Stack Trace -----
calling              call     entry                argument values in hexlocation             type     point                (? means dubious value)-------------------- -------- -------------------- ----------------------------
skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
ksedst()+39          call     ksedst1()            000000000 ? 000000001 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
dbkedDefDump()+2746  call     ksedst()             000000000 ? 000000001 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
ksedmp()+41          call     dbkedDefDump()       000000003 ? 000000002 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
ksfdmp()+69          call     ksedmp()             000000003 ? 000000002 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
dbgexPhaseII()+1764  call     ksfdmp()             000000003 ? 000000002 ?7FFFD889F8E0 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
dbgexProcessError()  call     dbgexPhaseII()       2B585AE35730 ? 2B585AE3E7F0 ?
+2680                                              7FFFD88A8F38 ? 7FFFD889F9B8 ?7FFFD88A4460 ? 000000002 ?
dbgeExecuteForError  call     dbgexProcessError()  2B585AE35730 ? 2B585AE3E7F0 ?
()+88                                              000000001 ? 000000000 ?7FFFD88A4460 ? 000000002 ?
dbgePostErrorKGE()+  call     dbgeExecuteForError  2B585AE35730 ? 2B585AE3E7F0 ?
2136                          ()                   000000001 ? 000000001 ?000000000 ? 000000002 ?
dbkePostKGE_kgsf()+  call     dbgePostErrorKGE()   00C0CC9E0 ? 2B585B260040 ?
71                                                 000000258 ? 000000001 ?000000000 ? 000000002 ?
kgesev()+280         call     dbkePostKGE_kgsf()   00C0CC9E0 ? 2B585B260040 ?000000258 ? 000000001 ?000000000 ? 000000002 ?
ksesec1()+170        call     kgesev()             00C0CC9E0 ? 2B585B260040 ?000000258 ? 000000001 ?7FFFD88A9AE0 ? 000000002 ?
npierr()+878         call     ksesec1()            00C0CC9E0 ? 000000001 ?0000000AC ? 2B585B49DDE0 ?7FFFD88A9040 ? 00000000A ?
kpnerr()+240         call     npierr()             2B585B49C570 ? 000000258 ?000000000 ? 00000005E ?7FFFD88A9040 ? 2B585B49EE90 ?
kpnpst()+276         call     kpnerr()             2B585B49C570 ? 000000258 ?000000000 ? 00000005E ?7FFFD88ACA68 ? 2B585B49EE90 ?
upirtrc()+1919       call     kpnpst()             7FFFD88ACBE0 ? 000000258 ?000000023 ? 000000000 ?7FFFD88ACA68 ? 2B585B49EE90 ?
kpurcsc()+98         call     upirtrc()            7FFFD88ACBE0 ? 000000258 ?000000023 ? 000000000 ?7FFFD88ACA68 ? 2B585B4F4B10 ?
kpuexec()+10790      call     kpurcsc()            7FFFD88ACBE0 ? 000000258 ?000000023 ? 000000000 ?7FFFD88ACA68 ? 2B585B4F4B10 ?
kpnexe()+1517        call     kpuexec()            7FFFD88ACBE0 ? 000000258 ?7FFFD88ACA60 ? 000000000 ?7FFFD88ACA68 ? 7FFFD88B07B8 ?
opiexe()+32658       call     kpnexe()             2B585B2AF000 ? 2B585B4F4B10 ?2B585B507EB8 ? 2B585B19A950 ?000000001 ? 1000000000 ?
opipls()+2164        call     opiexe()             000000004 ? 000000005 ?2B585B507EB8 ? 2B585B19A950 ?000000001 ? 1000000000 ?
opiodr()+917         call     opipls()             000000066 ? 000000005 ?2B585B507EB8 ? 2B585B19A950 ?000000001 ? 1000000000 ?
rpidrus()+211        call     opiodr()             000000066 ? 000000007 ?7FFFD88B3960 ? 2B585B19A950 ?000000001 ? 1000000000 ?
skgmstack()+148      call     rpidrus()            7FFFD88B3338 ? 000000007 ?7FFFD88B3960 ? 2B585B19A950 ?000000001 ? 1000000000 ?
rpiswu2()+690        call     skgmstack()          7FFFD88B3310 ? 00C0CC600 ?00000F618 ? 009698A9C ?7FFFD88B3338 ? 1000000000 ?
rpidrv()+1327        call     rpiswu2()            2C511BF60 ? 00000006D ?2C511BFE4 ? 000000002 ?7FFFD88B3338 ? 1000000000 ?
psddr0()+473         call     rpidrv()             00000000B ? 000000066 ?7FFFD88B3960 ? 000000038 ?7FFFD88B3338 ? 1000000000 ?
psdnal()+457         call     psddr0()             00000000B ? 000000066 ?7FFFD88B3960 ? 000000030 ?7FFFD88B3338 ? 1000000000 ?
pevm_EXECC()+314     call     psdnal()             7FFFD88B50E0 ? 7FFFD88B52F0 ?7FFFD88B3960 ? 2B585B2A2AE8 ?22EC69508 ? 1000000000 ?
pfrinstr_EXECC()+80  call     pevm_EXECC()         2B585B1D5CA0 ? 2B585B409640 ?000000020 ? 2B585B2A2AE8 ?22EC69508 ? 1000000000 ?
pfrrun_no_tool()+63  call     pfrinstr_EXECC()     2B585B2A7258 ? 21D5E8DB4 ?2B585B2A72C8 ? 2B585B2A2AE8 ?22EC69508 ? 2B5800000020 ?
pfrrun()+627         call     pfrrun_no_tool()     2B585B2A7258 ? 21D5E8DB4 ?2B585B2A72C8 ? 2B585B2A2AE8 ?22EC69508 ? 2B5800000020 ?
plsql_run()+649      call     pfrrun()             2B585B2A7258 ? 21D5E8DB4 ?2B585B2A72C8 ? 7FFFD88B50E0 ?22EC69508 ? 2B5800000020 ?
peicnt()+302         call     plsql_run()          2B585B2A7258 ? 21D5E8DB4 ?2B585B2A72C8 ? 7FFFD88B50E0 ?22EC69508 ? 2B5800000020 ?
kkxexe()+525         call     peicnt()             7FFFD88B50E0 ? 2B585B2A7258 ?2B585B2A72C8 ? 7FFFD88B50E0 ?22EC69508 ? 000000000 ?
opiexe()+18001       call     kkxexe()             2B585B2ABF80 ? 2B585B2A7258 ?2B585B2A72C8 ? 7FFFD88B50E0 ?22EC69508 ? 000000000 ?
kpoal8()+2118        call     opiexe()             000000049 ? 000000003 ?2B585B2A72C8 ? 7FFFD88B50E0 ?22EC69508 ? 000000000 ?
opiodr()+917         call     kpoal8()             00000005E ? 000000003 ?2B585B2A72C8 ? 7FFFD88B50E0 ?22EC69508 ? 000000000 ?
ttcpip()+2183        call     opiodr()             00000005E ? 00000001C ?7FFFD88B9910 ? 7FFFD88B50E0 ?22EC69508 ? 000000000 ?
opitsk()+1710        call     ttcpip()             00C0EA630 ? 00999BA90 ?7FFFD88B9910 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
opiino()+969         call     opitsk()             00C0EA638 ? 000000000 ?7FFFD88B9910 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
opiodr()+917         call     opiino()             00000003C ? 000000004 ?7FFFD88BB108 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
opidrv()+570         call     opiodr()             00000003C ? 000000004 ?7FFFD88BB108 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
sou2o()+103          call     opidrv()             00000003C ? 000000004 ?7FFFD88BB108 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
opimai_real()+133    call     sou2o()              7FFFD88BB0E0 ? 00000003C ?000000004 ? 7FFFD88BB108 ?7FFFD88B9368 ? 7FFFD88B990C ?
ssthrdmain()+265     call     opimai_real()        000000002 ? 7FFFD88BB2D0 ?000000004 ? 7FFFD88BB108 ?7FFFD88B9368 ? 7FFFD88B990C ?
main()+201           call     ssthrdmain()         000000002 ? 7FFFD88BB2D0 ?000000001 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
__libc_start_main()  call     main()               000000002 ? 7FFFD88BB478 ?
+244                                               000000001 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?
_start()+41          call     __libc_start_main()  000A29108 ? 000000002 ?7FFFD88BB468 ? 000000000 ?7FFFD88B9368 ? 7FFFD88B990C ?--------------------- Binary Stack Dump ---------------------

在执行如下语句时报错:

merge into xxx@dblink1 rusing (select distinct substr(a.vin, length(vin) - 7, length(a.vin)) as vin,a.offset_lon,a.offset_lat,a.utc,a.address,a.mileage,b.orderno,c.statusname,c.statusflagfrom aaa@dblink2 a,tbchassisbind                 b,car_staterecordword           c, 
              ddd@dblink3 dwhere length(vin) > 7and substr(a.vin, length(vin) - 7, 8) = b.chassisnumberand b.carstatus = c.statusflagand a.vin = d.licenseplateand d.islogout = 0and substr(b.orderno, 0, 2) in ('31', '37', '40')and c.statusflag < 6and a.address is not null) don (r.row_id = 'ssi' || d.VIN)when MATCHED thenupdateset LONGITUDE          = d.offset_lon,DIMENSION          = d.offset_lat,gps_time           = d.utc,GPS_LOCATION       = d.address,GPS_LOCATION_SPLIT = d.address,STATUS             = d.statusname,GPS_MILEAGE        = d.mileage,GAUGE_MILEAGE      = '',created_by         = 'ssi',last_upd_by        = 'ssi',order_no           = d.ordernowhen NOT MATCHED theninsert(row_id,chassis_no,LONGITUDE,DIMENSION,GPS_TIME,GPS_LOCATION,GPS_LOCATION_SPLIT,STATUS,GPS_MILEAGE,GAUGE_MILEAGE,created_by,last_upd_by,order_no)VALUES('ssi' || d.vin,d.vin,d.offset_lon,d.offset_lat,d.utc,d.address,d.address,d.statusname,d.mileage,'','ssi','ssi',d.orderno)

后面经询问了解到通过dblink所连接的远端数据库版本要低,而生产数据库升级前的版本为11.2.0.1,通过dblink进行数据更新是没有问题。这种通过dblink,且数据库版本不同的情况下经常遇到这种问题。在这种情况下,一般的处理方法就是通过dblink执行最简单的select,insert,update,delete语句看是否报错,如果没有出现故障,我们就可以将使用merge语法的SQL修改成最简单的select,insert,update,delete语句来达到相同的目的。也就像有多条路到达一个目的地,其中一条路因为某些原因不能通行,就改走另一路。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26015009/viewspace-1410189/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26015009/viewspace-1410189/

dblink ora-00600 ora-02072 ora-02063相关推荐

  1. oracle掉电后ora 00600,ORA-00600: 内部错误代码, 参数: [kcratr1_lastbwr](转)

    原因: 可能是非法关机或掉电造成,以下是出 现的问题及解决方法: C:/Documents and Settings /Administrator>sqlplus SQL*Plus: Relea ...

  2. oracle crf路径,说说 ora.crf 那些事

    Oracle数据库环境尤其是RAC环境对下层的基础环境要求非常严格,常常会因为CPU不足,内存不足.网络,IO等原因导致数据库hang或脑裂驱逐, 这里如果没有系统信息数据的支撑, 可能会陷入SA和D ...

  3. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  4. oracle未获得监听器,无监听文件listener.ora的动态监听小例试验

    在数据库服务器上,监听文件的位置是:$ORACLE_HOME/network/admin/listener.ora 试验如下: 移动db服务器上的监听文件,如下命令: [oracle@ENMOEDU ...

  5. oracle sqlnet配置,sqlnet.ora文件配置详解

    一.于sqlnet.ora的说明: *****************************************************FROM ORACLE11G DOCS********** ...

  6. oracle12c ora 12560,oracle11g报ora-12560:tns连接异常的解决方法

    1. 找到listener.ora监听文件,具体位置:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora 2 ...

  7. oracle初始化spfileORCL.ora文件损坏修复

    $ORACLE_HOME/dbs目录下的的spfileORCL.ora是一个二进制文件,不能手动编辑,修改后会导致oracle数据库无法正常启动.某日在操作数据库的过程中不慎将其修改,并且没有备份.我 ...

  8. linux ora 12542,怎样解决 ora-12542 address in used 异常

    怎样解决 ora-12542 address in used 异常 怎样解决 ora-12542 address in used 异常 日期:2014-05-17 浏览次数:20528 次 怎样解决 ...

  9. oracle配置listener.ora和tnsnames.ora文件

    oracle图形化配置listener.ora文件 概述: 监听的特点: 具有独立性 连接建立流程 默认端口号1521 *服务端需要listener.ora,客户端需要tnsname.ora文件 1. ...

  10. PLSQL Developer安装、OCI库、tnsnames.ora配置

    第一步:configure-preferences 第二步:文件夹 network/admin,在admin目录下建一个后缀名为.ora的文件:tnsnames.ora 文件内容如下: MyOracl ...

最新文章

  1. 【概率论与数理统计】假设检验
  2. android代码记录日期,Android日期和时间选择器实现代码
  3. Hyper-V + CentOS7 网络设置(视频教程)
  4. Http(s)与后台交互方式
  5. .NET(C#)基于Socket编程实现平行主机之间网络通讯有图片传输的Demo演示
  6. Malta中any函数
  7. 基于jQuery实现自动或点击切换效果
  8. 类似mysqlhotcopy备份mysql myisam脚本
  9. php拖拽上传大文件,如何实现文件拖拽上传
  10. jni ReferenceTable overflow
  11. Linux Tomcat Cluster
  12. Docker服务,堆栈和分布式应用程序捆绑
  13. 遗传算法(Java模拟)
  14. echart4.0 map支持dataset实例
  15. 《python深度学习》学习笔记与代码实现(第八章:8.1,8.2,8.3)
  16. java office 集成开发_[转载]Java集成PageOffice在线打开编辑word文件 - Spring Boot
  17. ps cc 生成html,ps cc中怎么生成图像资源?
  18. IIS服务器管理资源的几个方法和工具
  19. 九联unt401h装软件_九联UNT401H南传刷机包 V1.0 免费版
  20. 滴滴出行为什么要推一个“全民拼车日”?

热门文章

  1. 数据分析思路的套路攻略
  2. 电脑感觉,电脑进入系统突然之间感觉像慢动作
  3. 由区块链引发的密码技术讨论(五)哈希
  4. ORA-08002: sequence SEQ_TBL_ONLINE.CURRVAL is not yet defined in this session
  5. Dreamweaver cc等各个版本系统要求(最低配置要求)
  6. 外贸网站最简单的添加社交分享的代码-Share Buttons Code for Any Website - AddToAny
  7. ps3手柄连Linux,树莓派连接 Dualshock3(ps3手柄)
  8. java 爬取网页版的酷狗音乐,下载到本地
  9. 【区块链技术工坊47期】众享比特:区块链医疗方案和分布式认证系统
  10. python 软件工程,软件工程实践之 django/python | 码农网