Ошибка импорта файла .dmp в Oracle. - PullRequest
0 голосов
/ 28 июля 2011

Я пытаюсь импортировать файл .dmp с помощью команды impdp.Всякий раз, когда я пытаюсь это сделать, я получаю следующие журналы ошибок:

Import: Release 10.2.0.1.0 - Production on Wednesday, 27 July, 2011 19:22:18

Copyright (c) 2003, 2005, Oracle. All rights reserved.
;;;
Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** DUMPFILE=HIST_IR_APR_2011.dmp
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39083: Object type TABLE failed to create with error:
ORA-00439: feature not enabled: Partitioning
Failing sql is:
CREATE TABLE "DBO"."HIST_IR" ("IR_ID" NUMBER(9,0), "ELS_ID1" NUMBER(9,0), "ELS_ID2" NUMBER(9,0), "ZONE_ID" NUMBER(2,0) NOT NULL ENABLE, "TYPE" NUMBER(2,0) NOT NULL ENABLE, "START_TIME" DATE NOT NULL ENABLE, "END_TIME" DATE NOT NULL ENABLE, "ROAD_NAME" VARCHAR2(50) NOT NULL ENABLE, "UP_POINT" NUMBER(4,2), "DN_POINT" NUMBER(4,2), "UP_LINK_ID" NUMBER(9,0) NOT NULL ENABLE, "DN_LINK_ID" NUMBER
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
ORA-39112: Dependent object type OBJECT_GRANT:"DBO" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
ORA-39112: Dependent object type OBJECT_GRANT:"DBO" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
ORA-39112: Dependent object type OBJECT_GRANT:"DBO" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
ORA-39112: Dependent object type INDEX:"DBO"."INDX_HIST_IR_LOC_TYPE" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
ORA-39112: Dependent object type INDEX:"DBO"."INDX_HIST_IR_ROAD_NAME" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
ORA-39112: Dependent object type INDEX:"DBO"."INDX_HIST_IR_ELS_ID1" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
ORA-39112: Dependent object type INDEX:"DBO"."PK_HIST_IR" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
ORA-39112: Dependent object type INDEX:"DBO"."INDX_HIST_IR_START_TIME" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ORA-39112: Dependent object type CONSTRAINT:"DBO"."PK_HIST_IR" skipped, base object type TABLE:"DBO"."HIST_IR" creation failed
Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 10 error(s) at 19:22:21

Есть идеи, как избавиться от ошибок?

Также можно ли использовать Oracle Developer 6.0 для обработки этого файла .dmp без предварительногопридется импортировать это по вышеуказанной процедуре?

1 Ответ

1 голос
/ 28 июля 2011

Похоже, что в исходной базе данных включена опция секционирования и создана секционированная таблица.С другой стороны, в целевой базе данных нет параметра разделения.

Имеете ли вы лицензию на использование параметра разделения в целевой базе данных?Это дополнительная опция в дополнение к лицензии Enterprise Edition.Если у вас есть лицензия на ее использование, вы должны установить эту опцию перед импортом.

Если у вас нет лицензии на использование опции секционирования, что вы хотите случиться с секционированной таблицей?Вы хотите создать однораздельную таблицу в целевой базе данных и все равно загрузить все данные?Как вы хотите обрабатывать какие-либо локальные индексы в многораздельной таблице?

В последнем случае одним из вариантов будет первоначальный запуск импорта с указанным параметром INDEXFILE.Это запишет DDL для создания таблицы и индекса в текстовый файл.Вы можете зайти в этот текстовый файл, получить DDL для секционированной таблицы и индексов, изменить DDL, чтобы удалить параметры секционирования и добавить ключ секционирования для любых локальных индексов, и запустить новый DDL для целевой базы данных.Затем вы можете снова выполнить импорт с параметром IGNORE=Y, чтобы игнорировать ошибки создания, поскольку вы создали многораздельную таблицу вручную.Это импортирует все данные в однораздельную таблицу.У вас все еще могут быть ошибки в любом коде, который ссылается на таблицу и ожидает ее разбиения, и у вас могут возникнуть проблемы с производительностью, если запросы, попавшие в эту таблицу, требуют ее разбиения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...