我的过程是这样的:CREATE OR REPLACE package body proc_body as
procedure init(start_date date,end_date date) is
for rec in (这里是一个关联几个表的查询[R查询]) loop
......
end loop;
end ;
end proc_body;我创建了几个过程,用于初始化数据,直接在pl/sql dev里面运行,没有响应, 查正在运行的sql,没有过程的任何信息。在sqlplus中重新执行该过程,直接和Oracle服务器断开(报end of ... communication)
这些过程均在测试环境下测试通过,没有任何问题,但是在生产环境下硬是不能执行,查看oracle alert日志,每运行一次就会出现一条像下面这样的错误:
170 ORA-07445: 出现异常: 核心转储 [0000000100405A00] [SIGSEGV] [Address not mapped to object] [0x000000000] [] []
-------------------------------------------------------
173 ORA-07445: 出现异常: 核心转储 [0000000101C63D14] [SIGSEGV] [Address not mapped to object] [0xFFFFFFFFB33F03F8] [] []
---------------------------------------------------------
174 ORA-07445: 出现异常: 核心转储 [0000000100405A00] [SIGSEGV] [Address not mapped to object] [0x000000000] [] []
--------------------------------------------------------
177 ORA-07445: 出现异常: 核心转储 [0000000101C63D14] [SIGSEGV] [Address not mapped to object] [0xFFFFFFFFB33F03F8] [] []
----------------------------------------------------------------
178 ORA-07445: 出现异常: 核心转储 [0000000101C63D14] [SIGSEGV] [Address not mapped to object] [0xFFFFFFFFB33F03F8] [] []
dba说07445错误很难搞,直接将R查询提前运行插入到一张表中(create table txx as R查询)。于是过程就变成了这样:CREATE OR REPLACE package body proc_body as
procedure init is
for rec in (select * from txx) loop
......
end loop;
end ;
end proc_body;然后运行该过程,直接运行成功,数据初始化完成。 这个过程没有任何的远程操作,最后就这么给解决了。但是同样类型的过程,部署job跑,没有任何问题。Oracle ORA-30926Oracle Enterprise Manager 打开使用相关资讯 Oracle错误代码 ORA-07445
- ORA-07445: exception encountered (07/23/2015 15:03:34)
- Oracle错误代码大全 (02/16/2015 21:31:57)
- ORA-07445 [mdagun_iter+957] When (08/16/2014 20:25:09)
| - ORA-07445错误解决一例 (05/13/2015 19:27:34)
- Oracle BUG导致实例宕机:ORA- (10/27/2014 06:15:22)
- ORA-07445: 出现异常错误: 核心转 (04/26/2014 09:47:44)
|
本文评论 查看全部评论 (0)