Как я могу импортировать индексы на основе функций, используя impdp?
У меня есть несколько таблиц, которые используют индексы на основе функций (индексы, если вы предпочитаете). Эти индексы используют функции внутри пакетов, которые я определил. При импорте схемы пользователя может показаться, что сначала импортируются таблицы, затем индексы, а затем пакеты.
Я говорю худой, потому что я получаю ошибки, такие как следующее;
ORA-39083: Object type INDEX failed to create with error:
ORA-04067: not executed, package body "DEVELOPE.METAPHONE" does not exist
ORA-06508: PL/SQL: could not find program unit being called: "DEVELOPE.METAPHONE"
Failing sql is:
CREATE INDEX "DEVELOPE"."CLAIMS_PATIENT_INDEX_2" ON "DEVELOPE"."CLAIMS_PATIENT" (
"GENDER", "DEVELOPE"."METAPHONE"."GENPRIMKEY"("NAME_FIRSTNAME",3),
TO_NUMBER(TO_CHAR("DOB",'YYYY')), SUBSTR("ADDR_ZIP",1,3)) PCTFREE 10 INITRANS 2
MAXTRANS 166 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTEN
Есть ли в ImpDP параметры, которые решат эту проблему? Или другой обходной путь?
Если я создаю индекс после завершения impdp, все работает нормально.
1 ответ
Используйте опцию: content=data_only
или вы можете написать свой собственный импортер с помощью API DATAPUMP