ORA-39083 ORA-01403 On INDEX_STATISTICS

DataPump Import (IMPDP) Failed With Errors ORA-39083 ORA-1403 On INDEX_STATISTICS (Doc ID 755253.1)

Quando si effettua un import usando il parametero REMAP_SCHEMA può verificarsi l'errrore 

ORA-39083: Object type INDEX_STATISTICS failed to create with error:

ORA-01403: no data found

ORA-01403: no data found


L'errore si verifica perchè alcuni indici sono stati creati senza nome cioè in automatico dal sistema e quindi vengono persi in fase di import.

Ad esempio un indice

select object_name, object_type from user_objects;

OBJECT_NAME OBJECT_TYPE
------------------------------ -------------------
TEST0 TABLE
SYS_C009845 INDEX <-- Index associated with PK constraint.
TEST0INDEX INDEX

L'indice SYS_C009845 INDEX non verrà importato se si usa il REMAP_SCHEMA e quando l'import tenta di importare le statistiche per l'indice generato dal sistema in un secondo momento, non riesce perché manca l'indice generato dal sistema.

SOLUZIONE

1. Ignora ORA-39083 (Object type INDEX_STATISTICS failed to create with error) e ORA-01403 (no data found).

oppure

2. Crea indici con nome per le PK constraints neldatbase sorgente.
-- Invece di:
ALTER TABLE TEST ADD (PRIMARY KEY (COL1, COL2) USING INDEX TABLESPACE USERS);

-- Usare questo:
ALTER TABLE TEST ADD CONSTRAINT MY_PK PRIMARY KEY (COL1, COL2) USING INDEX TABLESPACE USERS);

oppure

3. Escludere gli indici nel DataPump import e successivamente importare gli indici.
In questo modo garantiamo che l'indice associato ai vincoli di chiave primaria verrà creato per primo.

$ impdp system/password remap_schema=test0:test1 exclude=index dumpfile=test0.dmp

$ impdp system/password remap_schema=test0:test1 include=index dumpfile=test0.dmp

Con la seguente query verificare se l'import è avvenuto con successo.

#> sqlplus test1/password

col object_name for a30
SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS;

OBJECT_NAME                    OBJECT_TYPE
------------------------------ -------------------
TEST0                          TABLE
SYS_C009868                    INDEX
TEST0INDEX                     INDEX

oppure

4. Non è raccomandato ma si può usare il classico imp ed exp.

Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database