Oracle数据库远程调用存储过程报错ora 02019的问题
目录
问题描述
今日维护的一个系统中,存储过程调用报错ora-02019。 前置机A有一个存储过程,大致逻辑如下:
第一步,通过dblink调用服务器B的一个存储过程,服务器B的存储过程往表C中插入一条数据
第二步,调用一个视图,该视图通过dblink从表C中查询插入的那条数据
目前是前置机A中的存储过程调用服务器B的存储过程那条语句报错ora-02019
排查思路
-
用tnsping测试了一下网络,是通的
-
调用前置机A的视图,能够通过dblink从服务器B中获取表数据,验证了dblink是没问题的
-
在服务器B本地调用存储过程,能够正常执行,表示服务器B中的存储过程没问题
-
初步猜测是事务问题,但是通过查询V$SESSION表没有相关事务,查询V$locked_object也没有发现被锁
-
试了下万能的重启大法,重启前置机A和服务器B的服务器和数据库,没解决问题
-
尝试在前置机A和服务器B新建一个存储过程,能够通过前置机A的存储过程调用服务器B的存储过程,有点尴尬
-
最后尝试了了copy前置机A的存储过程名和内容,删除原有的存储过程,重新创建存储过程,发现能够正常调用了。。。目前还没有排查出明确原因