> 데이터 베이스 > MySQL 튜토리얼 > oracle bug? ORA-07445 ,pl/sql for in()

oracle bug? ORA-07445 ,pl/sql for in()

WBOY
풀어 주다: 2016-06-07 17:26:39
원래의
1141명이 탐색했습니다.

我创建了几个过程,用于初始化数据,直接在pl/sql dev里面运行,没有响应, 查正在运行的sql,没有过程的任何信息。在sqlplus中重

我的过程是这样的:

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跑,没有任何问题。

linux

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿