My Oracle Support Banner

ORA-07445 [_align_cpy_1] When Using %TYPE (Doc ID 268989.1)

Last updated on APRIL 03, 2020

Applies to:

Oracle Database - Enterprise Edition - Version to [Release 9.2]
Information in this document applies to any platform.
This problem can occur on any platform.


NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the
Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material.
Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.


ORA-07445: exception encountered: core dump [__align_cpy_1()+48]

Stack Trace :-
ksedmp ssexhd sigacthandler align_cpy_1 pevm_MOVC_i pfrrun
peicnt kkxexe opiexe opiall0 kpoal8 opiodr
ttcpip opitsk opiino opiodr opidrv sou2o
main start

Simple Testcase :-
drop table t;
create table t (c1 char(3), c2 varchar2(3));
create or replace procedure prtest (i_c1 in varchar2, i_c2 in date) is
cursor cur (i_c1 t.c1%type, i_c2 t.c2%type ) is      
select * from t oprd
where c1 = i_c1
and c2 = i_c2;
open cur(i_c1, to_char(i_c2,'DY'));
close cur;
show err
-- enough for 32bit
exec prtest('ab cd',sysdate);
-- for 64bit
exec prtest('ab cdefgh',sysdate);

Note that '%type' is used in the line:

cursor (cur(i_c1 t.c1%type, i_c2 t.c2%type) is

Note :- Stack trace can differ. But if the workaround mentioned below works,
then you are hitting this bug.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.