透明网关连接sqlserver报 ORA-03113
本帖最后由 am196 于 2013-12-26 10:39 编辑OS oracle linux 6.3
database 11.2.0.3.0 双节点RAC
sqlserver 2008 R2
用透明网关连接到sqlserver数据库上,在sqlplus中可以正常查询sqlserver的数据。
但是把这放到过程里面编译就会报ORA-03113错误
Line: 1 Column: 1 Type: error Text: ORA-03113: 通信通道的文件结尾
进程 ID: 15247
会话 ID: 1192 序列号: 1624
附件是详细的trace信息
这个过程是以前写的,开始可以正常运行的,现在不知道为什么,一编译就出错。
以下是trace的摘要信息
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0.3/dbhome_1
System name: Linux
Node name: chnap-itd64
Release: 2.6.39-200.24.1.el6uek.x86_64
Version: #1 SMP Sat Jun 23 02:39:07 EDT 2012
Machine: x86_64
Instance name: dcrac1
Redo thread mounted by this instance: 1
Oracle process number: 41
Unix process pid: 15247, image: oracle@chnap-itd64
*** 2013-12-26 09:44:29.390
*** SESSION ID:(1192.1624) 2013-12-26 09:44:29.390
*** CLIENT ID:() 2013-12-26 09:44:29.390
*** SERVICE NAME:(DCRAC01) 2013-12-26 09:44:29.390
*** MODULE NAME:(PLEdit32.exe) 2013-12-26 09:44:29.390
*** ACTION NAME:() 2013-12-26 09:44:29.390
Dump continued from file: /u01/base/oracle/diag/rdbms/dcrac/dcrac1/trace/dcrac1_ora_15247.trc
ORA-07445: : תopixrb()+4235] []
========= Dump for incident 675645 (ORA 7445 ) ========
----- Beginning of Customized Incident Dump(s) -----
Exception
Registers:
%rax: 0x0000000000000001 %rbx: 0x0000000000000000 %rcx: 0x0000000000000030
%rdx: 0x0000000000000001 %rdi: 0x0000000000000000 %rsi: 0x0000000000000002
%rsp: 0x00007fff7cb05890 %rbp: 0x00007fff7cb059a0 %r8: 0x00007f9252623b40
%r9: 0x0000000000000000 %r10: 0x0000000000000000 %r11: 0x0000000000000000
%r12: 0x0000000000000010 %r13: 0x0000000000000002 %r14: 0x0000000000000001
%r15: 0x0000006cf5f061c8 %rip: 0x0000000006061635 %efl: 0x0000000000010202
opixrb()+4219 (0x6061625) jmp 0x606194f
opixrb()+4224 (0x606162a) mov -0x80(%rbp),%eax
opixrb()+4227 (0x606162d) test %eax,%eax
opixrb()+4229 (0x606162f) jz 0x6061856
> opixrb()+4235 (0x6061635) movzwl (%r10,%r9),%eax
opixrb()+4240 (0x606163a) test $0x800,%eax
opixrb()+4245 (0x606163f) je 0x6061679
opixrb()+4247 (0x6061641) mov 0x38(%r10,%r9),%rax
opixrb()+4252 (0x6061646) mov 0xe0(%rax),%rdx
*** 2013-12-26 09:44:29.395
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=0gcpw4f2d1sds) -----
SELECT :"SYS_B_0" DUMMY FROM "dbo"."sysusers"@GROOT33 WHERE "name" = :"SYS_B_1" 本帖最后由 anbob 于 2013-12-26 11:31 编辑
----- Current SQL Statement for this session (sql_id=0gcpw4f2d1sds) -----
SELECT :"SYS_B_0" DUMMY FROM "dbo"."sysusers"@GROOT33 WHERE "name" = :"SYS_B_1"
你的CURSOR_SHARING 参数应该是force, 从你的trace 文件中已确认
“
cursor_sharing = FORCE
optimizer_features_enable= 11.2.0.3
”
可能的话修改CURSOR_SHARING = EXACT,或者使用CURSOR_SHARING_EXACT hint anbob 发表于 2013-12-26 11:06 static/image/common/back.gif
你的CURSOR_SHARING 参数应该是force, 从你的trace 文件中已确认
“
cursor_sharing = FORCE
alter system set cursor_sharing='EXACT';
非常感谢,经过这样的修改没有报错了。
页:
[1]