import/export con Locator da 19c a 12c

Ultimamente mi dedico molto a fare dump da un database all’altro, spesso mi va dritta, ma spesso mi ritrovo errori più o meno noti. L’ultimo che mi è capitato mi era ignoto, mi è capitato facendo un dump da un Oracle 19c con Spatial (che dalla 19c è incluso nella standard edition) a una 12.1.0.2 con Locator:

Elaborazione dell'object type SCHEMA_EXPORT/TABLE/INDEX/DOMAIN_INDEX/INDEX
ORA-39083: Creazione dell'object type INDEX:"HR"."IDXDEPT_SP01" non riuscita con l'errore:
ORA-06550: riga 8, colonna 18:
PLS-00302: component 'CHANGE_IMP_SDO_GEOM_METADATA' must be declared
ORA-06550: riga 8, colonna 3:
PL/SQL: Statement ignored
L'istruzione SQL che contiene l'errore Þ:
BEGIN
declare
schema_name varchar2(200);
begin
select sys_context('userenv', 'CURRENT_SCHEMA') into schema_name from SYS.DUAL;
if ( (schema_name != sys_context('userenv','current_user')) or
(schema_

Una rapida ricerca su google mi ha portato alla nota “PLS-00302: component ‘CHANGE_IMP_SDO_GEOM_METADATA’ must be declared (Doc ID 2092034.1)” la quale spiega che all’oggetto MDSYS.SDO_META è stato aggiunto il metodo CHANGE_IMP_SDO_GEOM_METADATA per gestire l’opzione REMAP_SCHEMA di datapump. Per sistemare occorre quindi applicare la patch indicata (Patch.19501696). Non avendo io la possibilità di installare tale patch ho trovato come unica soluzione importare a mano i metadati e ricreare gli indici spaziali.

E’ curioso notare, leggendo la nota del bug che il problema riguarda la versione 11.2.0.3 (25 agosto 2014) ed è indicato come risolto nella versione 12.2 In effetti io importando prima da una versione 11.2.0.4 a 19c e non ho avuto problemi però ho anche fatto un import da 11.2.0.4 a 12.1 e non ho avuto problemi eppure trovo disponibile la patch anche per la versione 11.2.0.4, il che mi farebbe presumere che non sia inclusa in quella versione e di fatto non c’è menzione di questo, quindi, boh?

Un pensiero su “import/export con Locator da 19c a 12c

Lascia un commento