ORA-00604问题的解决方法

客户遇到个问题,描述如下:--环境是ORACLE 9.2.0.8

(语句及场景非真实了,网上找的,情况是一致的)

创建了一个DB_LINK连接另一个Oracle数据库。 select * from tablename@dblinkname;

单句执行没问题,但是把这句SQL写到存储过程内:

create or replace procedure prc_test

is

begin

insert into test

select * from tablename@dblinkname;

commit;

end;

就发生如下错误,存储过程编译不通过:

Compilation errors for PROCEDURE prc_test

Error: PL/SQL: ORA-04052: 在查找远程对象 tablename@dblinkname 时出错

      ORA-00604: 递归 SQL 层 1 出现错误

      ORA-03106: 致命的双工通信协议错误

      ORA-02063: 紧接着line(源于XXX(被连接的数据库服务名))

Line: 4

Text: insert into test

Error: PL/SQL: SQL Statement ignored

Line: 4

Text: insert into test

#########################################################

以下metalink上解决问题方法,打上对应的补丁即可

--这里我未打补丁,只是找出原因向客户说明而已。

Subject:  Errors ORA-00604 And ORA-03106 During Procedure Compilation

 Doc ID:  577347.1 Type:  PROBLEM

 Modified Date :  26-MAY-2008 Status:  MODERATED

Applies to:

PL/SQL - Version: 9.2.0.4 to 9.2.0.8

This problem can occur on any platform.

This note applies only if the underlying Oracle Client is below 9.2.0.8 Patch 4

Symptoms

While trying to run pl/sql code involving queries which access remote objects, you may endup getting below errors:

PL/SQL: ORA-04052: error occurred when looking up remote object <object name>

ORA-00604: error occurred at recursive SQL level 1

ORA-03106: fatal two-task communication proto error

ORA-02063: preceding line from AFQ

When the same query is run outside pl/sql block it runs perfectly.

Cause

You are most probably hitting the Bug 5866805.

Bug 5866805 duplicate of Bug 5576340 which is itself a duplicate of Bug 5671074.

Solution

The Bug 5671074 IS fixed IN 9.2 .0 .8 Patch 4 OR above.

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2025-01-20 23:32:51

ORA-00604问题的解决方法的相关文章

Oracle中“无监听程序”和“协议适配器错误”的解决方法

一.发现问题 有些杀毒程序会清掉一些oracle注册表信息或删除oracle的bin目录下的一些.exe文件,导致数据库无法启动,下面来分析一下最常见的问题. 二.无监听程序 1.什么是监听器(LISTENER) 监听器是建立在服务端的,用于监听客户端向数据库服务器端提出的连接请求. 配置文件在\db_1\NETWORK\ADMIN\listener.ora. 2.本地服务名(Tnsname) 本地服务名是建立在客户端的,需要连哪些服务器数据库,就将该数据库服务端的信息配置. 配置文件在\db_

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

【ora 错误及解决方法】ORA-01652

ORA-01652:unable to extend temp segment by num in tablespace name 产生原因:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一旦没有足够的可分配空间或者分配不连续就会出现上述的现象.    解决方法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上.为了给表空间增加空间,就必须增加数据文件.先查看一下指定表空间的可用空间

ORACLE中一些问题的解决方法

oracle|解决|问题  ORACLE中一些问题的解决方法 在ORACLE管理和应用中,难免出现一些问题.通常,ORACLE会显示错误标号和简短说明,我们可以根据显示的信息去处理问题.但有时显示的信息很少,处理起来有些麻烦.本文讨论了这样几个问题,根据一些资料和经验,提出了解决方法.   一.             ORA-00604 error occurred at recursive SQL level 这个信息表明,在数据库执行内部SQL语句时,发生了错误.比如,要往表中插入一行数据

ora-01991:故障的解决方法

ora-01991:???????'D:\oracle\ora92\database\PWDorcl.ora' 原因是口令文件失效了 解决方法:在 init里面把 remote_login_passwordfile = NONE或者重建orapwd file=pwdoracl.ora password=口令 entries=99

EXP-00008: ORACLE error 904 encountered的解决方法

error|oracle|解决 [错误情况] [oracle@ccdevsvr admin]$ exp wmap/pass@jackeydb Export: Release 8.1.7.4.0 - Production on Fri Oct 8 11:28:37 2004 (c) Copyright 2000 Oracle Corporation.  All rights reserved. Connected to: Oracle9i Release 9.2.0.1.0 - Productio

Oracle监听器服务不能启动的解决方法_oracle

Oracle监听器服务不启动的时候可采取以下措施予以解决: 一.连接主机字符串,提示没有监听器 SVRMGR> connect internal/oracle@orcl: ORA-12541: TNS:no listener SVRMGR> 二.运行监听器,提示地址的协议专用组件指定不正确 在开始菜单运行中键入lsnrctl LSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 08-6月 -2006 14:31:53 Co

ORA-12154 和 TNS-03505 监听错误的解决方法

                                   ORA-12154 和 TNS-03505 监听错误的解决方法   今天在笔记本上本来想做个exp的测试的时候突然报错: ORA-03505:TNS: 无法解析指定的连接标识符   用tnsping 一下: C:\>tnsping wwl;   TNS Ping Utilityfor 64-bit Windows: Version 10.2.0.4.0 - Production on 21-APR-2012 18:27:52

Oracle数据库TNS常见错误的解决方法汇总_oracle

TNS是Oracle Net的一部分,是专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,就必须配置TNS.本文主要讲述了Oracle数据库TNS常见错误的解决方法如下: 1.ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏.若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用"Net Configuration Assistant"

Oracle Database Server &#039;TNS Listener&#039;远程数据投毒漏洞(CVE-2012-1675)的完美解决方法_oracle

环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675) •1.确定解决方案 •2.应用解决方案 •3.验证修补情况 •4.Reference 1.确定解决方案 安全厂家给出的解决办法: 链接:http://www.oracle.com/technetwork/topics/security/alert-c