mercredi 6 mai 2009

ORA-00600 suite à une migration à 10.2.0.4.0

Suite à la migration d'une base de données de la version 10.2.0.3.0 à 10.2.0.4.0, l'exécution du script de recompilation "utlrp.sql" provoquait l'erreur suivante :

ORA-00600: internal error code, arguments: [psdmsc.c: spawned type invalid],
[], [], [], [], [], [], []

Pour résoudre ce problème, il suffit de procéder comme suit :

cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
shutdown immediate
startup upgrade
@utlirp

Declare
MASK constant varchar2(80) := 'SYS_PLSQL_[0-9]+_([0-9]+DUMMY)_[12]';
dep_count number;
Begin
select count(*) into dep_count from dba_dependencies
where (referenced_owner, referenced_name, referenced_type) in
(select owner, object_name, object_type from dba_objects
where object_type = 'TYPE'
and regexp_like(object_name, MASK))
and not (type = 'TYPE' and regexp_like(name, MASK));

if (dep_count > 0) then
raise_application_error(-20001,
'Unknown dependent objects on system-generated types');
end if;

for r in (select owner, object_name from dba_objects
where object_type = 'TYPE'
and regexp_like(object_name, MASK))
loop
execute immediate 'drop type "'r.owner'"."'r.object_name
'" force';
end loop;
End;
/

Shutdown immediate
startup
@utlrp.sql

Réf. : Oracle Metalink, Note 726623.1

1 commentaire:

  1. Bonjour,
    Meme erreur en compilant un package dans un autre schema. Le nouveau schema n'avait pas le droit execute sur les types utilisés par le package.
    Le grant execute a suffi

    RépondreEffacer