昨天下午,我写完一个存储过程提交编译。“Beng”弹出一个对话框
会话所在的进程被KILL !赶紧查看跟踪文件发现:
ORA-03144 连接已断开
重试,问题依旧。PING 数据库服务器 OK!
查ORA-03114
ORA-03114: | not connected to ORACLE |
Cause: | A call to Oracle was attempted when no connection was established. Usually this happens because a user-written program has not logged on. It may happen if communication trouble causes a disconnection. In addition, this message could occur when ALTER SYSTEM KILL SESSION or ALTER SYSTEM DISCONNECT SESSION were issued with the IMMEDIATE qualifier because, in those cases, the client's connection to the database is terminated without waiting for the client to issue a request |
Errors in file /opt/db/oracle/admin/SHWL/udump/shwl_ora_5385.trc:
ORA-07445: exception encountered: core dump [pdz9M08_Type_Kind()+6] [SIGSEGV] [Address not mapped to object] [0xC] [] []
打开跟踪文件:
*** ACTION NAME:(Main session) 2009-11-10 15:43:08.417
*** MODULE NAME:(PL/SQL Developer) 2009-11-10 15:43:08.417
*** SERVICE NAME:(SHWL) 2009-11-10 15:43:08.417
*** SESSION ID:(123.7) 2009-11-10 15:43:08.417
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0xc, PC: [0xb5f6130, pdz9M08_Type_Kind()+6]
Registers:
%eax: 0x00000000 %ebx: 0xb7ebbff8 %ecx: 0x0c81b748
%edx: 0x00000000 %edi: 0x00000c58 %esi: 0x00000003
%esp: 0xbfbfc22c %ebp: 0xbfbfc22c %eip: 0x0b5f6130
%efl: 0x00210297
pdz9M08_Type_Kind()+0 (0xb5f612a) push %ebp
pdz9M08_Type_Kind()+1 (0xb5f612b) mov %esp,%ebp
pdz9M08_Type_Kind()+3 (0xb5f612d) mov 0x8(%ebp),%edx
> pdz9M08_Type_Kind()+6 (0xb5f6130) mov 0xc(%edx),%eax
pdz9M08_Type_Kind()+9 (0xb5f6133) mov %ebp,%esp
pdz9M08_Type_Kind()+11 (0xb5f6135) pop %ebp
pdz9M08_Type_Kind()+12 (0xb5f6136) ret
pdz9M08_Type_Kind()+13 (0xb5f6137) nop
*** 2009-11-10 15:43:08.420
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [pdz9M08_Type_Kind()+6] [SIGSEGV] [Address not mapped to object] [0xC] [] []
Current SQL statement for this session:
procedure Billing(p_OrderID IN Orders.Orderid%type,
p_BranchCompany IN Orders.Destinationbranch%type,-
p_CashierEmployeeNO IN Employee.Employeeno%type
)
IS
v_order ORDERS%ROWTYPE;
BEGIN
select * bulk collect into v_order from orders where rderid=p_OrderID;
end CustomerPickup;
下面是调用堆栈及进程信息太长了略
原来只有一条件记录时不能用bulk collect into
但oracle 也不应该这样,直接提示一条记录不能用bulk 得了。
~~~~~~~~~~~··
这还是我打开旧的代码文件编译时发现里面没有bulk 才发现是这个问题.
但不知为何?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9683969/viewspace-619428/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9683969/viewspace-619428/